From a13036b9dec20bed655a9ab39f9c4cbd40209c1f Mon Sep 17 00:00:00 2001 From: anperederi Date: Tue, 26 Mar 2024 22:51:20 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=AA=20Tests=20ok?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sources/composer.lock | 546 ++--- Sources/public/index.php | 12 +- .../altorouter/altorouter/AltoRouter.php | 3 - Sources/vendor/autoload.php | 2 +- Sources/vendor/composer/autoload_classmap.php | 36 +- Sources/vendor/composer/autoload_psr4.php | 1 - Sources/vendor/composer/autoload_real.php | 10 +- Sources/vendor/composer/autoload_static.php | 52 +- Sources/vendor/composer/installed.json | 593 +++--- Sources/vendor/composer/installed.php | 166 +- .../nikic/php-parser/.php-cs-fixer.dist.php | 31 - Sources/vendor/nikic/php-parser/Makefile | 10 - .../lib/PhpParser/Internal/TokenStream.php | 6 +- .../php-parser/lib/PhpParser/Parser/Php7.php | 1864 ++++++++--------- .../php-parser/lib/PhpParser/Parser/Php8.php | 1864 ++++++++--------- .../lib/PhpParser/ParserAbstract.php | 2 +- .../php-parser/lib/PhpParser/PhpVersion.php | 2 +- .../lib/PhpParser/compatibility_tokens.php | 7 + .../nikic/php-parser/phpstan-baseline.neon | 236 --- .../vendor/nikic/php-parser/phpstan.neon.dist | 8 - Sources/vendor/phar-io/manifest/CHANGELOG.md | 11 +- Sources/vendor/phar-io/manifest/README.md | 158 +- Sources/vendor/phar-io/manifest/composer.json | 1 + Sources/vendor/phar-io/manifest/composer.lock | 24 +- .../manifest/src/ManifestDocumentMapper.php | 17 +- .../phar-io/manifest/src/ManifestLoader.php | 7 +- .../manifest/src/ManifestSerializer.php | 12 +- .../exceptions/ElementCollectionException.php | 7 +- .../manifest/src/exceptions/Exception.php | 7 +- .../InvalidApplicationNameException.php | 7 +- .../src/exceptions/InvalidEmailException.php | 7 +- .../src/exceptions/InvalidUrlException.php | 7 +- .../exceptions/ManifestDocumentException.php | 13 +- .../ManifestDocumentLoadingException.php | 6 +- .../ManifestDocumentMapperException.php | 13 +- .../exceptions/ManifestElementException.php | 13 +- .../exceptions/ManifestLoaderException.php | 9 + .../manifest/src/values/Application.php | 3 +- .../manifest/src/values/ApplicationName.php | 10 +- .../phar-io/manifest/src/values/Author.php | 26 +- .../manifest/src/values/AuthorCollection.php | 12 +- .../src/values/AuthorCollectionIterator.php | 11 +- .../manifest/src/values/BundledComponent.php | 3 +- .../src/values/BundledComponentCollection.php | 12 +- .../BundledComponentCollectionIterator.php | 11 +- .../src/values/CopyrightInformation.php | 3 +- .../phar-io/manifest/src/values/Email.php | 8 +- .../phar-io/manifest/src/values/Extension.php | 3 +- .../phar-io/manifest/src/values/Library.php | 3 +- .../phar-io/manifest/src/values/License.php | 3 +- .../phar-io/manifest/src/values/Manifest.php | 5 +- .../src/values/PhpExtensionRequirement.php | 3 +- .../src/values/PhpVersionRequirement.php | 3 +- .../manifest/src/values/Requirement.php | 3 +- .../src/values/RequirementCollection.php | 12 +- .../values/RequirementCollectionIterator.php | 11 +- .../phar-io/manifest/src/values/Type.php | 3 +- .../phar-io/manifest/src/values/Url.php | 12 +- .../manifest/src/xml/AuthorElement.php | 7 +- .../src/xml/AuthorElementCollection.php | 3 +- .../manifest/src/xml/BundlesElement.php | 3 +- .../manifest/src/xml/ComponentElement.php | 3 +- .../src/xml/ComponentElementCollection.php | 3 +- .../manifest/src/xml/ContainsElement.php | 3 +- .../manifest/src/xml/CopyrightElement.php | 3 +- .../manifest/src/xml/ElementCollection.php | 17 +- .../phar-io/manifest/src/xml/ExtElement.php | 3 +- .../manifest/src/xml/ExtElementCollection.php | 3 +- .../manifest/src/xml/ExtensionElement.php | 3 +- .../manifest/src/xml/LicenseElement.php | 3 +- .../manifest/src/xml/ManifestDocument.php | 40 +- .../manifest/src/xml/ManifestElement.php | 14 +- .../phar-io/manifest/src/xml/PhpElement.php | 3 +- .../manifest/src/xml/RequiresElement.php | 3 +- .../php-code-coverage/ChangeLog-10.1.md | 97 - .../vendor/phpunit/php-code-coverage/LICENSE | 2 +- .../phpunit/php-code-coverage/composer.json | 24 +- .../php-code-coverage/src/CodeCoverage.php | 44 +- .../src/Data/ProcessedCodeCoverageData.php | 6 +- .../src/Data/RawCodeCoverageData.php | 4 +- .../php-code-coverage/src/Driver/Driver.php | 8 +- .../src/Driver/XdebugDriver.php | 2 +- .../phpunit/php-code-coverage/src/Filter.php | 35 - .../src/Node/AbstractNode.php | 6 +- .../php-code-coverage/src/Node/Builder.php | 8 +- .../php-code-coverage/src/Node/CrapIndex.php | 2 +- .../php-code-coverage/src/Node/Directory.php | 12 +- .../php-code-coverage/src/Node/File.php | 54 +- .../php-code-coverage/src/Report/Clover.php | 16 +- .../src/Report/Cobertura.php | 16 +- .../php-code-coverage/src/Report/Crap4j.php | 6 +- .../src/Report/Html/CustomCssFile.php | 2 +- .../src/Report/Html/Facade.php | 10 +- .../src/Report/Html/Renderer.php | 24 +- .../src/Report/Html/Renderer/Dashboard.php | 20 +- .../src/Report/Html/Renderer/Directory.php | 12 +- .../src/Report/Html/Renderer/File.php | 76 +- .../php-code-coverage/src/Report/PHP.php | 4 +- .../php-code-coverage/src/Report/Text.php | 44 +- .../src/Report/Thresholds.php | 2 +- .../src/Report/Xml/BuildInformation.php | 6 +- .../src/Report/Xml/Coverage.php | 2 +- .../src/Report/Xml/Facade.php | 22 +- .../php-code-coverage/src/Report/Xml/File.php | 14 +- .../php-code-coverage/src/Report/Xml/Node.php | 8 +- .../src/Report/Xml/Project.php | 16 +- .../src/Report/Xml/Report.php | 16 +- .../src/Report/Xml/Source.php | 2 +- .../src/Report/Xml/Tests.php | 4 +- .../src/Report/Xml/Totals.php | 20 +- .../php-code-coverage/src/Report/Xml/Unit.php | 10 +- .../src/StaticAnalysis/CacheWarmer.php | 2 +- .../StaticAnalysis/CachingFileAnalyser.php | 8 +- .../StaticAnalysis/CodeUnitFindingVisitor.php | 2 +- .../ExecutableLinesFindingVisitor.php | 29 +- .../IgnoredLinesFindingVisitor.php | 2 + .../StaticAnalysis/ParsingFileAnalyser.php | 10 +- .../php-code-coverage/src/Util/Filesystem.php | 6 +- .../phpunit/php-code-coverage/src/Version.php | 2 +- .../phpunit/php-file-iterator/ChangeLog.md | 7 + .../vendor/phpunit/php-file-iterator/LICENSE | 2 +- .../phpunit/php-file-iterator/composer.json | 8 +- .../php-file-iterator/src/ExcludeIterator.php | 2 +- .../phpunit/php-file-iterator/src/Factory.php | 2 +- .../php-file-iterator/src/Iterator.php | 2 +- .../phpunit/php-invoker/.psalm/baseline.xml | 8 +- .../phpunit/php-invoker/.psalm/config.xml | 2 + .../vendor/phpunit/php-invoker/ChangeLog.md | 7 + Sources/vendor/phpunit/php-invoker/LICENSE | 2 +- .../vendor/phpunit/php-invoker/SECURITY.md | 29 +- .../vendor/phpunit/php-invoker/composer.json | 11 +- .../phpunit/php-invoker/src/Invoker.php | 22 +- ...cessControlExtensionNotLoadedException.php | 25 + .../phpunit/php-text-template/ChangeLog.md | 8 + .../vendor/phpunit/php-text-template/LICENSE | 2 +- .../phpunit/php-text-template/composer.json | 8 +- .../php-text-template/src/Template.php | 93 +- Sources/vendor/phpunit/php-timer/ChangeLog.md | 7 + Sources/vendor/phpunit/php-timer/LICENSE | 2 +- Sources/vendor/phpunit/php-timer/SECURITY.md | 29 +- .../vendor/phpunit/php-timer/composer.json | 11 +- .../vendor/phpunit/php-timer/src/Duration.php | 12 +- .../php-timer/src/ResourceUsageFormatter.php | 10 +- .../vendor/phpunit/php-timer/src/Timer.php | 2 +- .../vendor/phpunit/phpunit/ChangeLog-10.5.md | 70 - .../vendor/phpunit/phpunit/DEPRECATIONS.md | 107 +- Sources/vendor/phpunit/phpunit/LICENSE | 2 +- Sources/vendor/phpunit/phpunit/README.md | 2 +- Sources/vendor/phpunit/phpunit/composer.json | 40 +- Sources/vendor/phpunit/phpunit/composer.lock | 461 ++-- Sources/vendor/phpunit/phpunit/phpunit | 59 +- Sources/vendor/phpunit/phpunit/phpunit.xsd | 5 +- Sources/vendor/phpunit/phpunit/schema/8.5.xsd | 8 +- Sources/vendor/phpunit/phpunit/schema/9.2.xsd | 8 +- Sources/vendor/phpunit/phpunit/schema/9.5.xsd | 8 +- .../src/Event/Dispatcher/DirectDispatcher.php | 4 + .../src/Event/Emitter/DispatchingEmitter.php | 107 +- .../phpunit/src/Event/Emitter/Emitter.php | 49 +- .../src/Event/Events/Application/Finished.php | 6 +- .../src/Event/Events/Application/Started.php | 6 +- .../Events/Test/Assertion/AssertionFailed.php | 76 - .../Assertion/AssertionFailedSubscriber.php | 22 - .../Test/Assertion/AssertionSucceeded.php | 76 - .../AssertionSucceededSubscriber.php | 22 - .../Events/Test/ComparatorRegistered.php | 6 +- .../HookMethod/AfterLastTestMethodCalled.php | 8 +- .../AfterLastTestMethodFinished.php | 8 +- .../Test/HookMethod/AfterTestMethodCalled.php | 8 +- .../HookMethod/AfterTestMethodFinished.php | 8 +- .../BeforeFirstTestMethodCalled.php | 8 +- .../BeforeFirstTestMethodErrored.php | 10 +- .../BeforeFirstTestMethodFinished.php | 8 +- .../HookMethod/BeforeTestMethodCalled.php | 8 +- .../HookMethod/BeforeTestMethodFinished.php | 8 +- .../Test/HookMethod/PostConditionCalled.php | 8 +- .../Test/HookMethod/PostConditionFinished.php | 8 +- .../Test/HookMethod/PreConditionCalled.php | 8 +- .../Test/HookMethod/PreConditionFinished.php | 8 +- .../Events/Test/Issue/ConsideredRisky.php | 8 +- .../Test/Issue/DeprecationTriggered.php | 18 +- .../Events/Test/Issue/ErrorTriggered.php | 14 +- .../Events/Test/Issue/NoticeTriggered.php | 16 +- .../Test/Issue/PhpDeprecationTriggered.php | 18 +- .../Events/Test/Issue/PhpNoticeTriggered.php | 16 +- .../Events/Test/Issue/PhpWarningTriggered.php | 16 +- .../Issue/PhpunitDeprecationTriggered.php | 8 +- .../Test/Issue/PhpunitErrorTriggered.php | 8 +- .../Test/Issue/PhpunitWarningTriggered.php | 8 +- .../Events/Test/Issue/WarningTriggered.php | 16 +- .../Lifecycle/DataProviderMethodCalled.php | 8 +- .../Lifecycle/DataProviderMethodFinished.php | 8 +- .../Event/Events/Test/Lifecycle/Finished.php | 8 +- .../Test/Lifecycle/PreparationFailed.php | 6 +- .../Test/Lifecycle/PreparationStarted.php | 6 +- .../Event/Events/Test/Lifecycle/Prepared.php | 6 +- .../src/Event/Events/Test/Outcome/Errored.php | 8 +- .../src/Event/Events/Test/Outcome/Failed.php | 10 +- .../Events/Test/Outcome/MarkedIncomplete.php | 8 +- .../src/Event/Events/Test/Outcome/Passed.php | 6 +- .../src/Event/Events/Test/Outcome/Skipped.php | 8 +- .../Events/Test/PrintedUnexpectedOutput.php | 6 +- .../Test/TestDouble/MockObjectCreated.php | 6 +- .../MockObjectForAbstractClassCreated.php | 6 +- ...jectForIntersectionOfInterfacesCreated.php | 6 +- .../TestDouble/MockObjectForTraitCreated.php | 6 +- .../TestDouble/MockObjectFromWsdlCreated.php | 16 +- .../TestDouble/PartialMockObjectCreated.php | 8 +- .../Test/TestDouble/TestProxyCreated.php | 8 +- .../Test/TestDouble/TestStubCreated.php | 6 +- ...StubForIntersectionOfInterfacesCreated.php | 6 +- .../Events/TestRunner/BootstrapFinished.php | 6 +- .../Event/Events/TestRunner/Configured.php | 6 +- .../TestRunner/DeprecationTriggered.php | 6 +- .../Events/TestRunner/EventFacadeSealed.php | 4 +- .../Events/TestRunner/ExecutionAborted.php | 4 +- .../Events/TestRunner/ExecutionFinished.php | 4 +- .../Events/TestRunner/ExecutionStarted.php | 6 +- .../TestRunner/ExtensionBootstrapped.php | 8 +- .../TestRunner/ExtensionLoadedFromPhar.php | 10 +- .../src/Event/Events/TestRunner/Finished.php | 4 +- .../TestRunner/GarbageCollectionDisabled.php | 4 +- .../TestRunner/GarbageCollectionEnabled.php | 4 +- .../TestRunner/GarbageCollectionTriggered.php | 4 +- .../src/Event/Events/TestRunner/Started.php | 4 +- .../Events/TestRunner/WarningTriggered.php | 6 +- .../src/Event/Events/TestSuite/Filtered.php | 6 +- .../src/Event/Events/TestSuite/Finished.php | 6 +- .../src/Event/Events/TestSuite/Loaded.php | 6 +- .../src/Event/Events/TestSuite/Skipped.php | 8 +- .../src/Event/Events/TestSuite/Sorted.php | 10 +- .../src/Event/Events/TestSuite/Started.php | 6 +- ...hanOneDataSetFromDataProviderException.php | 20 - .../phpunit/phpunit/src/Event/Facade.php | 21 +- .../phpunit/src/Event/Value/ClassMethod.php | 6 +- .../src/Event/Value/ComparisonFailure.php | 8 +- .../Event/Value/ComparisonFailureBuilder.php | 2 +- .../Event/Value/Runtime/OperatingSystem.php | 6 +- .../phpunit/src/Event/Value/Runtime/PHP.php | 18 +- .../src/Event/Value/Runtime/PHPUnit.php | 6 +- .../src/Event/Value/Runtime/Runtime.php | 8 +- .../src/Event/Value/Telemetry/Duration.php | 6 +- .../Telemetry/GarbageCollectorStatus.php | 26 +- .../src/Event/Value/Telemetry/HRTime.php | 11 +- .../src/Event/Value/Telemetry/Info.php | 12 +- .../src/Event/Value/Telemetry/MemoryUsage.php | 4 +- .../Php81GarbageCollectorStatusProvider.php | 4 +- .../Php83GarbageCollectorStatusProvider.php | 2 +- .../src/Event/Value/Telemetry/Snapshot.php | 10 +- .../src/Event/Value/Telemetry/System.php | 8 +- .../Value/Telemetry/SystemMemoryMeter.php | 2 +- .../Event/Value/Telemetry/SystemStopWatch.php | 2 +- .../Telemetry/SystemStopWatchWithOffset.php | 2 + .../phpunit/src/Event/Value/Test/Phpt.php | 2 +- .../phpunit/src/Event/Value/Test/Test.php | 4 +- .../src/Event/Value/Test/TestCollection.php | 4 +- .../Test/TestData/DataFromDataProvider.php | 6 +- .../Test/TestData/DataFromTestDependency.php | 2 +- .../Event/Value/Test/TestData/TestData.php | 4 +- .../Test/TestData/TestDataCollection.php | 40 +- .../phpunit/src/Event/Value/Test/TestDox.php | 8 +- .../src/Event/Value/Test/TestDoxBuilder.php | 12 +- .../src/Event/Value/Test/TestMethod.php | 14 +- .../Event/Value/Test/TestMethodBuilder.php | 17 +- .../src/Event/Value/TestSuite/TestSuite.php | 8 +- .../Value/TestSuite/TestSuiteBuilder.php | 6 +- .../Value/TestSuite/TestSuiteForTestClass.php | 8 +- ...TestSuiteForTestMethodWithDataProvider.php | 10 +- .../Value/TestSuite/TestSuiteWithName.php | 2 +- .../phpunit/src/Event/Value/Throwable.php | 12 +- .../src/Event/Value/ThrowableBuilder.php | 4 +- .../phpunit/phpunit/src/Framework/Assert.php | 116 +- .../src/Framework/Assert/Functions.php | 76 + .../src/Framework/Attributes/After.php | 2 +- .../src/Framework/Attributes/AfterClass.php | 2 +- .../Framework/Attributes/BackupGlobals.php | 4 +- .../Attributes/BackupStaticProperties.php | 4 +- .../src/Framework/Attributes/Before.php | 2 +- .../src/Framework/Attributes/BeforeClass.php | 2 +- .../Attributes/CodeCoverageIgnore.php | 24 - .../src/Framework/Attributes/CoversClass.php | 4 +- .../Framework/Attributes/CoversFunction.php | 4 +- .../Framework/Attributes/CoversNothing.php | 2 +- .../src/Framework/Attributes/DataProvider.php | 4 +- .../Attributes/DataProviderExternal.php | 6 +- .../src/Framework/Attributes/Depends.php | 4 +- .../Framework/Attributes/DependsExternal.php | 6 +- .../DependsExternalUsingDeepClone.php | 6 +- .../DependsExternalUsingShallowClone.php | 6 +- .../Framework/Attributes/DependsOnClass.php | 4 +- .../DependsOnClassUsingDeepClone.php | 4 +- .../DependsOnClassUsingShallowClone.php | 4 +- .../Attributes/DependsUsingDeepClone.php | 4 +- .../Attributes/DependsUsingShallowClone.php | 4 +- .../Attributes/DoesNotPerformAssertions.php | 2 +- .../ExcludeGlobalVariableFromBackup.php | 4 +- .../ExcludeStaticPropertyFromBackup.php | 6 +- .../src/Framework/Attributes/Group.php | 4 +- .../Attributes/IgnoreClassForCodeCoverage.php | 44 - .../Attributes/IgnoreDeprecations.php | 2 +- .../IgnoreFunctionForCodeCoverage.php | 44 - .../IgnoreMethodForCodeCoverage.php | 59 - .../src/Framework/Attributes/Large.php | 2 +- .../src/Framework/Attributes/Medium.php | 2 +- .../Framework/Attributes/PostCondition.php | 2 +- .../src/Framework/Attributes/PreCondition.php | 2 +- .../Attributes/PreserveGlobalState.php | 4 +- .../Framework/Attributes/RequiresFunction.php | 4 +- .../Framework/Attributes/RequiresMethod.php | 6 +- .../Attributes/RequiresOperatingSystem.php | 4 +- .../RequiresOperatingSystemFamily.php | 4 +- .../src/Framework/Attributes/RequiresPhp.php | 4 +- .../Attributes/RequiresPhpExtension.php | 6 +- .../Framework/Attributes/RequiresPhpunit.php | 4 +- .../Framework/Attributes/RequiresSetting.php | 6 +- .../Attributes/RunClassInSeparateProcess.php | 2 +- .../Attributes/RunInSeparateProcess.php | 2 +- .../RunTestsInSeparateProcesses.php | 2 +- .../src/Framework/Attributes/Small.php | 2 +- .../phpunit/src/Framework/Attributes/Test.php | 2 +- .../src/Framework/Attributes/TestDox.php | 4 +- .../src/Framework/Attributes/TestWith.php | 23 +- .../src/Framework/Attributes/TestWithJson.php | 21 +- .../src/Framework/Attributes/Ticket.php | 4 +- .../src/Framework/Attributes/UsesClass.php | 4 +- .../src/Framework/Attributes/UsesFunction.php | 4 +- .../Attributes/WithoutErrorHandler.php | 2 +- .../Constraint/Cardinality/GreaterThan.php | 6 +- .../Constraint/Cardinality/IsEmpty.php | 2 +- .../Constraint/Cardinality/LessThan.php | 6 +- .../src/Framework/Constraint/Constraint.php | 16 +- .../Framework/Constraint/Equality/IsEqual.php | 26 +- .../Equality/IsEqualCanonicalizing.php | 6 +- .../Equality/IsEqualIgnoringCase.php | 6 +- .../Constraint/Equality/IsEqualWithDelta.php | 6 +- .../Constraint/Exception/ExceptionCode.php | 8 +- .../ExceptionMessageIsOrContains.php | 4 +- ...ceptionMessageMatchesRegularExpression.php | 4 +- .../src/Framework/Constraint/IsIdentical.php | 18 +- .../src/Framework/Constraint/JsonMatches.php | 2 +- .../Constraint/Object/ObjectEquals.php | 2 +- .../Constraint/Object/ObjectHasProperty.php | 4 +- .../Constraint/Operator/LogicalNot.php | 4 + .../Constraint/String/StringContains.php | 8 +- .../Constraint/Traversable/ArrayHasKey.php | 6 +- .../Constraint/Traversable/IsList.php | 2 +- .../Traversable/TraversableContains.php | 8 +- .../Traversable/TraversableContainsOnly.php | 5 +- .../Constraint/Type/IsInstanceOf.php | 2 +- .../src/Framework/Exception/Exception.php | 2 +- .../Exception/ExpectationFailedException.php | 2 +- .../Framework/ExecutionOrderDependency.php | 12 +- .../MockObject/ConfigurableMethod.php | 10 +- .../MockObject/Generator/Generator.php | 48 +- .../MockObject/Generator/MockClass.php | 8 +- .../MockObject/Generator/MockTrait.php | 6 +- .../Generator/templates/doubled_method.tpl | 15 + .../Generator/templates/proxied_method.tpl | 15 + .../src/Framework/MockObject/MockBuilder.php | 81 +- .../MockObject/Runtime/Api/Method.php | 2 +- .../MockObject/Runtime/Api/MockObjectApi.php | 26 + .../Runtime/Interface/StubInternal.php | 2 + .../MockObject/Runtime/Invocation.php | 16 +- .../Runtime/MethodNameConstraint.php | 2 +- .../Runtime/ReturnValueGenerator.php | 2 +- .../MockObject/Runtime/Rule/MethodName.php | 4 +- .../MockObject/Runtime/Stub/Exception.php | 4 +- .../Runtime/Stub/ReturnArgument.php | 4 +- .../MockObject/Runtime/Stub/ReturnStub.php | 4 +- .../Runtime/Stub/ReturnValueMap.php | 4 +- .../phpunit/src/Framework/TestBuilder.php | 15 +- .../phpunit/src/Framework/TestCase.php | 939 +++++---- .../phpunit/src/Framework/TestRunner.php | 26 +- .../phpunit/src/Framework/TestSize/Known.php | 2 +- .../phpunit/src/Framework/TestSize/Large.php | 2 +- .../phpunit/src/Framework/TestSize/Medium.php | 2 +- .../phpunit/src/Framework/TestSize/Small.php | 2 +- .../src/Framework/TestSize/TestSize.php | 2 +- .../src/Framework/TestSize/Unknown.php | 2 +- .../src/Framework/TestStatus/Deprecation.php | 6 +- .../src/Framework/TestStatus/Error.php | 6 +- .../src/Framework/TestStatus/Failure.php | 6 +- .../src/Framework/TestStatus/Incomplete.php | 6 +- .../src/Framework/TestStatus/Known.php | 6 +- .../src/Framework/TestStatus/Notice.php | 6 +- .../src/Framework/TestStatus/Risky.php | 6 +- .../src/Framework/TestStatus/Skipped.php | 6 +- .../src/Framework/TestStatus/Success.php | 6 +- .../src/Framework/TestStatus/TestStatus.php | 8 +- .../src/Framework/TestStatus/Unknown.php | 6 +- .../src/Framework/TestStatus/Warning.php | 6 +- .../phpunit/src/Framework/TestSuite.php | 44 +- .../phpunit/src/Logging/EventLogger.php | 10 +- .../Logging/JUnit/Subscriber/Subscriber.php | 4 +- .../Subscriber/TestErroredSubscriber.php | 2 +- .../JUnit/Subscriber/TestFailedSubscriber.php | 2 +- .../Subscriber/TestFinishedSubscriber.php | 2 +- .../TestMarkedIncompleteSubscriber.php | 2 +- .../TestPreparationFailedSubscriber.php | 2 +- .../TestPreparationStartedSubscriber.php | 2 +- .../Subscriber/TestPreparedSubscriber.php | 2 +- .../TestRunnerExecutionFinishedSubscriber.php | 2 +- .../Subscriber/TestSkippedSubscriber.php | 2 +- .../TestSuiteFinishedSubscriber.php | 2 +- .../Subscriber/TestSuiteStartedSubscriber.php | 2 +- .../TeamCity/Subscriber/Subscriber.php | 4 +- .../TestConsideredRiskySubscriber.php | 2 +- .../Subscriber/TestErroredSubscriber.php | 2 +- .../Subscriber/TestFailedSubscriber.php | 2 +- .../Subscriber/TestFinishedSubscriber.php | 2 +- .../TestMarkedIncompleteSubscriber.php | 2 +- .../Subscriber/TestPreparedSubscriber.php | 2 +- .../TestRunnerExecutionFinishedSubscriber.php | 2 +- .../Subscriber/TestSkippedSubscriber.php | 2 +- .../TestSuiteFinishedSubscriber.php | 2 +- .../Subscriber/TestSuiteStartedSubscriber.php | 2 +- .../src/Logging/TestDox/HtmlRenderer.php | 2 +- .../src/Logging/TestDox/NamePrettifier.php | 38 +- .../src/Logging/TestDox/PlainTextRenderer.php | 15 +- .../TestResult/Subscriber/Subscriber.php | 4 +- .../TestConsideredRiskySubscriber.php | 2 +- .../Subscriber/TestErroredSubscriber.php | 2 +- .../Subscriber/TestFailedSubscriber.php | 2 +- .../Subscriber/TestFinishedSubscriber.php | 2 +- .../TestMarkedIncompleteSubscriber.php | 2 +- .../Subscriber/TestPassedSubscriber.php | 2 +- .../Subscriber/TestPreparedSubscriber.php | 2 +- .../Subscriber/TestSkippedSubscriber.php | 2 +- .../Logging/TestDox/TestResult/TestResult.php | 8 +- .../TestResult/TestResultCollection.php | 4 +- .../TestResult/TestResultCollector.php | 164 +- .../phpunit/phpunit/src/Metadata/After.php | 2 +- .../phpunit/src/Metadata/AfterClass.php | 2 +- .../phpunit/src/Metadata/Api/CodeCoverage.php | 144 +- .../phpunit/src/Metadata/Api/DataProvider.php | 80 +- .../phpunit/src/Metadata/Api/Dependencies.php | 2 +- .../phpunit/src/Metadata/Api/Groups.php | 18 +- .../phpunit/src/Metadata/Api/Requirements.php | 2 +- .../phpunit/src/Metadata/BackupGlobals.php | 4 +- .../src/Metadata/BackupStaticProperties.php | 4 +- .../phpunit/phpunit/src/Metadata/Before.php | 2 +- .../phpunit/src/Metadata/BeforeClass.php | 2 +- .../phpunit/phpunit/src/Metadata/Covers.php | 4 +- .../phpunit/src/Metadata/CoversClass.php | 4 +- .../src/Metadata/CoversDefaultClass.php | 4 +- .../phpunit/src/Metadata/CoversFunction.php | 4 +- .../phpunit/src/Metadata/CoversNothing.php | 2 +- .../phpunit/src/Metadata/DataProvider.php | 6 +- .../phpunit/src/Metadata/DependsOnClass.php | 8 +- .../phpunit/src/Metadata/DependsOnMethod.php | 10 +- .../src/Metadata/DoesNotPerformAssertions.php | 2 +- ...otSupportedForInternalClassesException.php | 3 +- .../Exception/ReflectionException.php | 3 +- .../ExcludeGlobalVariableFromBackup.php | 4 +- .../ExcludeStaticPropertyFromBackup.php | 6 +- .../phpunit/phpunit/src/Metadata/Group.php | 4 +- .../Metadata/IgnoreClassForCodeCoverage.php | 52 - .../src/Metadata/IgnoreDeprecations.php | 2 +- .../IgnoreFunctionForCodeCoverage.php | 52 - .../Metadata/IgnoreMethodForCodeCoverage.php | 67 - .../phpunit/phpunit/src/Metadata/Metadata.php | 54 +- .../src/Metadata/MetadataCollection.php | 36 +- .../Metadata/Parser/Annotation/Registry.php | 4 - .../src/Metadata/Parser/AnnotationParser.php | 39 + .../src/Metadata/Parser/AttributeParser.php | 79 +- .../src/Metadata/Parser/ParserChain.php | 6 +- .../phpunit/src/Metadata/Parser/Registry.php | 4 - .../phpunit/src/Metadata/PostCondition.php | 2 +- .../phpunit/src/Metadata/PreCondition.php | 2 +- .../src/Metadata/PreserveGlobalState.php | 4 +- .../phpunit/src/Metadata/RequiresFunction.php | 4 +- .../phpunit/src/Metadata/RequiresMethod.php | 6 +- .../src/Metadata/RequiresOperatingSystem.php | 4 +- .../RequiresOperatingSystemFamily.php | 4 +- .../phpunit/src/Metadata/RequiresPhp.php | 4 +- .../src/Metadata/RequiresPhpExtension.php | 6 +- .../phpunit/src/Metadata/RequiresPhpunit.php | 4 +- .../phpunit/src/Metadata/RequiresSetting.php | 6 +- .../Metadata/RunClassInSeparateProcess.php | 2 +- .../src/Metadata/RunInSeparateProcess.php | 2 +- .../Metadata/RunTestsInSeparateProcesses.php | 2 +- .../phpunit/phpunit/src/Metadata/Test.php | 2 +- .../phpunit/phpunit/src/Metadata/TestDox.php | 4 +- .../phpunit/phpunit/src/Metadata/TestWith.php | 29 +- .../phpunit/phpunit/src/Metadata/Uses.php | 4 +- .../phpunit/src/Metadata/UsesClass.php | 4 +- .../phpunit/src/Metadata/UsesDefaultClass.php | 4 +- .../phpunit/src/Metadata/UsesFunction.php | 4 +- .../Version/ComparisonRequirement.php | 6 +- .../Version/ConstraintRequirement.php | 4 +- .../src/Metadata/Version/Requirement.php | 2 +- .../src/Metadata/WithoutErrorHandler.php | 2 +- .../phpunit/src/Runner/Baseline/Generator.php | 4 +- .../phpunit/src/Runner/Baseline/Issue.php | 17 +- .../phpunit/src/Runner/Baseline/Reader.php | 2 +- .../Baseline/RelativePathCalculator.php | 4 +- .../Runner/Baseline/Subscriber/Subscriber.php | 4 +- .../TestTriggeredDeprecationSubscriber.php | 2 +- .../TestTriggeredNoticeSubscriber.php | 2 +- .../TestTriggeredPhpDeprecationSubscriber.php | 2 +- .../TestTriggeredPhpNoticeSubscriber.php | 2 +- .../TestTriggeredPhpWarningSubscriber.php | 2 +- .../TestTriggeredWarningSubscriber.php | 2 +- .../phpunit/src/Runner/Baseline/Writer.php | 2 +- .../phpunit/src/Runner/CodeCoverage.php | 4 - .../phpunit/src/Runner/ErrorHandler.php | 8 +- .../Extension/ExtensionBootstrapper.php | 9 +- .../phpunit/src/Runner/Extension/Facade.php | 17 - .../Runner/Extension/ParameterCollection.php | 4 +- .../src/Runner/Extension/PharLoader.php | 2 +- .../Filter/ExcludeGroupFilterIterator.php | 7 +- .../phpunit/src/Runner/Filter/Factory.php | 39 +- .../src/Runner/Filter/GroupFilterIterator.php | 16 +- .../Filter/IncludeGroupFilterIterator.php | 7 +- .../src/Runner/Filter/NameFilterIterator.php | 79 +- .../Runner/Filter/TestIdFilterIterator.php | 3 +- .../ExecutionFinishedSubscriber.php | 2 +- .../Subscriber/ExecutionStartedSubscriber.php | 2 +- .../Subscriber/Subscriber.php | 4 +- .../Subscriber/TestFinishedSubscriber.php | 2 +- .../phpunit/src/Runner/PhptTestCase.php | 21 +- .../Runner/ResultCache/DefaultResultCache.php | 8 +- .../Runner/ResultCache/NullResultCache.php | 2 +- .../ResultCache/Subscriber/Subscriber.php | 4 +- .../TestConsideredRiskySubscriber.php | 2 +- .../Subscriber/TestErroredSubscriber.php | 2 +- .../Subscriber/TestFailedSubscriber.php | 2 +- .../Subscriber/TestFinishedSubscriber.php | 2 +- .../TestMarkedIncompleteSubscriber.php | 2 +- .../Subscriber/TestPreparedSubscriber.php | 2 +- .../Subscriber/TestSkippedSubscriber.php | 2 +- .../TestSuiteFinishedSubscriber.php | 2 +- .../Subscriber/TestSuiteStartedSubscriber.php | 2 +- ...BeforeTestClassMethodErroredSubscriber.php | 2 +- .../Subscriber/ExecutionStartedSubscriber.php | 2 +- .../TestResult/Subscriber/Subscriber.php | 4 +- .../TestConsideredRiskySubscriber.php | 2 +- .../Subscriber/TestErroredSubscriber.php | 2 +- .../Subscriber/TestFailedSubscriber.php | 2 +- .../Subscriber/TestFinishedSubscriber.php | 2 +- .../TestMarkedIncompleteSubscriber.php | 2 +- .../Subscriber/TestPreparedSubscriber.php | 2 +- ...stRunnerTriggeredDeprecationSubscriber.php | 2 +- .../TestRunnerTriggeredWarningSubscriber.php | 2 +- .../Subscriber/TestSkippedSubscriber.php | 2 +- .../TestSuiteFinishedSubscriber.php | 2 +- .../Subscriber/TestSuiteSkippedSubscriber.php | 2 +- .../Subscriber/TestSuiteStartedSubscriber.php | 2 +- .../TestTriggeredDeprecationSubscriber.php | 2 +- .../TestTriggeredErrorSubscriber.php | 2 +- .../TestTriggeredNoticeSubscriber.php | 2 +- .../TestTriggeredPhpDeprecationSubscriber.php | 2 +- .../TestTriggeredPhpNoticeSubscriber.php | 2 +- .../TestTriggeredPhpWarningSubscriber.php | 2 +- ...tTriggeredPhpunitDeprecationSubscriber.php | 2 +- .../TestTriggeredPhpunitErrorSubscriber.php | 2 +- .../TestTriggeredPhpunitWarningSubscriber.php | 2 +- .../TestTriggeredWarningSubscriber.php | 2 +- .../src/Runner/TestResult/TestResult.php | 46 +- .../phpunit/phpunit/src/Runner/Version.php | 7 +- .../phpunit/src/TextUI/Application.php | 44 +- .../Commands/AtLeastVersionCommand.php | 4 +- .../Commands/GenerateConfigurationCommand.php | 2 +- .../Command/Commands/ListGroupsCommand.php | 10 +- .../Commands/ListTestSuitesCommand.php | 4 +- .../Commands/ListTestsAsTextCommand.php | 4 +- .../Commands/ListTestsAsXmlCommand.php | 83 +- .../Commands/MigrateConfigurationCommand.php | 42 +- .../Command/Commands/ShowHelpCommand.php | 4 +- .../Command/Commands/ShowVersionCommand.php | 2 +- .../Command/Commands/VersionCheckCommand.php | 42 +- .../Commands/WarmCodeCoverageCacheCommand.php | 6 +- .../phpunit/src/TextUI/Command/Result.php | 6 +- .../src/TextUI/Configuration/Builder.php | 4 +- .../src/TextUI/Configuration/Cli/Builder.php | 102 +- .../Configuration/Cli/Configuration.php | 282 ++- .../Cli/XmlConfigurationFileFinder.php | 6 +- .../TextUI/Configuration/Configuration.php | 547 +++-- .../src/TextUI/Configuration/Merger.php | 53 +- .../src/TextUI/Configuration/PhpHandler.php | 2 +- .../src/TextUI/Configuration/Registry.php | 3 +- .../src/TextUI/Configuration/SourceFilter.php | 2 +- .../TextUI/Configuration/TestSuiteBuilder.php | 16 +- .../TextUI/Configuration/Value/Constant.php | 6 +- .../Value/ConstantCollection.php | 4 +- .../Value/ConstantCollectionIterator.php | 9 +- .../TextUI/Configuration/Value/Directory.php | 4 +- .../Value/DirectoryCollection.php | 4 +- .../Value/DirectoryCollectionIterator.php | 9 +- .../Value/ExtensionBootstrap.php | 6 +- .../Value/ExtensionBootstrapCollection.php | 4 +- .../ExtensionBootstrapCollectionIterator.php | 9 +- .../src/TextUI/Configuration/Value/File.php | 4 +- .../Configuration/Value/FileCollection.php | 4 +- .../Value/FileCollectionIterator.php | 9 +- .../Configuration/Value/FilterDirectory.php | 8 +- .../Value/FilterDirectoryCollection.php | 4 +- .../FilterDirectoryCollectionIterator.php | 9 +- .../src/TextUI/Configuration/Value/Group.php | 4 +- .../Configuration/Value/GroupCollection.php | 4 +- .../Value/GroupCollectionIterator.php | 9 +- .../TextUI/Configuration/Value/IniSetting.php | 6 +- .../Value/IniSettingCollection.php | 4 +- .../Value/IniSettingCollectionIterator.php | 9 +- .../src/TextUI/Configuration/Value/Php.php | 24 +- .../src/TextUI/Configuration/Value/Source.php | 34 +- .../Configuration/Value/TestDirectory.php | 29 +- .../Value/TestDirectoryCollection.php | 4 +- .../Value/TestDirectoryCollectionIterator.php | 9 +- .../TextUI/Configuration/Value/TestFile.php | 34 +- .../Value/TestFileCollection.php | 4 +- .../Value/TestFileCollectionIterator.php | 9 +- .../TextUI/Configuration/Value/TestSuite.php | 10 +- .../Value/TestSuiteCollection.php | 4 +- .../Value/TestSuiteCollectionIterator.php | 9 +- .../TextUI/Configuration/Value/Variable.php | 8 +- .../Value/VariableCollection.php | 4 +- .../Value/VariableCollectionIterator.php | 9 +- .../Xml/CodeCoverage/CodeCoverage.php | 93 +- .../Xml/CodeCoverage/Report/Clover.php | 4 +- .../Xml/CodeCoverage/Report/Cobertura.php | 4 +- .../Xml/CodeCoverage/Report/Crap4j.php | 6 +- .../Xml/CodeCoverage/Report/Html.php | 20 +- .../Xml/CodeCoverage/Report/Php.php | 4 +- .../Xml/CodeCoverage/Report/Text.php | 8 +- .../Xml/CodeCoverage/Report/Xml.php | 4 +- .../Configuration/Xml/Configuration.php | 18 +- .../Xml/DefaultConfiguration.php | 9 +- .../TextUI/Configuration/Xml/Generator.php | 2 +- .../src/TextUI/Configuration/Xml/Groups.php | 6 +- .../Xml/LoadedFromFileConfiguration.php | 6 +- .../src/TextUI/Configuration/Xml/Loader.php | 90 +- .../Configuration/Xml/Logging/Junit.php | 4 +- .../Configuration/Xml/Logging/Logging.php | 10 +- .../Configuration/Xml/Logging/TeamCity.php | 4 +- .../Xml/Logging/TestDox/Html.php | 4 +- .../Xml/Logging/TestDox/Text.php | 4 +- .../Xml/Migration/MigrationBuilder.php | 17 +- .../Migration/MigrationBuilderException.php | 3 +- .../Xml/Migration/MigrationException.php | 3 +- .../Migration/Migrations/ConvertLogTypes.php | 2 +- .../Migrations/CoverageCloverToReport.php | 2 +- .../Migrations/CoverageCrap4jToReport.php | 2 +- .../Migrations/CoverageHtmlToReport.php | 2 +- .../Migrations/CoveragePhpToReport.php | 2 +- .../Migrations/CoverageTextToReport.php | 2 +- .../Migrations/CoverageXmlToReport.php | 2 +- .../IntroduceCacheDirectoryAttribute.php | 2 +- .../Migrations/IntroduceCoverageElement.php | 2 +- .../Migrations/LogToReportMigration.php | 2 +- ...ttributesFromFilterWhitelistToCoverage.php | 2 +- .../MoveAttributesFromRootToCoverage.php | 2 +- .../MoveCoverageDirectoriesToSource.php | 2 +- .../MoveWhitelistExcludesToCoverage.php | 2 +- .../MoveWhitelistIncludesToCoverage.php | 2 +- ...ResourceUsageDuringSmallTestsAttribute.php | 2 +- ...StrictAboutTodoAnnotatedTestsAttribute.php | 2 +- .../RemoveCacheResultFileAttribute.php | 2 +- .../Migrations/RemoveCacheTokensAttribute.php | 2 +- ...RemoveConversionToExceptionsAttributes.php | 2 +- ...CoverageElementCacheDirectoryAttribute.php | 2 +- ...eElementProcessUncoveredFilesAttribute.php | 2 +- .../Migrations/RemoveEmptyFilter.php | 2 +- .../Migration/Migrations/RemoveListeners.php | 2 +- .../Migration/Migrations/RemoveLogTypes.php | 2 +- .../Migrations/RemoveLoggingElements.php | 2 +- .../RemoveNoInteractionAttribute.php | 2 +- .../Migrations/RemovePrinterAttributes.php | 2 +- .../Migrations/RemoveTestDoxGroupsElement.php | 2 +- .../RemoveTestSuiteLoaderAttributes.php | 2 +- .../Migrations/RemoveVerboseAttribute.php | 2 +- .../RenameBackupStaticAttributesAttribute.php | 2 +- ...BeStrictAboutCoversAnnotationAttribute.php | 2 +- .../RenameForceCoversAnnotationAttribute.php | 2 +- .../Migrations/UpdateSchemaLocation.php | 2 +- .../Configuration/Xml/Migration/Migrator.php | 15 +- .../src/TextUI/Configuration/Xml/PHPUnit.php | 242 +-- .../FailedSchemaDetectionResult.php | 2 +- .../SchemaDetector/SchemaDetectionResult.php | 5 +- .../Xml/SchemaDetector/SchemaDetector.php | 6 +- .../SuccessfulSchemaDetectionResult.php | 16 +- .../TextUI/Configuration/Xml/SchemaFinder.php | 29 +- .../Configuration/Xml/TestSuiteMapper.php | 90 +- .../Xml/Validator/ValidationResult.php | 4 +- .../Configuration/Xml/Validator/Validator.php | 2 +- .../phpunit/phpunit/src/TextUI/Help.php | 299 +-- ...BeforeTestClassMethodErroredSubscriber.php | 2 +- .../ProgressPrinter/Subscriber/Subscriber.php | 4 +- .../TestConsideredRiskySubscriber.php | 2 +- .../Subscriber/TestErroredSubscriber.php | 2 +- .../Subscriber/TestFailedSubscriber.php | 2 +- .../Subscriber/TestFinishedSubscriber.php | 2 +- .../TestMarkedIncompleteSubscriber.php | 2 +- .../Subscriber/TestPreparedSubscriber.php | 2 +- .../TestRunnerExecutionStartedSubscriber.php | 2 +- .../Subscriber/TestSkippedSubscriber.php | 2 +- .../TestTriggeredDeprecationSubscriber.php | 2 +- .../TestTriggeredErrorSubscriber.php | 2 +- .../TestTriggeredNoticeSubscriber.php | 2 +- .../TestTriggeredPhpDeprecationSubscriber.php | 2 +- .../TestTriggeredPhpNoticeSubscriber.php | 2 +- .../TestTriggeredPhpWarningSubscriber.php | 2 +- ...tTriggeredPhpunitDeprecationSubscriber.php | 2 +- .../TestTriggeredPhpunitWarningSubscriber.php | 2 +- .../TestTriggeredWarningSubscriber.php | 2 +- .../Default/UnexpectedOutputPrinter.php | 4 +- .../phpunit/src/TextUI/Output/Facade.php | 21 +- .../TextUI/Output/Printer/DefaultPrinter.php | 12 +- .../src/TextUI/Output/Printer/NullPrinter.php | 2 +- .../TextUI/Output/TestDox/ResultPrinter.php | 25 +- .../src/TextUI/ShellExitCodeCalculator.php | 2 +- .../phpunit/phpunit/src/TextUI/TestRunner.php | 3 +- .../src/TextUI/TestSuiteFilterProcessor.php | 30 +- .../phpunit/phpunit/src/Util/Cloner.php | 2 +- .../vendor/phpunit/phpunit/src/Util/Color.php | 20 +- .../phpunit/phpunit/src/Util/ExcludeList.php | 15 +- .../phpunit/phpunit/src/Util/Exporter.php | 61 - .../phpunit/phpunit/src/Util/Filesystem.php | 26 +- .../phpunit/phpunit/src/Util/Filter.php | 12 +- .../phpunit/phpunit/src/Util/GlobalState.php | 2 +- .../vendor/phpunit/phpunit/src/Util/Json.php | 2 +- .../src/Util/PHP/AbstractPhpProcess.php | 5 +- .../src/Util/PHP/Template/TestCaseClass.tpl | 1 - .../src/Util/PHP/Template/TestCaseMethod.tpl | 1 - .../phpunit/phpunit/src/Util/Reflection.php | 2 +- .../vendor/phpunit/phpunit/src/Util/Test.php | 2 +- .../src/Util/ThrowableToStringMapper.php | 2 +- .../src/Util/VersionComparisonOperator.php | 4 +- .../phpunit/phpunit/src/Util/Xml/Loader.php | 27 +- .../phpunit/phpunit/src/Util/Xml/Xml.php | 2 +- .../vendor/sebastian/cli-parser/ChangeLog.md | 14 + Sources/vendor/sebastian/cli-parser/LICENSE | 2 +- .../vendor/sebastian/cli-parser/SECURITY.md | 29 +- .../vendor/sebastian/cli-parser/composer.json | 11 +- .../sebastian/cli-parser/src/Parser.php | 6 +- .../exceptions/AmbiguousOptionException.php | 4 +- .../OptionDoesNotAllowArgumentException.php | 4 +- ...RequiredOptionArgumentMissingException.php | 4 +- .../src/exceptions/UnknownOptionException.php | 4 +- .../.psalm/config.xml | 2 + .../code-unit-reverse-lookup/ChangeLog.md | 7 + .../code-unit-reverse-lookup/LICENSE | 2 +- .../code-unit-reverse-lookup/SECURITY.md | 29 +- .../code-unit-reverse-lookup/composer.json | 12 +- .../code-unit-reverse-lookup/src/Wizard.php | 10 +- .../vendor/sebastian/code-unit/ChangeLog.md | 7 + Sources/vendor/sebastian/code-unit/LICENSE | 2 +- .../vendor/sebastian/code-unit/SECURITY.md | 29 +- .../vendor/sebastian/code-unit/composer.json | 11 +- .../code-unit/src/ClassMethodUnit.php | 2 +- .../sebastian/code-unit/src/ClassUnit.php | 2 +- .../sebastian/code-unit/src/CodeUnit.php | 131 +- .../code-unit/src/CodeUnitCollection.php | 8 +- .../sebastian/code-unit/src/FileUnit.php | 2 +- .../sebastian/code-unit/src/FunctionUnit.php | 2 +- .../code-unit/src/InterfaceMethodUnit.php | 4 +- .../sebastian/code-unit/src/InterfaceUnit.php | 2 +- .../vendor/sebastian/code-unit/src/Mapper.php | 85 +- .../code-unit/src/TraitMethodUnit.php | 2 +- .../sebastian/code-unit/src/TraitUnit.php | 2 +- .../vendor/sebastian/comparator/ChangeLog.md | 9 + Sources/vendor/sebastian/comparator/LICENSE | 2 +- .../vendor/sebastian/comparator/composer.json | 12 +- .../comparator/src/ArrayComparator.php | 14 +- .../comparator/src/DOMNodeComparator.php | 2 +- .../comparator/src/DateTimeComparator.php | 2 +- .../comparator/src/NumericComparator.php | 4 +- .../comparator/src/ObjectComparator.php | 8 +- .../comparator/src/ResourceComparator.php | 2 +- .../comparator/src/ScalarComparator.php | 6 +- .../src/SplObjectStorageComparator.php | 4 +- .../comparator/src/TypeComparator.php | 4 +- .../vendor/sebastian/complexity/ChangeLog.md | 9 + Sources/vendor/sebastian/complexity/LICENSE | 2 +- .../vendor/sebastian/complexity/composer.json | 10 +- .../complexity/src/Complexity/Complexity.php | 4 +- .../src/Complexity/ComplexityCollection.php | 4 +- .../Visitor/ComplexityCalculatingVisitor.php | 3 +- ...CyclomaticComplexityCalculatingVisitor.php | 1 + Sources/vendor/sebastian/diff/ChangeLog.md | 17 + Sources/vendor/sebastian/diff/LICENSE | 2 +- Sources/vendor/sebastian/diff/composer.json | 8 +- Sources/vendor/sebastian/diff/src/Chunk.php | 42 - Sources/vendor/sebastian/diff/src/Diff.php | 30 - Sources/vendor/sebastian/diff/src/Differ.php | 4 +- .../src/Exception/ConfigurationException.php | 6 +- Sources/vendor/sebastian/diff/src/Line.php | 16 - ...ientLongestCommonSubsequenceCalculator.php | 8 +- .../Output/StrictUnifiedDiffOutputBuilder.php | 16 +- .../src/Output/UnifiedDiffOutputBuilder.php | 11 +- Sources/vendor/sebastian/diff/src/Parser.php | 2 +- .../vendor/sebastian/environment/ChangeLog.md | 21 + Sources/vendor/sebastian/environment/LICENSE | 2 +- .../sebastian/environment/composer.json | 8 +- .../sebastian/environment/src/Console.php | 6 +- .../sebastian/environment/src/Runtime.php | 37 +- .../vendor/sebastian/exporter/ChangeLog.md | 14 + Sources/vendor/sebastian/exporter/LICENSE | 2 +- .../vendor/sebastian/exporter/composer.json | 10 +- .../sebastian/exporter/src/Exporter.php | 2 +- .../sebastian/global-state/ChangeLog.md | 14 + Sources/vendor/sebastian/global-state/LICENSE | 2 +- .../sebastian/global-state/composer.json | 14 +- .../global-state/src/CodeExporter.php | 6 +- .../global-state/src/ExcludeList.php | 4 +- .../sebastian/global-state/src/Restorer.php | 4 +- .../sebastian/global-state/src/Snapshot.php | 20 +- .../sebastian/lines-of-code/ChangeLog.md | 8 + .../vendor/sebastian/lines-of-code/LICENSE | 2 +- .../sebastian/lines-of-code/composer.json | 10 +- .../lines-of-code/src/LinesOfCode.php | 10 +- .../sebastian/object-enumerator/ChangeLog.md | 7 + .../sebastian/object-enumerator/LICENSE | 2 +- .../sebastian/object-enumerator/SECURITY.md | 29 +- .../sebastian/object-enumerator/composer.json | 16 +- .../sebastian/object-enumerator/phpunit.xml | 8 +- .../object-enumerator/src/Enumerator.php | 4 +- .../sebastian/object-reflector/ChangeLog.md | 7 + .../vendor/sebastian/object-reflector/LICENSE | 2 +- .../sebastian/object-reflector/SECURITY.md | 29 +- .../sebastian/object-reflector/composer.json | 12 +- .../sebastian/recursion-context/ChangeLog.md | 7 + .../sebastian/recursion-context/LICENSE | 2 +- .../sebastian/recursion-context/SECURITY.md | 29 +- .../sebastian/recursion-context/composer.json | 12 +- .../recursion-context/src/Context.php | 8 +- Sources/vendor/sebastian/type/ChangeLog.md | 7 + Sources/vendor/sebastian/type/LICENSE | 2 +- Sources/vendor/sebastian/type/SECURITY.md | 29 +- Sources/vendor/sebastian/type/composer.json | 11 +- .../vendor/sebastian/type/src/Parameter.php | 5 +- .../sebastian/type/src/ReflectionMapper.php | 14 +- .../vendor/sebastian/type/src/TypeName.php | 23 +- .../sebastian/type/src/type/CallableType.php | 3 + .../sebastian/type/src/type/FalseType.php | 3 + .../type/src/type/GenericObjectType.php | 3 + .../type/src/type/IntersectionType.php | 10 +- .../sebastian/type/src/type/IterableType.php | 3 + .../sebastian/type/src/type/MixedType.php | 6 + .../sebastian/type/src/type/NeverType.php | 3 + .../sebastian/type/src/type/NullType.php | 6 + .../sebastian/type/src/type/ObjectType.php | 3 + .../sebastian/type/src/type/SimpleType.php | 14 + .../sebastian/type/src/type/StaticType.php | 3 + .../sebastian/type/src/type/TrueType.php | 3 + .../vendor/sebastian/type/src/type/Type.php | 6 + .../sebastian/type/src/type/UnionType.php | 19 +- .../sebastian/type/src/type/UnknownType.php | 6 + .../sebastian/type/src/type/VoidType.php | 3 + Sources/vendor/sebastian/version/ChangeLog.md | 7 + Sources/vendor/sebastian/version/LICENSE | 2 +- Sources/vendor/sebastian/version/SECURITY.md | 29 +- .../vendor/sebastian/version/composer.json | 9 +- .../vendor/sebastian/version/src/Version.php | 29 +- .../symfony/polyfill-ctype/composer.json | 3 - .../symfony/polyfill-mbstring/composer.json | 3 - .../symfony/polyfill-php80/composer.json | 3 - Sources/vendor/theseer/tokenizer/CHANGELOG.md | 10 + .../theseer/tokenizer/src/Tokenizer.php | 2 - .../theseer/tokenizer/src/XMLSerializer.php | 2 +- 859 files changed, 8718 insertions(+), 8412 deletions(-) delete mode 100644 Sources/vendor/nikic/php-parser/.php-cs-fixer.dist.php delete mode 100644 Sources/vendor/nikic/php-parser/Makefile delete mode 100644 Sources/vendor/nikic/php-parser/phpstan-baseline.neon delete mode 100644 Sources/vendor/nikic/php-parser/phpstan.neon.dist delete mode 100644 Sources/vendor/phpunit/php-code-coverage/ChangeLog-10.1.md delete mode 100644 Sources/vendor/phpunit/phpunit/ChangeLog-10.5.md delete mode 100644 Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionFailed.php delete mode 100644 Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionFailedSubscriber.php delete mode 100644 Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionSucceeded.php delete mode 100644 Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionSucceededSubscriber.php delete mode 100644 Sources/vendor/phpunit/phpunit/src/Event/Exception/MoreThanOneDataSetFromDataProviderException.php delete mode 100644 Sources/vendor/phpunit/phpunit/src/Framework/Attributes/CodeCoverageIgnore.php delete mode 100644 Sources/vendor/phpunit/phpunit/src/Framework/Attributes/IgnoreClassForCodeCoverage.php delete mode 100644 Sources/vendor/phpunit/phpunit/src/Framework/Attributes/IgnoreFunctionForCodeCoverage.php delete mode 100644 Sources/vendor/phpunit/phpunit/src/Framework/Attributes/IgnoreMethodForCodeCoverage.php delete mode 100644 Sources/vendor/phpunit/phpunit/src/Metadata/IgnoreClassForCodeCoverage.php delete mode 100644 Sources/vendor/phpunit/phpunit/src/Metadata/IgnoreFunctionForCodeCoverage.php delete mode 100644 Sources/vendor/phpunit/phpunit/src/Metadata/IgnoreMethodForCodeCoverage.php delete mode 100644 Sources/vendor/phpunit/phpunit/src/Util/Exporter.php diff --git a/Sources/composer.lock b/Sources/composer.lock index e6d830ad..85f561cc 100644 --- a/Sources/composer.lock +++ b/Sources/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "5a409c8bab8a792898aeb0f32ad5cf48", + "content-hash": "4c2287070574f70d470b239b224aef76", "packages": [ { "name": "adriangibbons/php-fit-file-analysis", @@ -291,16 +291,16 @@ }, { "name": "symfony/polyfill-ctype", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb" + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", "shasum": "" }, "require": { @@ -314,9 +314,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -353,7 +350,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" }, "funding": [ { @@ -369,20 +366,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "42292d99c55abe617799667f454222c54c60e229" + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", - "reference": "42292d99c55abe617799667f454222c54c60e229", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", "shasum": "" }, "require": { @@ -396,9 +393,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -436,7 +430,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" }, "funding": [ { @@ -452,20 +446,20 @@ "type": "tidelift" } ], - "time": "2023-07-28T09:04:16+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5" + "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", + "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", "shasum": "" }, "require": { @@ -473,9 +467,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -519,7 +510,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0" }, "funding": [ { @@ -535,7 +526,7 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "twig/twig", @@ -756,16 +747,16 @@ }, { "name": "nikic/php-parser", - "version": "v5.0.0", + "version": "v5.0.2", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "4a21235f7e56e713259a6f76bf4b5ea08502b9dc" + "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4a21235f7e56e713259a6f76bf4b5ea08502b9dc", - "reference": "4a21235f7e56e713259a6f76bf4b5ea08502b9dc", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13", + "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13", "shasum": "" }, "require": { @@ -808,26 +799,27 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2" }, - "time": "2024-01-07T17:17:35+00:00" + "time": "2024-03-05T20:51:40+00:00" }, { "name": "phar-io/manifest", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53" + "reference": "54750ef60c58e43759730615a392c31c80e23176" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", + "reference": "54750ef60c58e43759730615a392c31c80e23176", "shasum": "" }, "require": { "ext-dom": "*", + "ext-libxml": "*", "ext-phar": "*", "ext-xmlwriter": "*", "phar-io/version": "^3.0.1", @@ -868,9 +860,15 @@ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", "support": { "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.3" + "source": "https://github.com/phar-io/manifest/tree/2.0.4" }, - "time": "2021-07-20T11:28:43+00:00" + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:33:53+00:00" }, { "name": "phar-io/version", @@ -925,35 +923,35 @@ }, { "name": "phpunit/php-code-coverage", - "version": "10.1.11", + "version": "11.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "78c3b7625965c2513ee96569a4dbb62601784145" + "reference": "7e35a2cbcabac0e6865fd373742ea432a3c34f92" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/78c3b7625965c2513ee96569a4dbb62601784145", - "reference": "78c3b7625965c2513ee96569a4dbb62601784145", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7e35a2cbcabac0e6865fd373742ea432a3c34f92", + "reference": "7e35a2cbcabac0e6865fd373742ea432a3c34f92", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=8.1", - "phpunit/php-file-iterator": "^4.0", - "phpunit/php-text-template": "^3.0", - "sebastian/code-unit-reverse-lookup": "^3.0", - "sebastian/complexity": "^3.0", - "sebastian/environment": "^6.0", - "sebastian/lines-of-code": "^2.0", - "sebastian/version": "^4.0", + "nikic/php-parser": "^5.0", + "php": ">=8.2", + "phpunit/php-file-iterator": "^5.0", + "phpunit/php-text-template": "^4.0", + "sebastian/code-unit-reverse-lookup": "^4.0", + "sebastian/complexity": "^4.0", + "sebastian/environment": "^7.0", + "sebastian/lines-of-code": "^3.0", + "sebastian/version": "^5.0", "theseer/tokenizer": "^1.2.0" }, "require-dev": { - "phpunit/phpunit": "^10.1" + "phpunit/phpunit": "^11.0" }, "suggest": { "ext-pcov": "PHP extension that provides line coverage", @@ -962,7 +960,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.1-dev" + "dev-main": "11.0-dev" } }, "autoload": { @@ -991,7 +989,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.11" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.3" }, "funding": [ { @@ -999,32 +997,32 @@ "type": "github" } ], - "time": "2023-12-21T15:38:30+00:00" + "time": "2024-03-12T15:35:40+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "4.1.0", + "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c" + "reference": "99e95c94ad9500daca992354fa09d7b99abe2210" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c", - "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/99e95c94ad9500daca992354fa09d7b99abe2210", + "reference": "99e95c94ad9500daca992354fa09d7b99abe2210", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -1052,7 +1050,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0" + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.0.0" }, "funding": [ { @@ -1060,28 +1058,28 @@ "type": "github" } ], - "time": "2023-08-31T06:24:48+00:00" + "time": "2024-02-02T06:05:04+00:00" }, { "name": "phpunit/php-invoker", - "version": "4.0.0", + "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7" + "reference": "5d8d9355a16d8cc5a1305b0a85342cfa420612be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", - "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5d8d9355a16d8cc5a1305b0a85342cfa420612be", + "reference": "5d8d9355a16d8cc5a1305b0a85342cfa420612be", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { "ext-pcntl": "*", - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "suggest": { "ext-pcntl": "*" @@ -1089,7 +1087,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -1115,7 +1113,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0" + "security": "https://github.com/sebastianbergmann/php-invoker/security/policy", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.0" }, "funding": [ { @@ -1123,32 +1122,32 @@ "type": "github" } ], - "time": "2023-02-03T06:56:09+00:00" + "time": "2024-02-02T06:05:50+00:00" }, { "name": "phpunit/php-text-template", - "version": "3.0.1", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748" + "reference": "d38f6cbff1cdb6f40b03c9811421561668cc133e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748", - "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/d38f6cbff1cdb6f40b03c9811421561668cc133e", + "reference": "d38f6cbff1cdb6f40b03c9811421561668cc133e", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -1175,7 +1174,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-text-template/issues", "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1" + "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.0" }, "funding": [ { @@ -1183,32 +1182,32 @@ "type": "github" } ], - "time": "2023-08-31T14:07:24+00:00" + "time": "2024-02-02T06:06:56+00:00" }, { "name": "phpunit/php-timer", - "version": "6.0.0", + "version": "7.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d" + "reference": "8a59d9e25720482ee7fcdf296595e08795b84dc5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d", - "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8a59d9e25720482ee7fcdf296595e08795b84dc5", + "reference": "8a59d9e25720482ee7fcdf296595e08795b84dc5", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -1234,7 +1233,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0" + "security": "https://github.com/sebastianbergmann/php-timer/security/policy", + "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.0" }, "funding": [ { @@ -1242,20 +1242,20 @@ "type": "github" } ], - "time": "2023-02-03T06:57:52+00:00" + "time": "2024-02-02T06:08:01+00:00" }, { "name": "phpunit/phpunit", - "version": "10.5.5", + "version": "11.0.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "ed21115d505b4b4f7dc7b5651464e19a2c7f7856" + "reference": "48ea58408879a9aad630022186398364051482fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/ed21115d505b4b4f7dc7b5651464e19a2c7f7856", - "reference": "ed21115d505b4b4f7dc7b5651464e19a2c7f7856", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/48ea58408879a9aad630022186398364051482fc", + "reference": "48ea58408879a9aad630022186398364051482fc", "shasum": "" }, "require": { @@ -1268,23 +1268,22 @@ "myclabs/deep-copy": "^1.10.1", "phar-io/manifest": "^2.0.3", "phar-io/version": "^3.0.2", - "php": ">=8.1", - "phpunit/php-code-coverage": "^10.1.5", - "phpunit/php-file-iterator": "^4.0", - "phpunit/php-invoker": "^4.0", - "phpunit/php-text-template": "^3.0", - "phpunit/php-timer": "^6.0", - "sebastian/cli-parser": "^2.0", - "sebastian/code-unit": "^2.0", - "sebastian/comparator": "^5.0", - "sebastian/diff": "^5.0", - "sebastian/environment": "^6.0", - "sebastian/exporter": "^5.1", - "sebastian/global-state": "^6.0.1", - "sebastian/object-enumerator": "^5.0", - "sebastian/recursion-context": "^5.0", - "sebastian/type": "^4.0", - "sebastian/version": "^4.0" + "php": ">=8.2", + "phpunit/php-code-coverage": "^11.0", + "phpunit/php-file-iterator": "^5.0", + "phpunit/php-invoker": "^5.0", + "phpunit/php-text-template": "^4.0", + "phpunit/php-timer": "^7.0", + "sebastian/cli-parser": "^3.0", + "sebastian/code-unit": "^3.0", + "sebastian/comparator": "^6.0", + "sebastian/diff": "^6.0", + "sebastian/environment": "^7.0", + "sebastian/exporter": "^6.0", + "sebastian/global-state": "^7.0", + "sebastian/object-enumerator": "^6.0", + "sebastian/type": "^5.0", + "sebastian/version": "^5.0" }, "suggest": { "ext-soap": "To be able to generate mocks based on WSDL files" @@ -1295,7 +1294,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.5-dev" + "dev-main": "11.0-dev" } }, "autoload": { @@ -1327,7 +1326,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.5" + "source": "https://github.com/sebastianbergmann/phpunit/tree/11.0.8" }, "funding": [ { @@ -1343,32 +1342,32 @@ "type": "tidelift" } ], - "time": "2023-12-27T15:13:52+00:00" + "time": "2024-03-22T04:21:01+00:00" }, { "name": "sebastian/cli-parser", - "version": "2.0.0", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae" + "reference": "00a74d5568694711f0222e54fb281e1d15fdf04a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/efdc130dbbbb8ef0b545a994fd811725c5282cae", - "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/00a74d5568694711f0222e54fb281e1d15fdf04a", + "reference": "00a74d5568694711f0222e54fb281e1d15fdf04a", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -1391,7 +1390,8 @@ "homepage": "https://github.com/sebastianbergmann/cli-parser", "support": { "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.0" + "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.1" }, "funding": [ { @@ -1399,32 +1399,32 @@ "type": "github" } ], - "time": "2023-02-03T06:58:15+00:00" + "time": "2024-03-02T07:26:58+00:00" }, { "name": "sebastian/code-unit", - "version": "2.0.0", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "a81fee9eef0b7a76af11d121767abc44c104e503" + "reference": "6634549cb8d702282a04a774e36a7477d2bd9015" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503", - "reference": "a81fee9eef0b7a76af11d121767abc44c104e503", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/6634549cb8d702282a04a774e36a7477d2bd9015", + "reference": "6634549cb8d702282a04a774e36a7477d2bd9015", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -1447,7 +1447,8 @@ "homepage": "https://github.com/sebastianbergmann/code-unit", "support": { "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0" + "security": "https://github.com/sebastianbergmann/code-unit/security/policy", + "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.0" }, "funding": [ { @@ -1455,32 +1456,32 @@ "type": "github" } ], - "time": "2023-02-03T06:58:43+00:00" + "time": "2024-02-02T05:50:41+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", - "version": "3.0.0", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d" + "reference": "df80c875d3e459b45c6039e4d9b71d4fbccae25d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", - "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/df80c875d3e459b45c6039e4d9b71d4fbccae25d", + "reference": "df80c875d3e459b45c6039e4d9b71d4fbccae25d", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -1502,7 +1503,8 @@ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", "support": { "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0" + "security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.0" }, "funding": [ { @@ -1510,36 +1512,36 @@ "type": "github" } ], - "time": "2023-02-03T06:59:15+00:00" + "time": "2024-02-02T05:52:17+00:00" }, { "name": "sebastian/comparator", - "version": "5.0.1", + "version": "6.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2db5010a484d53ebf536087a70b4a5423c102372" + "reference": "bd0f2fa5b9257c69903537b266ccb80fcf940db8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2db5010a484d53ebf536087a70b4a5423c102372", - "reference": "2db5010a484d53ebf536087a70b4a5423c102372", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/bd0f2fa5b9257c69903537b266ccb80fcf940db8", + "reference": "bd0f2fa5b9257c69903537b266ccb80fcf940db8", "shasum": "" }, "require": { "ext-dom": "*", "ext-mbstring": "*", - "php": ">=8.1", - "sebastian/diff": "^5.0", - "sebastian/exporter": "^5.0" + "php": ">=8.2", + "sebastian/diff": "^6.0", + "sebastian/exporter": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^10.3" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -1579,7 +1581,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.1" + "source": "https://github.com/sebastianbergmann/comparator/tree/6.0.0" }, "funding": [ { @@ -1587,33 +1589,33 @@ "type": "github" } ], - "time": "2023-08-14T13:18:12+00:00" + "time": "2024-02-02T05:53:45+00:00" }, { "name": "sebastian/complexity", - "version": "3.2.0", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "68ff824baeae169ec9f2137158ee529584553799" + "reference": "88a434ad86150e11a606ac4866b09130712671f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799", - "reference": "68ff824baeae169ec9f2137158ee529584553799", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/88a434ad86150e11a606ac4866b09130712671f0", + "reference": "88a434ad86150e11a606ac4866b09130712671f0", "shasum": "" }, "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=8.1" + "nikic/php-parser": "^5.0", + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.2-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -1637,7 +1639,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", "security": "https://github.com/sebastianbergmann/complexity/security/policy", - "source": "https://github.com/sebastianbergmann/complexity/tree/3.2.0" + "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.0" }, "funding": [ { @@ -1645,33 +1647,33 @@ "type": "github" } ], - "time": "2023-12-21T08:37:17+00:00" + "time": "2024-02-02T05:55:19+00:00" }, { "name": "sebastian/diff", - "version": "5.1.0", + "version": "6.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "fbf413a49e54f6b9b17e12d900ac7f6101591b7f" + "reference": "ab83243ecc233de5655b76f577711de9f842e712" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/fbf413a49e54f6b9b17e12d900ac7f6101591b7f", - "reference": "fbf413a49e54f6b9b17e12d900ac7f6101591b7f", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ab83243ecc233de5655b76f577711de9f842e712", + "reference": "ab83243ecc233de5655b76f577711de9f842e712", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0", + "phpunit/phpunit": "^11.0", "symfony/process": "^4.2 || ^5" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.1-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -1704,7 +1706,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", "security": "https://github.com/sebastianbergmann/diff/security/policy", - "source": "https://github.com/sebastianbergmann/diff/tree/5.1.0" + "source": "https://github.com/sebastianbergmann/diff/tree/6.0.1" }, "funding": [ { @@ -1712,27 +1714,27 @@ "type": "github" } ], - "time": "2023-12-22T10:55:06+00:00" + "time": "2024-03-02T07:30:33+00:00" }, { "name": "sebastian/environment", - "version": "6.0.1", + "version": "7.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951" + "reference": "4eb3a442574d0e9d141aab209cd4aaf25701b09a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/43c751b41d74f96cbbd4e07b7aec9675651e2951", - "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/4eb3a442574d0e9d141aab209cd4aaf25701b09a", + "reference": "4eb3a442574d0e9d141aab209cd4aaf25701b09a", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "suggest": { "ext-posix": "*" @@ -1740,7 +1742,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.1-dev" } }, "autoload": { @@ -1768,7 +1770,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", "security": "https://github.com/sebastianbergmann/environment/security/policy", - "source": "https://github.com/sebastianbergmann/environment/tree/6.0.1" + "source": "https://github.com/sebastianbergmann/environment/tree/7.1.0" }, "funding": [ { @@ -1776,34 +1778,34 @@ "type": "github" } ], - "time": "2023-04-11T05:39:26+00:00" + "time": "2024-03-23T08:56:34+00:00" }, { "name": "sebastian/exporter", - "version": "5.1.1", + "version": "6.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc" + "reference": "f291e5a317c321c0381fa9ecc796fa2d21b186da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/64f51654862e0f5e318db7e9dcc2292c63cdbddc", - "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/f291e5a317c321c0381fa9ecc796fa2d21b186da", + "reference": "f291e5a317c321c0381fa9ecc796fa2d21b186da", "shasum": "" }, "require": { "ext-mbstring": "*", - "php": ">=8.1", - "sebastian/recursion-context": "^5.0" + "php": ">=8.2", + "sebastian/recursion-context": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.1-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -1846,7 +1848,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", "security": "https://github.com/sebastianbergmann/exporter/security/policy", - "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.1" + "source": "https://github.com/sebastianbergmann/exporter/tree/6.0.1" }, "funding": [ { @@ -1854,35 +1856,35 @@ "type": "github" } ], - "time": "2023-09-24T13:22:09+00:00" + "time": "2024-03-02T07:28:20+00:00" }, { "name": "sebastian/global-state", - "version": "6.0.1", + "version": "7.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4" + "reference": "c3a307e832f2e69c7ef869e31fc644fde0e7cb3e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/7ea9ead78f6d380d2a667864c132c2f7b83055e4", - "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/c3a307e832f2e69c7ef869e31fc644fde0e7cb3e", + "reference": "c3a307e832f2e69c7ef869e31fc644fde0e7cb3e", "shasum": "" }, "require": { - "php": ">=8.1", - "sebastian/object-reflector": "^3.0", - "sebastian/recursion-context": "^5.0" + "php": ">=8.2", + "sebastian/object-reflector": "^4.0", + "sebastian/recursion-context": "^6.0" }, "require-dev": { "ext-dom": "*", - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -1901,14 +1903,14 @@ } ], "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", + "homepage": "https://www.github.com/sebastianbergmann/global-state", "keywords": [ "global state" ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", "security": "https://github.com/sebastianbergmann/global-state/security/policy", - "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.1" + "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.1" }, "funding": [ { @@ -1916,33 +1918,33 @@ "type": "github" } ], - "time": "2023-07-19T07:19:23+00:00" + "time": "2024-03-02T07:32:10+00:00" }, { "name": "sebastian/lines-of-code", - "version": "2.0.2", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0" + "reference": "376c5b3f6b43c78fdc049740bca76a7c846706c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/856e7f6a75a84e339195d48c556f23be2ebf75d0", - "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/376c5b3f6b43c78fdc049740bca76a7c846706c0", + "reference": "376c5b3f6b43c78fdc049740bca76a7c846706c0", "shasum": "" }, "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=8.1" + "nikic/php-parser": "^5.0", + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -1966,7 +1968,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.2" + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.0" }, "funding": [ { @@ -1974,34 +1976,34 @@ "type": "github" } ], - "time": "2023-12-21T08:38:20+00:00" + "time": "2024-02-02T06:00:36+00:00" }, { "name": "sebastian/object-enumerator", - "version": "5.0.0", + "version": "6.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906" + "reference": "f75f6c460da0bbd9668f43a3dde0ec0ba7faa678" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906", - "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f75f6c460da0bbd9668f43a3dde0ec0ba7faa678", + "reference": "f75f6c460da0bbd9668f43a3dde0ec0ba7faa678", "shasum": "" }, "require": { - "php": ">=8.1", - "sebastian/object-reflector": "^3.0", - "sebastian/recursion-context": "^5.0" + "php": ">=8.2", + "sebastian/object-reflector": "^4.0", + "sebastian/recursion-context": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -2023,7 +2025,8 @@ "homepage": "https://github.com/sebastianbergmann/object-enumerator/", "support": { "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0" + "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.0" }, "funding": [ { @@ -2031,32 +2034,32 @@ "type": "github" } ], - "time": "2023-02-03T07:08:32+00:00" + "time": "2024-02-02T06:01:29+00:00" }, { "name": "sebastian/object-reflector", - "version": "3.0.0", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "24ed13d98130f0e7122df55d06c5c4942a577957" + "reference": "bb2a6255d30853425fd38f032eb64ced9f7f132d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957", - "reference": "24ed13d98130f0e7122df55d06c5c4942a577957", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/bb2a6255d30853425fd38f032eb64ced9f7f132d", + "reference": "bb2a6255d30853425fd38f032eb64ced9f7f132d", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -2078,7 +2081,8 @@ "homepage": "https://github.com/sebastianbergmann/object-reflector/", "support": { "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0" + "security": "https://github.com/sebastianbergmann/object-reflector/security/policy", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.0" }, "funding": [ { @@ -2086,32 +2090,32 @@ "type": "github" } ], - "time": "2023-02-03T07:06:18+00:00" + "time": "2024-02-02T06:02:18+00:00" }, { "name": "sebastian/recursion-context", - "version": "5.0.0", + "version": "6.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "05909fb5bc7df4c52992396d0116aed689f93712" + "reference": "b75224967b5a466925c6d54e68edd0edf8dd4ed4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712", - "reference": "05909fb5bc7df4c52992396d0116aed689f93712", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b75224967b5a466925c6d54e68edd0edf8dd4ed4", + "reference": "b75224967b5a466925c6d54e68edd0edf8dd4ed4", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -2141,7 +2145,8 @@ "homepage": "https://github.com/sebastianbergmann/recursion-context", "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0" + "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.0" }, "funding": [ { @@ -2149,32 +2154,32 @@ "type": "github" } ], - "time": "2023-02-03T07:05:40+00:00" + "time": "2024-02-02T06:08:48+00:00" }, { "name": "sebastian/type", - "version": "4.0.0", + "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "462699a16464c3944eefc02ebdd77882bd3925bf" + "reference": "b8502785eb3523ca0dd4afe9ca62235590020f3f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf", - "reference": "462699a16464c3944eefc02ebdd77882bd3925bf", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b8502785eb3523ca0dd4afe9ca62235590020f3f", + "reference": "b8502785eb3523ca0dd4afe9ca62235590020f3f", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -2197,7 +2202,8 @@ "homepage": "https://github.com/sebastianbergmann/type", "support": { "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/4.0.0" + "security": "https://github.com/sebastianbergmann/type/security/policy", + "source": "https://github.com/sebastianbergmann/type/tree/5.0.0" }, "funding": [ { @@ -2205,29 +2211,29 @@ "type": "github" } ], - "time": "2023-02-03T07:10:45+00:00" + "time": "2024-02-02T06:09:34+00:00" }, { "name": "sebastian/version", - "version": "4.0.1", + "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17" + "reference": "13999475d2cb1ab33cb73403ba356a814fdbb001" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17", - "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/13999475d2cb1ab33cb73403ba356a814fdbb001", + "reference": "13999475d2cb1ab33cb73403ba356a814fdbb001", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -2250,7 +2256,8 @@ "homepage": "https://github.com/sebastianbergmann/version", "support": { "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/4.0.1" + "security": "https://github.com/sebastianbergmann/version/security/policy", + "source": "https://github.com/sebastianbergmann/version/tree/5.0.0" }, "funding": [ { @@ -2258,20 +2265,20 @@ "type": "github" } ], - "time": "2023-02-07T11:34:05+00:00" + "time": "2024-02-02T06:10:47+00:00" }, { "name": "theseer/tokenizer", - "version": "1.2.2", + "version": "1.2.3", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96" + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b2ad5003ca10d4ee50a12da31de12a5774ba6b96", - "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", "shasum": "" }, "require": { @@ -2300,7 +2307,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.2" + "source": "https://github.com/theseer/tokenizer/tree/1.2.3" }, "funding": [ { @@ -2308,7 +2315,7 @@ "type": "github" } ], - "time": "2023-11-20T00:12:19+00:00" + "time": "2024-03-03T12:36:25+00:00" } ], "aliases": [], @@ -2316,10 +2323,7 @@ "stability-flags": [], "prefer-stable": false, "prefer-lowest": false, - "platform": { - "ext-couchbase": "*", - "ext-pdo": "*" - }, + "platform": [], "platform-dev": [], "plugin-api-version": "2.6.0" } diff --git a/Sources/public/index.php b/Sources/public/index.php index 7c602aa4..688c0e7a 100755 --- a/Sources/public/index.php +++ b/Sources/public/index.php @@ -2,7 +2,7 @@ require_once __DIR__ . '/../vendor/autoload.php'; require_once __DIR__ . '/../config/config.php'; -echo "hello"; + use App\AppCreator; use App\Router\Middleware\LoggingMiddleware; use App\Router\Request\RequestFactory; @@ -49,10 +49,6 @@ $appFactory->registerService(INotificationRepository::class, NotificationReposit $appFactory->registerService(IUserRepository::class, UserRepository::class); -echo "hallo"; - - - $appFactory->registerService(\Twig\Loader\LoaderInterface::class, function() { return new FilesystemLoader(__DIR__ . '/../src/app/views/Templates'); }); @@ -64,16 +60,12 @@ $appFactory->registerService(\Twig\Environment::class,\Twig\Environment::class); $appFactory->AddControllers(); -echo "holla"; $app = $appFactory->create(); if (!is_null($app)){ - echo "va bien te faire ..."; // Ajout des Middleware /*$app->use(new LoggingMiddleware());*/ $app->use(new AuthMiddleware($appFactory->getDicontainer()->get(IAuthService::class) )); $app->mapControllers(); $app->run(RequestFactory::createFromGlobals()); -} - -echo "meerde"; +} \ No newline at end of file diff --git a/Sources/vendor/altorouter/altorouter/AltoRouter.php b/Sources/vendor/altorouter/altorouter/AltoRouter.php index 08423435..67e76abc 100644 --- a/Sources/vendor/altorouter/altorouter/AltoRouter.php +++ b/Sources/vendor/altorouter/altorouter/AltoRouter.php @@ -1,5 +1,4 @@ namedRoutes[$routeName])) { throw new \Exception("Route '{$routeName}' does not exist."); } diff --git a/Sources/vendor/autoload.php b/Sources/vendor/autoload.php index 9cbe9da9..41d598b5 100644 --- a/Sources/vendor/autoload.php +++ b/Sources/vendor/autoload.php @@ -22,4 +22,4 @@ if (PHP_VERSION_ID < 50600) { require_once __DIR__ . '/composer/autoload_real.php'; -return ComposerAutoloaderInit1887e85fc3cfddacf8d7e17588dae6f1::getLoader(); +return ComposerAutoloaderInit4c2287070574f70d470b239b224aef76::getLoader(); diff --git a/Sources/vendor/composer/autoload_classmap.php b/Sources/vendor/composer/autoload_classmap.php index 034369e1..9117dfc1 100644 --- a/Sources/vendor/composer/autoload_classmap.php +++ b/Sources/vendor/composer/autoload_classmap.php @@ -70,7 +70,6 @@ return array( 'PHPUnit\\Event\\Telemetry\\SystemStopWatchWithOffset' => $vendorDir . '/phpunit/phpunit/src/Event/Value/Telemetry/SystemStopWatchWithOffset.php', 'PHPUnit\\Event\\TestData\\DataFromDataProvider' => $vendorDir . '/phpunit/phpunit/src/Event/Value/Test/TestData/DataFromDataProvider.php', 'PHPUnit\\Event\\TestData\\DataFromTestDependency' => $vendorDir . '/phpunit/phpunit/src/Event/Value/Test/TestData/DataFromTestDependency.php', - 'PHPUnit\\Event\\TestData\\MoreThanOneDataSetFromDataProviderException' => $vendorDir . '/phpunit/phpunit/src/Event/Exception/MoreThanOneDataSetFromDataProviderException.php', 'PHPUnit\\Event\\TestData\\NoDataSetFromDataProviderException' => $vendorDir . '/phpunit/phpunit/src/Event/Exception/NoDataSetFromDataProviderException.php', 'PHPUnit\\Event\\TestData\\TestData' => $vendorDir . '/phpunit/phpunit/src/Event/Value/Test/TestData/TestData.php', 'PHPUnit\\Event\\TestData\\TestDataCollection' => $vendorDir . '/phpunit/phpunit/src/Event/Value/Test/TestData/TestDataCollection.php', @@ -130,10 +129,6 @@ return array( 'PHPUnit\\Event\\Test\\AfterTestMethodCalledSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodCalledSubscriber.php', 'PHPUnit\\Event\\Test\\AfterTestMethodFinished' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodFinished.php', 'PHPUnit\\Event\\Test\\AfterTestMethodFinishedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodFinishedSubscriber.php', - 'PHPUnit\\Event\\Test\\AssertionFailed' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionFailed.php', - 'PHPUnit\\Event\\Test\\AssertionFailedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionFailedSubscriber.php', - 'PHPUnit\\Event\\Test\\AssertionSucceeded' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionSucceeded.php', - 'PHPUnit\\Event\\Test\\AssertionSucceededSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionSucceededSubscriber.php', 'PHPUnit\\Event\\Test\\BeforeFirstTestMethodCalled' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeFirstTestMethodCalled.php', 'PHPUnit\\Event\\Test\\BeforeFirstTestMethodCalledSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeFirstTestMethodCalledSubscriber.php', 'PHPUnit\\Event\\Test\\BeforeFirstTestMethodErrored' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeFirstTestMethodErrored.php', @@ -235,7 +230,6 @@ return array( 'PHPUnit\\Framework\\Attributes\\BackupStaticProperties' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/BackupStaticProperties.php', 'PHPUnit\\Framework\\Attributes\\Before' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/Before.php', 'PHPUnit\\Framework\\Attributes\\BeforeClass' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/BeforeClass.php', - 'PHPUnit\\Framework\\Attributes\\CodeCoverageIgnore' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/CodeCoverageIgnore.php', 'PHPUnit\\Framework\\Attributes\\CoversClass' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/CoversClass.php', 'PHPUnit\\Framework\\Attributes\\CoversFunction' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/CoversFunction.php', 'PHPUnit\\Framework\\Attributes\\CoversNothing' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/CoversNothing.php', @@ -254,10 +248,8 @@ return array( 'PHPUnit\\Framework\\Attributes\\ExcludeGlobalVariableFromBackup' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/ExcludeGlobalVariableFromBackup.php', 'PHPUnit\\Framework\\Attributes\\ExcludeStaticPropertyFromBackup' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/ExcludeStaticPropertyFromBackup.php', 'PHPUnit\\Framework\\Attributes\\Group' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/Group.php', - 'PHPUnit\\Framework\\Attributes\\IgnoreClassForCodeCoverage' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/IgnoreClassForCodeCoverage.php', 'PHPUnit\\Framework\\Attributes\\IgnoreDeprecations' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/IgnoreDeprecations.php', - 'PHPUnit\\Framework\\Attributes\\IgnoreFunctionForCodeCoverage' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/IgnoreFunctionForCodeCoverage.php', - 'PHPUnit\\Framework\\Attributes\\IgnoreMethodForCodeCoverage' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/IgnoreMethodForCodeCoverage.php', + 'PHPUnit\\Framework\\Attributes\\IgnorePhpunitDeprecations' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/IgnorePhpunitDeprecations.php', 'PHPUnit\\Framework\\Attributes\\Large' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/Large.php', 'PHPUnit\\Framework\\Attributes\\Medium' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/Medium.php', 'PHPUnit\\Framework\\Attributes\\PostCondition' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/PostCondition.php', @@ -365,6 +357,8 @@ return array( 'PHPUnit\\Framework\\MockObject\\ConfigurableMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/ConfigurableMethod.php', 'PHPUnit\\Framework\\MockObject\\DoubledCloneMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/DoubledCloneMethod.php', 'PHPUnit\\Framework\\MockObject\\Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/Exception.php', + 'PHPUnit\\Framework\\MockObject\\GeneratedAsMockObject' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/GeneratedAsMockObject.php', + 'PHPUnit\\Framework\\MockObject\\GeneratedAsTestStub' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/GeneratedAsTestStub.php', 'PHPUnit\\Framework\\MockObject\\Generator\\ClassAlreadyExistsException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassAlreadyExistsException.php', 'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsEnumerationException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsEnumerationException.php', 'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsFinalException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsFinalException.php', @@ -507,6 +501,15 @@ return array( 'PHPUnit\\Logging\\TestDox\\TestResultCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/Logging/TestDox/TestResult/TestResultCollectionIterator.php', 'PHPUnit\\Logging\\TestDox\\TestResultCollector' => $vendorDir . '/phpunit/phpunit/src/Logging/TestDox/TestResult/TestResultCollector.php', 'PHPUnit\\Logging\\TestDox\\TestSkippedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestSkippedSubscriber.php', + 'PHPUnit\\Logging\\TestDox\\TestTriggeredDeprecationSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestTriggeredDeprecationSubscriber.php', + 'PHPUnit\\Logging\\TestDox\\TestTriggeredNoticeSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestTriggeredNoticeSubscriber.php', + 'PHPUnit\\Logging\\TestDox\\TestTriggeredPhpDeprecationSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestTriggeredPhpDeprecationSubscriber.php', + 'PHPUnit\\Logging\\TestDox\\TestTriggeredPhpNoticeSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestTriggeredPhpNoticeSubscriber.php', + 'PHPUnit\\Logging\\TestDox\\TestTriggeredPhpWarningSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestTriggeredPhpWarningSubscriber.php', + 'PHPUnit\\Logging\\TestDox\\TestTriggeredPhpunitDeprecationSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestTriggeredPhpunitDeprecationSubscriber.php', + 'PHPUnit\\Logging\\TestDox\\TestTriggeredPhpunitErrorSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestTriggeredPhpunitErrorSubscriber.php', + 'PHPUnit\\Logging\\TestDox\\TestTriggeredPhpunitWarningSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestTriggeredPhpunitWarningSubscriber.php', + 'PHPUnit\\Logging\\TestDox\\TestTriggeredWarningSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestTriggeredWarningSubscriber.php', 'PHPUnit\\Metadata\\After' => $vendorDir . '/phpunit/phpunit/src/Metadata/After.php', 'PHPUnit\\Metadata\\AfterClass' => $vendorDir . '/phpunit/phpunit/src/Metadata/AfterClass.php', 'PHPUnit\\Metadata\\Annotation\\Parser\\DocBlock' => $vendorDir . '/phpunit/phpunit/src/Metadata/Parser/Annotation/DocBlock.php', @@ -535,10 +538,8 @@ return array( 'PHPUnit\\Metadata\\ExcludeGlobalVariableFromBackup' => $vendorDir . '/phpunit/phpunit/src/Metadata/ExcludeGlobalVariableFromBackup.php', 'PHPUnit\\Metadata\\ExcludeStaticPropertyFromBackup' => $vendorDir . '/phpunit/phpunit/src/Metadata/ExcludeStaticPropertyFromBackup.php', 'PHPUnit\\Metadata\\Group' => $vendorDir . '/phpunit/phpunit/src/Metadata/Group.php', - 'PHPUnit\\Metadata\\IgnoreClassForCodeCoverage' => $vendorDir . '/phpunit/phpunit/src/Metadata/IgnoreClassForCodeCoverage.php', 'PHPUnit\\Metadata\\IgnoreDeprecations' => $vendorDir . '/phpunit/phpunit/src/Metadata/IgnoreDeprecations.php', - 'PHPUnit\\Metadata\\IgnoreFunctionForCodeCoverage' => $vendorDir . '/phpunit/phpunit/src/Metadata/IgnoreFunctionForCodeCoverage.php', - 'PHPUnit\\Metadata\\IgnoreMethodForCodeCoverage' => $vendorDir . '/phpunit/phpunit/src/Metadata/IgnoreMethodForCodeCoverage.php', + 'PHPUnit\\Metadata\\IgnorePhpunitDeprecations' => $vendorDir . '/phpunit/phpunit/src/Metadata/IgnorePhpunitDeprecations.php', 'PHPUnit\\Metadata\\InvalidVersionRequirementException' => $vendorDir . '/phpunit/phpunit/src/Metadata/Exception/InvalidVersionRequirementException.php', 'PHPUnit\\Metadata\\Metadata' => $vendorDir . '/phpunit/phpunit/src/Metadata/Metadata.php', 'PHPUnit\\Metadata\\MetadataCollection' => $vendorDir . '/phpunit/phpunit/src/Metadata/MetadataCollection.php', @@ -595,6 +596,11 @@ return array( 'PHPUnit\\Runner\\ClassDoesNotExtendTestCaseException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/ClassDoesNotExtendTestCaseException.php', 'PHPUnit\\Runner\\ClassIsAbstractException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/ClassIsAbstractException.php', 'PHPUnit\\Runner\\CodeCoverage' => $vendorDir . '/phpunit/phpunit/src/Runner/CodeCoverage.php', + 'PHPUnit\\Runner\\DeprecationCollector\\Collector' => $vendorDir . '/phpunit/phpunit/src/Runner/DeprecationCollector/Collector.php', + 'PHPUnit\\Runner\\DeprecationCollector\\Facade' => $vendorDir . '/phpunit/phpunit/src/Runner/DeprecationCollector/Facade.php', + 'PHPUnit\\Runner\\DeprecationCollector\\Subscriber' => $vendorDir . '/phpunit/phpunit/src/Runner/DeprecationCollector/Subscriber/Subscriber.php', + 'PHPUnit\\Runner\\DeprecationCollector\\TestPreparedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Runner/DeprecationCollector/Subscriber/TestPreparedSubscriber.php', + 'PHPUnit\\Runner\\DeprecationCollector\\TestTriggeredDeprecationSubscriber' => $vendorDir . '/phpunit/phpunit/src/Runner/DeprecationCollector/Subscriber/TestTriggeredDeprecationSubscriber.php', 'PHPUnit\\Runner\\DirectoryCannotBeCreatedException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/DirectoryCannotBeCreatedException.php', 'PHPUnit\\Runner\\ErrorException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/ErrorException.php', 'PHPUnit\\Runner\\ErrorHandler' => $vendorDir . '/phpunit/phpunit/src/Runner/ErrorHandler.php', @@ -606,9 +612,11 @@ return array( 'PHPUnit\\Runner\\Extension\\PharLoader' => $vendorDir . '/phpunit/phpunit/src/Runner/Extension/PharLoader.php', 'PHPUnit\\Runner\\FileDoesNotExistException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/FileDoesNotExistException.php', 'PHPUnit\\Runner\\Filter\\ExcludeGroupFilterIterator' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/ExcludeGroupFilterIterator.php', + 'PHPUnit\\Runner\\Filter\\ExcludeNameFilterIterator' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/ExcludeNameFilterIterator.php', 'PHPUnit\\Runner\\Filter\\Factory' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Factory.php', 'PHPUnit\\Runner\\Filter\\GroupFilterIterator' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/GroupFilterIterator.php', 'PHPUnit\\Runner\\Filter\\IncludeGroupFilterIterator' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/IncludeGroupFilterIterator.php', + 'PHPUnit\\Runner\\Filter\\IncludeNameFilterIterator' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/IncludeNameFilterIterator.php', 'PHPUnit\\Runner\\Filter\\NameFilterIterator' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/NameFilterIterator.php', 'PHPUnit\\Runner\\Filter\\TestIdFilterIterator' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/TestIdFilterIterator.php', 'PHPUnit\\Runner\\GarbageCollection\\ExecutionFinishedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Runner/GarbageCollection/Subscriber/ExecutionFinishedSubscriber.php', @@ -680,6 +688,7 @@ return array( 'PHPUnit\\TextUI\\Command\\Command' => $vendorDir . '/phpunit/phpunit/src/TextUI/Command/Command.php', 'PHPUnit\\TextUI\\Command\\GenerateConfigurationCommand' => $vendorDir . '/phpunit/phpunit/src/TextUI/Command/Commands/GenerateConfigurationCommand.php', 'PHPUnit\\TextUI\\Command\\ListGroupsCommand' => $vendorDir . '/phpunit/phpunit/src/TextUI/Command/Commands/ListGroupsCommand.php', + 'PHPUnit\\TextUI\\Command\\ListTestFilesCommand' => $vendorDir . '/phpunit/phpunit/src/TextUI/Command/Commands/ListTestFilesCommand.php', 'PHPUnit\\TextUI\\Command\\ListTestSuitesCommand' => $vendorDir . '/phpunit/phpunit/src/TextUI/Command/Commands/ListTestSuitesCommand.php', 'PHPUnit\\TextUI\\Command\\ListTestsAsTextCommand' => $vendorDir . '/phpunit/phpunit/src/TextUI/Command/Commands/ListTestsAsTextCommand.php', 'PHPUnit\\TextUI\\Command\\ListTestsAsXmlCommand' => $vendorDir . '/phpunit/phpunit/src/TextUI/Command/Commands/ListTestsAsXmlCommand.php', @@ -844,6 +853,7 @@ return array( 'PHPUnit\\TextUI\\XmlConfiguration\\RemoveLoggingElements' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveLoggingElements.php', 'PHPUnit\\TextUI\\XmlConfiguration\\RemoveNoInteractionAttribute' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveNoInteractionAttribute.php', 'PHPUnit\\TextUI\\XmlConfiguration\\RemovePrinterAttributes' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemovePrinterAttributes.php', + 'PHPUnit\\TextUI\\XmlConfiguration\\RemoveRegisterMockObjectsFromTestArgumentsRecursivelyAttribute' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveRegisterMockObjectsFromTestArgumentsRecursivelyAttribute.php', 'PHPUnit\\TextUI\\XmlConfiguration\\RemoveTestDoxGroupsElement' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveTestDoxGroupsElement.php', 'PHPUnit\\TextUI\\XmlConfiguration\\RemoveTestSuiteLoaderAttributes' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveTestSuiteLoaderAttributes.php', 'PHPUnit\\TextUI\\XmlConfiguration\\RemoveVerboseAttribute' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveVerboseAttribute.php', @@ -863,7 +873,6 @@ return array( 'PHPUnit\\Util\\Color' => $vendorDir . '/phpunit/phpunit/src/Util/Color.php', 'PHPUnit\\Util\\Exception' => $vendorDir . '/phpunit/phpunit/src/Util/Exception/Exception.php', 'PHPUnit\\Util\\ExcludeList' => $vendorDir . '/phpunit/phpunit/src/Util/ExcludeList.php', - 'PHPUnit\\Util\\Exporter' => $vendorDir . '/phpunit/phpunit/src/Util/Exporter.php', 'PHPUnit\\Util\\Filesystem' => $vendorDir . '/phpunit/phpunit/src/Util/Filesystem.php', 'PHPUnit\\Util\\Filter' => $vendorDir . '/phpunit/phpunit/src/Util/Filter.php', 'PHPUnit\\Util\\GlobalState' => $vendorDir . '/phpunit/phpunit/src/Util/GlobalState.php', @@ -923,6 +932,7 @@ return array( 'PharIo\\Manifest\\ManifestLoader' => $vendorDir . '/phar-io/manifest/src/ManifestLoader.php', 'PharIo\\Manifest\\ManifestLoaderException' => $vendorDir . '/phar-io/manifest/src/exceptions/ManifestLoaderException.php', 'PharIo\\Manifest\\ManifestSerializer' => $vendorDir . '/phar-io/manifest/src/ManifestSerializer.php', + 'PharIo\\Manifest\\NoEmailAddressException' => $vendorDir . '/phar-io/manifest/src/exceptions/NoEmailAddressException.php', 'PharIo\\Manifest\\PhpElement' => $vendorDir . '/phar-io/manifest/src/xml/PhpElement.php', 'PharIo\\Manifest\\PhpExtensionRequirement' => $vendorDir . '/phar-io/manifest/src/values/PhpExtensionRequirement.php', 'PharIo\\Manifest\\PhpVersionRequirement' => $vendorDir . '/phar-io/manifest/src/values/PhpVersionRequirement.php', diff --git a/Sources/vendor/composer/autoload_psr4.php b/Sources/vendor/composer/autoload_psr4.php index 7d78eeb5..faf4cd58 100644 --- a/Sources/vendor/composer/autoload_psr4.php +++ b/Sources/vendor/composer/autoload_psr4.php @@ -22,7 +22,6 @@ return array( 'Network\\' => array($baseDir . '/src/data/core/network'), 'Model\\' => array($baseDir . '/src/data/model'), 'Manager\\' => array($baseDir . '/src/data/model/manager'), - 'Json\\' => array($baseDir . '/src/data/core/json'), 'Hearttrack\\' => array($baseDir . '/src'), 'GrahamCampbell\\ResultType\\' => array($vendorDir . '/graham-campbell/result-type/src'), 'Dotenv\\' => array($vendorDir . '/vlucas/phpdotenv/src'), diff --git a/Sources/vendor/composer/autoload_real.php b/Sources/vendor/composer/autoload_real.php index b9f54e08..befb6a29 100644 --- a/Sources/vendor/composer/autoload_real.php +++ b/Sources/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInit1887e85fc3cfddacf8d7e17588dae6f1 +class ComposerAutoloaderInit4c2287070574f70d470b239b224aef76 { private static $loader; @@ -24,16 +24,16 @@ class ComposerAutoloaderInit1887e85fc3cfddacf8d7e17588dae6f1 require __DIR__ . '/platform_check.php'; - spl_autoload_register(array('ComposerAutoloaderInit1887e85fc3cfddacf8d7e17588dae6f1', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInit4c2287070574f70d470b239b224aef76', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); - spl_autoload_unregister(array('ComposerAutoloaderInit1887e85fc3cfddacf8d7e17588dae6f1', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInit4c2287070574f70d470b239b224aef76', 'loadClassLoader')); require __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInit1887e85fc3cfddacf8d7e17588dae6f1::getInitializer($loader)); + call_user_func(\Composer\Autoload\ComposerStaticInit4c2287070574f70d470b239b224aef76::getInitializer($loader)); $loader->register(true); - $filesToLoad = \Composer\Autoload\ComposerStaticInit1887e85fc3cfddacf8d7e17588dae6f1::$files; + $filesToLoad = \Composer\Autoload\ComposerStaticInit4c2287070574f70d470b239b224aef76::$files; $requireFile = \Closure::bind(static function ($fileIdentifier, $file) { if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; diff --git a/Sources/vendor/composer/autoload_static.php b/Sources/vendor/composer/autoload_static.php index f8d6fde8..6a310a98 100644 --- a/Sources/vendor/composer/autoload_static.php +++ b/Sources/vendor/composer/autoload_static.php @@ -4,7 +4,7 @@ namespace Composer\Autoload; -class ComposerStaticInit1887e85fc3cfddacf8d7e17588dae6f1 +class ComposerStaticInit4c2287070574f70d470b239b224aef76 { public static $files = array ( '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php', @@ -52,10 +52,6 @@ class ComposerStaticInit1887e85fc3cfddacf8d7e17588dae6f1 'Model\\' => 6, 'Manager\\' => 8, ), - 'J' => - array ( - 'Json\\' => 5, - ), 'H' => array ( 'Hearttrack\\' => 11, @@ -155,10 +151,6 @@ class ComposerStaticInit1887e85fc3cfddacf8d7e17588dae6f1 array ( 0 => __DIR__ . '/../..' . '/src/data/model/manager', ), - 'Json\\' => - array ( - 0 => __DIR__ . '/../..' . '/src/data/core/json', - ), 'Hearttrack\\' => array ( 0 => __DIR__ . '/../..' . '/src', @@ -286,7 +278,6 @@ class ComposerStaticInit1887e85fc3cfddacf8d7e17588dae6f1 'PHPUnit\\Event\\Telemetry\\SystemStopWatchWithOffset' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Value/Telemetry/SystemStopWatchWithOffset.php', 'PHPUnit\\Event\\TestData\\DataFromDataProvider' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Value/Test/TestData/DataFromDataProvider.php', 'PHPUnit\\Event\\TestData\\DataFromTestDependency' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Value/Test/TestData/DataFromTestDependency.php', - 'PHPUnit\\Event\\TestData\\MoreThanOneDataSetFromDataProviderException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Exception/MoreThanOneDataSetFromDataProviderException.php', 'PHPUnit\\Event\\TestData\\NoDataSetFromDataProviderException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Exception/NoDataSetFromDataProviderException.php', 'PHPUnit\\Event\\TestData\\TestData' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Value/Test/TestData/TestData.php', 'PHPUnit\\Event\\TestData\\TestDataCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Value/Test/TestData/TestDataCollection.php', @@ -346,10 +337,6 @@ class ComposerStaticInit1887e85fc3cfddacf8d7e17588dae6f1 'PHPUnit\\Event\\Test\\AfterTestMethodCalledSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodCalledSubscriber.php', 'PHPUnit\\Event\\Test\\AfterTestMethodFinished' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodFinished.php', 'PHPUnit\\Event\\Test\\AfterTestMethodFinishedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodFinishedSubscriber.php', - 'PHPUnit\\Event\\Test\\AssertionFailed' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionFailed.php', - 'PHPUnit\\Event\\Test\\AssertionFailedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionFailedSubscriber.php', - 'PHPUnit\\Event\\Test\\AssertionSucceeded' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionSucceeded.php', - 'PHPUnit\\Event\\Test\\AssertionSucceededSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionSucceededSubscriber.php', 'PHPUnit\\Event\\Test\\BeforeFirstTestMethodCalled' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeFirstTestMethodCalled.php', 'PHPUnit\\Event\\Test\\BeforeFirstTestMethodCalledSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeFirstTestMethodCalledSubscriber.php', 'PHPUnit\\Event\\Test\\BeforeFirstTestMethodErrored' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeFirstTestMethodErrored.php', @@ -451,7 +438,6 @@ class ComposerStaticInit1887e85fc3cfddacf8d7e17588dae6f1 'PHPUnit\\Framework\\Attributes\\BackupStaticProperties' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/BackupStaticProperties.php', 'PHPUnit\\Framework\\Attributes\\Before' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/Before.php', 'PHPUnit\\Framework\\Attributes\\BeforeClass' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/BeforeClass.php', - 'PHPUnit\\Framework\\Attributes\\CodeCoverageIgnore' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/CodeCoverageIgnore.php', 'PHPUnit\\Framework\\Attributes\\CoversClass' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/CoversClass.php', 'PHPUnit\\Framework\\Attributes\\CoversFunction' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/CoversFunction.php', 'PHPUnit\\Framework\\Attributes\\CoversNothing' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/CoversNothing.php', @@ -470,10 +456,8 @@ class ComposerStaticInit1887e85fc3cfddacf8d7e17588dae6f1 'PHPUnit\\Framework\\Attributes\\ExcludeGlobalVariableFromBackup' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/ExcludeGlobalVariableFromBackup.php', 'PHPUnit\\Framework\\Attributes\\ExcludeStaticPropertyFromBackup' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/ExcludeStaticPropertyFromBackup.php', 'PHPUnit\\Framework\\Attributes\\Group' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/Group.php', - 'PHPUnit\\Framework\\Attributes\\IgnoreClassForCodeCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/IgnoreClassForCodeCoverage.php', 'PHPUnit\\Framework\\Attributes\\IgnoreDeprecations' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/IgnoreDeprecations.php', - 'PHPUnit\\Framework\\Attributes\\IgnoreFunctionForCodeCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/IgnoreFunctionForCodeCoverage.php', - 'PHPUnit\\Framework\\Attributes\\IgnoreMethodForCodeCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/IgnoreMethodForCodeCoverage.php', + 'PHPUnit\\Framework\\Attributes\\IgnorePhpunitDeprecations' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/IgnorePhpunitDeprecations.php', 'PHPUnit\\Framework\\Attributes\\Large' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/Large.php', 'PHPUnit\\Framework\\Attributes\\Medium' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/Medium.php', 'PHPUnit\\Framework\\Attributes\\PostCondition' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/PostCondition.php', @@ -581,6 +565,8 @@ class ComposerStaticInit1887e85fc3cfddacf8d7e17588dae6f1 'PHPUnit\\Framework\\MockObject\\ConfigurableMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/ConfigurableMethod.php', 'PHPUnit\\Framework\\MockObject\\DoubledCloneMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/DoubledCloneMethod.php', 'PHPUnit\\Framework\\MockObject\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/Exception.php', + 'PHPUnit\\Framework\\MockObject\\GeneratedAsMockObject' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/GeneratedAsMockObject.php', + 'PHPUnit\\Framework\\MockObject\\GeneratedAsTestStub' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/GeneratedAsTestStub.php', 'PHPUnit\\Framework\\MockObject\\Generator\\ClassAlreadyExistsException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassAlreadyExistsException.php', 'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsEnumerationException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsEnumerationException.php', 'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsFinalException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsFinalException.php', @@ -723,6 +709,15 @@ class ComposerStaticInit1887e85fc3cfddacf8d7e17588dae6f1 'PHPUnit\\Logging\\TestDox\\TestResultCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TestDox/TestResult/TestResultCollectionIterator.php', 'PHPUnit\\Logging\\TestDox\\TestResultCollector' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TestDox/TestResult/TestResultCollector.php', 'PHPUnit\\Logging\\TestDox\\TestSkippedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestSkippedSubscriber.php', + 'PHPUnit\\Logging\\TestDox\\TestTriggeredDeprecationSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestTriggeredDeprecationSubscriber.php', + 'PHPUnit\\Logging\\TestDox\\TestTriggeredNoticeSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestTriggeredNoticeSubscriber.php', + 'PHPUnit\\Logging\\TestDox\\TestTriggeredPhpDeprecationSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestTriggeredPhpDeprecationSubscriber.php', + 'PHPUnit\\Logging\\TestDox\\TestTriggeredPhpNoticeSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestTriggeredPhpNoticeSubscriber.php', + 'PHPUnit\\Logging\\TestDox\\TestTriggeredPhpWarningSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestTriggeredPhpWarningSubscriber.php', + 'PHPUnit\\Logging\\TestDox\\TestTriggeredPhpunitDeprecationSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestTriggeredPhpunitDeprecationSubscriber.php', + 'PHPUnit\\Logging\\TestDox\\TestTriggeredPhpunitErrorSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestTriggeredPhpunitErrorSubscriber.php', + 'PHPUnit\\Logging\\TestDox\\TestTriggeredPhpunitWarningSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestTriggeredPhpunitWarningSubscriber.php', + 'PHPUnit\\Logging\\TestDox\\TestTriggeredWarningSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestTriggeredWarningSubscriber.php', 'PHPUnit\\Metadata\\After' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/After.php', 'PHPUnit\\Metadata\\AfterClass' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/AfterClass.php', 'PHPUnit\\Metadata\\Annotation\\Parser\\DocBlock' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Parser/Annotation/DocBlock.php', @@ -751,10 +746,8 @@ class ComposerStaticInit1887e85fc3cfddacf8d7e17588dae6f1 'PHPUnit\\Metadata\\ExcludeGlobalVariableFromBackup' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/ExcludeGlobalVariableFromBackup.php', 'PHPUnit\\Metadata\\ExcludeStaticPropertyFromBackup' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/ExcludeStaticPropertyFromBackup.php', 'PHPUnit\\Metadata\\Group' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Group.php', - 'PHPUnit\\Metadata\\IgnoreClassForCodeCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/IgnoreClassForCodeCoverage.php', 'PHPUnit\\Metadata\\IgnoreDeprecations' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/IgnoreDeprecations.php', - 'PHPUnit\\Metadata\\IgnoreFunctionForCodeCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/IgnoreFunctionForCodeCoverage.php', - 'PHPUnit\\Metadata\\IgnoreMethodForCodeCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/IgnoreMethodForCodeCoverage.php', + 'PHPUnit\\Metadata\\IgnorePhpunitDeprecations' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/IgnorePhpunitDeprecations.php', 'PHPUnit\\Metadata\\InvalidVersionRequirementException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Exception/InvalidVersionRequirementException.php', 'PHPUnit\\Metadata\\Metadata' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Metadata.php', 'PHPUnit\\Metadata\\MetadataCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/MetadataCollection.php', @@ -811,6 +804,11 @@ class ComposerStaticInit1887e85fc3cfddacf8d7e17588dae6f1 'PHPUnit\\Runner\\ClassDoesNotExtendTestCaseException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/ClassDoesNotExtendTestCaseException.php', 'PHPUnit\\Runner\\ClassIsAbstractException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/ClassIsAbstractException.php', 'PHPUnit\\Runner\\CodeCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/CodeCoverage.php', + 'PHPUnit\\Runner\\DeprecationCollector\\Collector' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/DeprecationCollector/Collector.php', + 'PHPUnit\\Runner\\DeprecationCollector\\Facade' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/DeprecationCollector/Facade.php', + 'PHPUnit\\Runner\\DeprecationCollector\\Subscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/DeprecationCollector/Subscriber/Subscriber.php', + 'PHPUnit\\Runner\\DeprecationCollector\\TestPreparedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/DeprecationCollector/Subscriber/TestPreparedSubscriber.php', + 'PHPUnit\\Runner\\DeprecationCollector\\TestTriggeredDeprecationSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/DeprecationCollector/Subscriber/TestTriggeredDeprecationSubscriber.php', 'PHPUnit\\Runner\\DirectoryCannotBeCreatedException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/DirectoryCannotBeCreatedException.php', 'PHPUnit\\Runner\\ErrorException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/ErrorException.php', 'PHPUnit\\Runner\\ErrorHandler' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/ErrorHandler.php', @@ -822,9 +820,11 @@ class ComposerStaticInit1887e85fc3cfddacf8d7e17588dae6f1 'PHPUnit\\Runner\\Extension\\PharLoader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Extension/PharLoader.php', 'PHPUnit\\Runner\\FileDoesNotExistException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/FileDoesNotExistException.php', 'PHPUnit\\Runner\\Filter\\ExcludeGroupFilterIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/ExcludeGroupFilterIterator.php', + 'PHPUnit\\Runner\\Filter\\ExcludeNameFilterIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/ExcludeNameFilterIterator.php', 'PHPUnit\\Runner\\Filter\\Factory' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/Factory.php', 'PHPUnit\\Runner\\Filter\\GroupFilterIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/GroupFilterIterator.php', 'PHPUnit\\Runner\\Filter\\IncludeGroupFilterIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/IncludeGroupFilterIterator.php', + 'PHPUnit\\Runner\\Filter\\IncludeNameFilterIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/IncludeNameFilterIterator.php', 'PHPUnit\\Runner\\Filter\\NameFilterIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/NameFilterIterator.php', 'PHPUnit\\Runner\\Filter\\TestIdFilterIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/TestIdFilterIterator.php', 'PHPUnit\\Runner\\GarbageCollection\\ExecutionFinishedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/GarbageCollection/Subscriber/ExecutionFinishedSubscriber.php', @@ -896,6 +896,7 @@ class ComposerStaticInit1887e85fc3cfddacf8d7e17588dae6f1 'PHPUnit\\TextUI\\Command\\Command' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Command/Command.php', 'PHPUnit\\TextUI\\Command\\GenerateConfigurationCommand' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Command/Commands/GenerateConfigurationCommand.php', 'PHPUnit\\TextUI\\Command\\ListGroupsCommand' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Command/Commands/ListGroupsCommand.php', + 'PHPUnit\\TextUI\\Command\\ListTestFilesCommand' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Command/Commands/ListTestFilesCommand.php', 'PHPUnit\\TextUI\\Command\\ListTestSuitesCommand' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Command/Commands/ListTestSuitesCommand.php', 'PHPUnit\\TextUI\\Command\\ListTestsAsTextCommand' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Command/Commands/ListTestsAsTextCommand.php', 'PHPUnit\\TextUI\\Command\\ListTestsAsXmlCommand' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Command/Commands/ListTestsAsXmlCommand.php', @@ -1060,6 +1061,7 @@ class ComposerStaticInit1887e85fc3cfddacf8d7e17588dae6f1 'PHPUnit\\TextUI\\XmlConfiguration\\RemoveLoggingElements' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveLoggingElements.php', 'PHPUnit\\TextUI\\XmlConfiguration\\RemoveNoInteractionAttribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveNoInteractionAttribute.php', 'PHPUnit\\TextUI\\XmlConfiguration\\RemovePrinterAttributes' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemovePrinterAttributes.php', + 'PHPUnit\\TextUI\\XmlConfiguration\\RemoveRegisterMockObjectsFromTestArgumentsRecursivelyAttribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveRegisterMockObjectsFromTestArgumentsRecursivelyAttribute.php', 'PHPUnit\\TextUI\\XmlConfiguration\\RemoveTestDoxGroupsElement' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveTestDoxGroupsElement.php', 'PHPUnit\\TextUI\\XmlConfiguration\\RemoveTestSuiteLoaderAttributes' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveTestSuiteLoaderAttributes.php', 'PHPUnit\\TextUI\\XmlConfiguration\\RemoveVerboseAttribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveVerboseAttribute.php', @@ -1079,7 +1081,6 @@ class ComposerStaticInit1887e85fc3cfddacf8d7e17588dae6f1 'PHPUnit\\Util\\Color' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Color.php', 'PHPUnit\\Util\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Exception/Exception.php', 'PHPUnit\\Util\\ExcludeList' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/ExcludeList.php', - 'PHPUnit\\Util\\Exporter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Exporter.php', 'PHPUnit\\Util\\Filesystem' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Filesystem.php', 'PHPUnit\\Util\\Filter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Filter.php', 'PHPUnit\\Util\\GlobalState' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/GlobalState.php', @@ -1139,6 +1140,7 @@ class ComposerStaticInit1887e85fc3cfddacf8d7e17588dae6f1 'PharIo\\Manifest\\ManifestLoader' => __DIR__ . '/..' . '/phar-io/manifest/src/ManifestLoader.php', 'PharIo\\Manifest\\ManifestLoaderException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/ManifestLoaderException.php', 'PharIo\\Manifest\\ManifestSerializer' => __DIR__ . '/..' . '/phar-io/manifest/src/ManifestSerializer.php', + 'PharIo\\Manifest\\NoEmailAddressException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/NoEmailAddressException.php', 'PharIo\\Manifest\\PhpElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/PhpElement.php', 'PharIo\\Manifest\\PhpExtensionRequirement' => __DIR__ . '/..' . '/phar-io/manifest/src/values/PhpExtensionRequirement.php', 'PharIo\\Manifest\\PhpVersionRequirement' => __DIR__ . '/..' . '/phar-io/manifest/src/values/PhpVersionRequirement.php', @@ -1389,9 +1391,9 @@ class ComposerStaticInit1887e85fc3cfddacf8d7e17588dae6f1 public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInit1887e85fc3cfddacf8d7e17588dae6f1::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInit1887e85fc3cfddacf8d7e17588dae6f1::$prefixDirsPsr4; - $loader->classMap = ComposerStaticInit1887e85fc3cfddacf8d7e17588dae6f1::$classMap; + $loader->prefixLengthsPsr4 = ComposerStaticInit4c2287070574f70d470b239b224aef76::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInit4c2287070574f70d470b239b224aef76::$prefixDirsPsr4; + $loader->classMap = ComposerStaticInit4c2287070574f70d470b239b224aef76::$classMap; }, null, ClassLoader::class); } diff --git a/Sources/vendor/composer/installed.json b/Sources/vendor/composer/installed.json index 17169bbb..c2674881 100644 --- a/Sources/vendor/composer/installed.json +++ b/Sources/vendor/composer/installed.json @@ -228,17 +228,17 @@ }, { "name": "nikic/php-parser", - "version": "v5.0.0", - "version_normalized": "5.0.0.0", + "version": "v5.0.2", + "version_normalized": "5.0.2.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "4a21235f7e56e713259a6f76bf4b5ea08502b9dc" + "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4a21235f7e56e713259a6f76bf4b5ea08502b9dc", - "reference": "4a21235f7e56e713259a6f76bf4b5ea08502b9dc", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13", + "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13", "shasum": "" }, "require": { @@ -251,7 +251,7 @@ "ircmaxell/php-yacc": "^0.0.7", "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" }, - "time": "2024-01-07T17:17:35+00:00", + "time": "2024-03-05T20:51:40+00:00", "bin": [ "bin/php-parse" ], @@ -283,33 +283,34 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2" }, "install-path": "../nikic/php-parser" }, { "name": "phar-io/manifest", - "version": "2.0.3", - "version_normalized": "2.0.3.0", + "version": "2.0.4", + "version_normalized": "2.0.4.0", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53" + "reference": "54750ef60c58e43759730615a392c31c80e23176" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", + "reference": "54750ef60c58e43759730615a392c31c80e23176", "shasum": "" }, "require": { "ext-dom": "*", + "ext-libxml": "*", "ext-phar": "*", "ext-xmlwriter": "*", "phar-io/version": "^3.0.1", "php": "^7.2 || ^8.0" }, - "time": "2021-07-20T11:28:43+00:00", + "time": "2024-03-03T12:33:53+00:00", "type": "library", "extra": { "branch-alias": { @@ -346,8 +347,14 @@ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", "support": { "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.3" + "source": "https://github.com/phar-io/manifest/tree/2.0.4" }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], "install-path": "../phar-io/manifest" }, { @@ -484,46 +491,46 @@ }, { "name": "phpunit/php-code-coverage", - "version": "10.1.11", - "version_normalized": "10.1.11.0", + "version": "11.0.3", + "version_normalized": "11.0.3.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "78c3b7625965c2513ee96569a4dbb62601784145" + "reference": "7e35a2cbcabac0e6865fd373742ea432a3c34f92" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/78c3b7625965c2513ee96569a4dbb62601784145", - "reference": "78c3b7625965c2513ee96569a4dbb62601784145", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7e35a2cbcabac0e6865fd373742ea432a3c34f92", + "reference": "7e35a2cbcabac0e6865fd373742ea432a3c34f92", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=8.1", - "phpunit/php-file-iterator": "^4.0", - "phpunit/php-text-template": "^3.0", - "sebastian/code-unit-reverse-lookup": "^3.0", - "sebastian/complexity": "^3.0", - "sebastian/environment": "^6.0", - "sebastian/lines-of-code": "^2.0", - "sebastian/version": "^4.0", + "nikic/php-parser": "^5.0", + "php": ">=8.2", + "phpunit/php-file-iterator": "^5.0", + "phpunit/php-text-template": "^4.0", + "sebastian/code-unit-reverse-lookup": "^4.0", + "sebastian/complexity": "^4.0", + "sebastian/environment": "^7.0", + "sebastian/lines-of-code": "^3.0", + "sebastian/version": "^5.0", "theseer/tokenizer": "^1.2.0" }, "require-dev": { - "phpunit/phpunit": "^10.1" + "phpunit/phpunit": "^11.0" }, "suggest": { "ext-pcov": "PHP extension that provides line coverage", "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" }, - "time": "2023-12-21T15:38:30+00:00", + "time": "2024-03-12T15:35:40+00:00", "type": "library", "extra": { "branch-alias": { - "dev-main": "10.1-dev" + "dev-main": "11.0-dev" } }, "installation-source": "dist", @@ -553,7 +560,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.11" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.3" }, "funding": [ { @@ -565,30 +572,30 @@ }, { "name": "phpunit/php-file-iterator", - "version": "4.1.0", - "version_normalized": "4.1.0.0", + "version": "5.0.0", + "version_normalized": "5.0.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c" + "reference": "99e95c94ad9500daca992354fa09d7b99abe2210" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c", - "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/99e95c94ad9500daca992354fa09d7b99abe2210", + "reference": "99e95c94ad9500daca992354fa09d7b99abe2210", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, - "time": "2023-08-31T06:24:48+00:00", + "time": "2024-02-02T06:05:04+00:00", "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "installation-source": "dist", @@ -617,7 +624,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0" + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.0.0" }, "funding": [ { @@ -629,34 +636,34 @@ }, { "name": "phpunit/php-invoker", - "version": "4.0.0", - "version_normalized": "4.0.0.0", + "version": "5.0.0", + "version_normalized": "5.0.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7" + "reference": "5d8d9355a16d8cc5a1305b0a85342cfa420612be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", - "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5d8d9355a16d8cc5a1305b0a85342cfa420612be", + "reference": "5d8d9355a16d8cc5a1305b0a85342cfa420612be", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { "ext-pcntl": "*", - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "suggest": { "ext-pcntl": "*" }, - "time": "2023-02-03T06:56:09+00:00", + "time": "2024-02-02T06:05:50+00:00", "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "installation-source": "dist", @@ -683,7 +690,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0" + "security": "https://github.com/sebastianbergmann/php-invoker/security/policy", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.0" }, "funding": [ { @@ -695,30 +703,30 @@ }, { "name": "phpunit/php-text-template", - "version": "3.0.1", - "version_normalized": "3.0.1.0", + "version": "4.0.0", + "version_normalized": "4.0.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748" + "reference": "d38f6cbff1cdb6f40b03c9811421561668cc133e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748", - "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/d38f6cbff1cdb6f40b03c9811421561668cc133e", + "reference": "d38f6cbff1cdb6f40b03c9811421561668cc133e", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, - "time": "2023-08-31T14:07:24+00:00", + "time": "2024-02-02T06:06:56+00:00", "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } }, "installation-source": "dist", @@ -746,7 +754,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-text-template/issues", "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1" + "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.0" }, "funding": [ { @@ -758,30 +766,30 @@ }, { "name": "phpunit/php-timer", - "version": "6.0.0", - "version_normalized": "6.0.0.0", + "version": "7.0.0", + "version_normalized": "7.0.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d" + "reference": "8a59d9e25720482ee7fcdf296595e08795b84dc5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d", - "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8a59d9e25720482ee7fcdf296595e08795b84dc5", + "reference": "8a59d9e25720482ee7fcdf296595e08795b84dc5", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, - "time": "2023-02-03T06:57:52+00:00", + "time": "2024-02-02T06:08:01+00:00", "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.0-dev" } }, "installation-source": "dist", @@ -808,7 +816,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0" + "security": "https://github.com/sebastianbergmann/php-timer/security/policy", + "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.0" }, "funding": [ { @@ -820,17 +829,17 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.5", - "version_normalized": "10.5.5.0", + "version": "11.0.8", + "version_normalized": "11.0.8.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "ed21115d505b4b4f7dc7b5651464e19a2c7f7856" + "reference": "48ea58408879a9aad630022186398364051482fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/ed21115d505b4b4f7dc7b5651464e19a2c7f7856", - "reference": "ed21115d505b4b4f7dc7b5651464e19a2c7f7856", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/48ea58408879a9aad630022186398364051482fc", + "reference": "48ea58408879a9aad630022186398364051482fc", "shasum": "" }, "require": { @@ -843,35 +852,34 @@ "myclabs/deep-copy": "^1.10.1", "phar-io/manifest": "^2.0.3", "phar-io/version": "^3.0.2", - "php": ">=8.1", - "phpunit/php-code-coverage": "^10.1.5", - "phpunit/php-file-iterator": "^4.0", - "phpunit/php-invoker": "^4.0", - "phpunit/php-text-template": "^3.0", - "phpunit/php-timer": "^6.0", - "sebastian/cli-parser": "^2.0", - "sebastian/code-unit": "^2.0", - "sebastian/comparator": "^5.0", - "sebastian/diff": "^5.0", - "sebastian/environment": "^6.0", - "sebastian/exporter": "^5.1", - "sebastian/global-state": "^6.0.1", - "sebastian/object-enumerator": "^5.0", - "sebastian/recursion-context": "^5.0", - "sebastian/type": "^4.0", - "sebastian/version": "^4.0" + "php": ">=8.2", + "phpunit/php-code-coverage": "^11.0", + "phpunit/php-file-iterator": "^5.0", + "phpunit/php-invoker": "^5.0", + "phpunit/php-text-template": "^4.0", + "phpunit/php-timer": "^7.0", + "sebastian/cli-parser": "^3.0", + "sebastian/code-unit": "^3.0", + "sebastian/comparator": "^6.0", + "sebastian/diff": "^6.0", + "sebastian/environment": "^7.0", + "sebastian/exporter": "^6.0", + "sebastian/global-state": "^7.0", + "sebastian/object-enumerator": "^6.0", + "sebastian/type": "^5.0", + "sebastian/version": "^5.0" }, "suggest": { "ext-soap": "To be able to generate mocks based on WSDL files" }, - "time": "2023-12-27T15:13:52+00:00", + "time": "2024-03-22T04:21:01+00:00", "bin": [ "phpunit" ], "type": "library", "extra": { "branch-alias": { - "dev-main": "10.5-dev" + "dev-main": "11.0-dev" } }, "installation-source": "dist", @@ -904,7 +912,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.5" + "source": "https://github.com/sebastianbergmann/phpunit/tree/11.0.8" }, "funding": [ { @@ -980,30 +988,30 @@ }, { "name": "sebastian/cli-parser", - "version": "2.0.0", - "version_normalized": "2.0.0.0", + "version": "3.0.1", + "version_normalized": "3.0.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae" + "reference": "00a74d5568694711f0222e54fb281e1d15fdf04a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/efdc130dbbbb8ef0b545a994fd811725c5282cae", - "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/00a74d5568694711f0222e54fb281e1d15fdf04a", + "reference": "00a74d5568694711f0222e54fb281e1d15fdf04a", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, - "time": "2023-02-03T06:58:15+00:00", + "time": "2024-03-02T07:26:58+00:00", "type": "library", "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } }, "installation-source": "dist", @@ -1027,7 +1035,8 @@ "homepage": "https://github.com/sebastianbergmann/cli-parser", "support": { "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.0" + "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.1" }, "funding": [ { @@ -1039,30 +1048,30 @@ }, { "name": "sebastian/code-unit", - "version": "2.0.0", - "version_normalized": "2.0.0.0", + "version": "3.0.0", + "version_normalized": "3.0.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "a81fee9eef0b7a76af11d121767abc44c104e503" + "reference": "6634549cb8d702282a04a774e36a7477d2bd9015" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503", - "reference": "a81fee9eef0b7a76af11d121767abc44c104e503", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/6634549cb8d702282a04a774e36a7477d2bd9015", + "reference": "6634549cb8d702282a04a774e36a7477d2bd9015", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, - "time": "2023-02-03T06:58:43+00:00", + "time": "2024-02-02T05:50:41+00:00", "type": "library", "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } }, "installation-source": "dist", @@ -1086,7 +1095,8 @@ "homepage": "https://github.com/sebastianbergmann/code-unit", "support": { "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0" + "security": "https://github.com/sebastianbergmann/code-unit/security/policy", + "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.0" }, "funding": [ { @@ -1098,30 +1108,30 @@ }, { "name": "sebastian/code-unit-reverse-lookup", - "version": "3.0.0", - "version_normalized": "3.0.0.0", + "version": "4.0.0", + "version_normalized": "4.0.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d" + "reference": "df80c875d3e459b45c6039e4d9b71d4fbccae25d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", - "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/df80c875d3e459b45c6039e4d9b71d4fbccae25d", + "reference": "df80c875d3e459b45c6039e4d9b71d4fbccae25d", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, - "time": "2023-02-03T06:59:15+00:00", + "time": "2024-02-02T05:52:17+00:00", "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } }, "installation-source": "dist", @@ -1144,7 +1154,8 @@ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", "support": { "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0" + "security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.0" }, "funding": [ { @@ -1156,34 +1167,34 @@ }, { "name": "sebastian/comparator", - "version": "5.0.1", - "version_normalized": "5.0.1.0", + "version": "6.0.0", + "version_normalized": "6.0.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2db5010a484d53ebf536087a70b4a5423c102372" + "reference": "bd0f2fa5b9257c69903537b266ccb80fcf940db8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2db5010a484d53ebf536087a70b4a5423c102372", - "reference": "2db5010a484d53ebf536087a70b4a5423c102372", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/bd0f2fa5b9257c69903537b266ccb80fcf940db8", + "reference": "bd0f2fa5b9257c69903537b266ccb80fcf940db8", "shasum": "" }, "require": { "ext-dom": "*", "ext-mbstring": "*", - "php": ">=8.1", - "sebastian/diff": "^5.0", - "sebastian/exporter": "^5.0" + "php": ">=8.2", + "sebastian/diff": "^6.0", + "sebastian/exporter": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^10.3" + "phpunit/phpunit": "^11.0" }, - "time": "2023-08-14T13:18:12+00:00", + "time": "2024-02-02T05:53:45+00:00", "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.0-dev" } }, "installation-source": "dist", @@ -1224,7 +1235,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.1" + "source": "https://github.com/sebastianbergmann/comparator/tree/6.0.0" }, "funding": [ { @@ -1236,31 +1247,31 @@ }, { "name": "sebastian/complexity", - "version": "3.2.0", - "version_normalized": "3.2.0.0", + "version": "4.0.0", + "version_normalized": "4.0.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "68ff824baeae169ec9f2137158ee529584553799" + "reference": "88a434ad86150e11a606ac4866b09130712671f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799", - "reference": "68ff824baeae169ec9f2137158ee529584553799", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/88a434ad86150e11a606ac4866b09130712671f0", + "reference": "88a434ad86150e11a606ac4866b09130712671f0", "shasum": "" }, "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=8.1" + "nikic/php-parser": "^5.0", + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, - "time": "2023-12-21T08:37:17+00:00", + "time": "2024-02-02T05:55:19+00:00", "type": "library", "extra": { "branch-alias": { - "dev-main": "3.2-dev" + "dev-main": "4.0-dev" } }, "installation-source": "dist", @@ -1285,7 +1296,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", "security": "https://github.com/sebastianbergmann/complexity/security/policy", - "source": "https://github.com/sebastianbergmann/complexity/tree/3.2.0" + "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.0" }, "funding": [ { @@ -1297,31 +1308,31 @@ }, { "name": "sebastian/diff", - "version": "5.1.0", - "version_normalized": "5.1.0.0", + "version": "6.0.1", + "version_normalized": "6.0.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "fbf413a49e54f6b9b17e12d900ac7f6101591b7f" + "reference": "ab83243ecc233de5655b76f577711de9f842e712" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/fbf413a49e54f6b9b17e12d900ac7f6101591b7f", - "reference": "fbf413a49e54f6b9b17e12d900ac7f6101591b7f", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ab83243ecc233de5655b76f577711de9f842e712", + "reference": "ab83243ecc233de5655b76f577711de9f842e712", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0", + "phpunit/phpunit": "^11.0", "symfony/process": "^4.2 || ^5" }, - "time": "2023-12-22T10:55:06+00:00", + "time": "2024-03-02T07:30:33+00:00", "type": "library", "extra": { "branch-alias": { - "dev-main": "5.1-dev" + "dev-main": "6.0-dev" } }, "installation-source": "dist", @@ -1355,7 +1366,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", "security": "https://github.com/sebastianbergmann/diff/security/policy", - "source": "https://github.com/sebastianbergmann/diff/tree/5.1.0" + "source": "https://github.com/sebastianbergmann/diff/tree/6.0.1" }, "funding": [ { @@ -1367,33 +1378,33 @@ }, { "name": "sebastian/environment", - "version": "6.0.1", - "version_normalized": "6.0.1.0", + "version": "7.1.0", + "version_normalized": "7.1.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951" + "reference": "4eb3a442574d0e9d141aab209cd4aaf25701b09a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/43c751b41d74f96cbbd4e07b7aec9675651e2951", - "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/4eb3a442574d0e9d141aab209cd4aaf25701b09a", + "reference": "4eb3a442574d0e9d141aab209cd4aaf25701b09a", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "suggest": { "ext-posix": "*" }, - "time": "2023-04-11T05:39:26+00:00", + "time": "2024-03-23T08:56:34+00:00", "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.1-dev" } }, "installation-source": "dist", @@ -1422,7 +1433,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", "security": "https://github.com/sebastianbergmann/environment/security/policy", - "source": "https://github.com/sebastianbergmann/environment/tree/6.0.1" + "source": "https://github.com/sebastianbergmann/environment/tree/7.1.0" }, "funding": [ { @@ -1434,32 +1445,32 @@ }, { "name": "sebastian/exporter", - "version": "5.1.1", - "version_normalized": "5.1.1.0", + "version": "6.0.1", + "version_normalized": "6.0.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc" + "reference": "f291e5a317c321c0381fa9ecc796fa2d21b186da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/64f51654862e0f5e318db7e9dcc2292c63cdbddc", - "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/f291e5a317c321c0381fa9ecc796fa2d21b186da", + "reference": "f291e5a317c321c0381fa9ecc796fa2d21b186da", "shasum": "" }, "require": { "ext-mbstring": "*", - "php": ">=8.1", - "sebastian/recursion-context": "^5.0" + "php": ">=8.2", + "sebastian/recursion-context": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, - "time": "2023-09-24T13:22:09+00:00", + "time": "2024-03-02T07:28:20+00:00", "type": "library", "extra": { "branch-alias": { - "dev-main": "5.1-dev" + "dev-main": "6.0-dev" } }, "installation-source": "dist", @@ -1503,7 +1514,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", "security": "https://github.com/sebastianbergmann/exporter/security/policy", - "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.1" + "source": "https://github.com/sebastianbergmann/exporter/tree/6.0.1" }, "funding": [ { @@ -1515,33 +1526,33 @@ }, { "name": "sebastian/global-state", - "version": "6.0.1", - "version_normalized": "6.0.1.0", + "version": "7.0.1", + "version_normalized": "7.0.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4" + "reference": "c3a307e832f2e69c7ef869e31fc644fde0e7cb3e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/7ea9ead78f6d380d2a667864c132c2f7b83055e4", - "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/c3a307e832f2e69c7ef869e31fc644fde0e7cb3e", + "reference": "c3a307e832f2e69c7ef869e31fc644fde0e7cb3e", "shasum": "" }, "require": { - "php": ">=8.1", - "sebastian/object-reflector": "^3.0", - "sebastian/recursion-context": "^5.0" + "php": ">=8.2", + "sebastian/object-reflector": "^4.0", + "sebastian/recursion-context": "^6.0" }, "require-dev": { "ext-dom": "*", - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, - "time": "2023-07-19T07:19:23+00:00", + "time": "2024-03-02T07:32:10+00:00", "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.0-dev" } }, "installation-source": "dist", @@ -1561,14 +1572,14 @@ } ], "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", + "homepage": "https://www.github.com/sebastianbergmann/global-state", "keywords": [ "global state" ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", "security": "https://github.com/sebastianbergmann/global-state/security/policy", - "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.1" + "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.1" }, "funding": [ { @@ -1580,31 +1591,31 @@ }, { "name": "sebastian/lines-of-code", - "version": "2.0.2", - "version_normalized": "2.0.2.0", + "version": "3.0.0", + "version_normalized": "3.0.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0" + "reference": "376c5b3f6b43c78fdc049740bca76a7c846706c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/856e7f6a75a84e339195d48c556f23be2ebf75d0", - "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/376c5b3f6b43c78fdc049740bca76a7c846706c0", + "reference": "376c5b3f6b43c78fdc049740bca76a7c846706c0", "shasum": "" }, "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=8.1" + "nikic/php-parser": "^5.0", + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, - "time": "2023-12-21T08:38:20+00:00", + "time": "2024-02-02T06:00:36+00:00", "type": "library", "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } }, "installation-source": "dist", @@ -1629,7 +1640,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.2" + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.0" }, "funding": [ { @@ -1641,32 +1652,32 @@ }, { "name": "sebastian/object-enumerator", - "version": "5.0.0", - "version_normalized": "5.0.0.0", + "version": "6.0.0", + "version_normalized": "6.0.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906" + "reference": "f75f6c460da0bbd9668f43a3dde0ec0ba7faa678" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906", - "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f75f6c460da0bbd9668f43a3dde0ec0ba7faa678", + "reference": "f75f6c460da0bbd9668f43a3dde0ec0ba7faa678", "shasum": "" }, "require": { - "php": ">=8.1", - "sebastian/object-reflector": "^3.0", - "sebastian/recursion-context": "^5.0" + "php": ">=8.2", + "sebastian/object-reflector": "^4.0", + "sebastian/recursion-context": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, - "time": "2023-02-03T07:08:32+00:00", + "time": "2024-02-02T06:01:29+00:00", "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.0-dev" } }, "installation-source": "dist", @@ -1689,7 +1700,8 @@ "homepage": "https://github.com/sebastianbergmann/object-enumerator/", "support": { "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0" + "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.0" }, "funding": [ { @@ -1701,30 +1713,30 @@ }, { "name": "sebastian/object-reflector", - "version": "3.0.0", - "version_normalized": "3.0.0.0", + "version": "4.0.0", + "version_normalized": "4.0.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "24ed13d98130f0e7122df55d06c5c4942a577957" + "reference": "bb2a6255d30853425fd38f032eb64ced9f7f132d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957", - "reference": "24ed13d98130f0e7122df55d06c5c4942a577957", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/bb2a6255d30853425fd38f032eb64ced9f7f132d", + "reference": "bb2a6255d30853425fd38f032eb64ced9f7f132d", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, - "time": "2023-02-03T07:06:18+00:00", + "time": "2024-02-02T06:02:18+00:00", "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } }, "installation-source": "dist", @@ -1747,7 +1759,8 @@ "homepage": "https://github.com/sebastianbergmann/object-reflector/", "support": { "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0" + "security": "https://github.com/sebastianbergmann/object-reflector/security/policy", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.0" }, "funding": [ { @@ -1759,30 +1772,30 @@ }, { "name": "sebastian/recursion-context", - "version": "5.0.0", - "version_normalized": "5.0.0.0", + "version": "6.0.0", + "version_normalized": "6.0.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "05909fb5bc7df4c52992396d0116aed689f93712" + "reference": "b75224967b5a466925c6d54e68edd0edf8dd4ed4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712", - "reference": "05909fb5bc7df4c52992396d0116aed689f93712", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b75224967b5a466925c6d54e68edd0edf8dd4ed4", + "reference": "b75224967b5a466925c6d54e68edd0edf8dd4ed4", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, - "time": "2023-02-03T07:05:40+00:00", + "time": "2024-02-02T06:08:48+00:00", "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.0-dev" } }, "installation-source": "dist", @@ -1813,7 +1826,8 @@ "homepage": "https://github.com/sebastianbergmann/recursion-context", "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0" + "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.0" }, "funding": [ { @@ -1825,30 +1839,30 @@ }, { "name": "sebastian/type", - "version": "4.0.0", - "version_normalized": "4.0.0.0", + "version": "5.0.0", + "version_normalized": "5.0.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "462699a16464c3944eefc02ebdd77882bd3925bf" + "reference": "b8502785eb3523ca0dd4afe9ca62235590020f3f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf", - "reference": "462699a16464c3944eefc02ebdd77882bd3925bf", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b8502785eb3523ca0dd4afe9ca62235590020f3f", + "reference": "b8502785eb3523ca0dd4afe9ca62235590020f3f", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, - "time": "2023-02-03T07:10:45+00:00", + "time": "2024-02-02T06:09:34+00:00", "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "installation-source": "dist", @@ -1872,7 +1886,8 @@ "homepage": "https://github.com/sebastianbergmann/type", "support": { "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/4.0.0" + "security": "https://github.com/sebastianbergmann/type/security/policy", + "source": "https://github.com/sebastianbergmann/type/tree/5.0.0" }, "funding": [ { @@ -1884,27 +1899,27 @@ }, { "name": "sebastian/version", - "version": "4.0.1", - "version_normalized": "4.0.1.0", + "version": "5.0.0", + "version_normalized": "5.0.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17" + "reference": "13999475d2cb1ab33cb73403ba356a814fdbb001" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17", - "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/13999475d2cb1ab33cb73403ba356a814fdbb001", + "reference": "13999475d2cb1ab33cb73403ba356a814fdbb001", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, - "time": "2023-02-07T11:34:05+00:00", + "time": "2024-02-02T06:10:47+00:00", "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "installation-source": "dist", @@ -1928,7 +1943,8 @@ "homepage": "https://github.com/sebastianbergmann/version", "support": { "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/4.0.1" + "security": "https://github.com/sebastianbergmann/version/security/policy", + "source": "https://github.com/sebastianbergmann/version/tree/5.0.0" }, "funding": [ { @@ -1940,17 +1956,17 @@ }, { "name": "symfony/polyfill-ctype", - "version": "v1.28.0", - "version_normalized": "1.28.0.0", + "version": "v1.29.0", + "version_normalized": "1.29.0.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb" + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", "shasum": "" }, "require": { @@ -1962,12 +1978,9 @@ "suggest": { "ext-ctype": "For best performance" }, - "time": "2023-01-26T09:26:14+00:00", + "time": "2024-01-29T20:11:03+00:00", "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -2005,7 +2018,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" }, "funding": [ { @@ -2025,17 +2038,17 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.28.0", - "version_normalized": "1.28.0.0", + "version": "v1.29.0", + "version_normalized": "1.29.0.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "42292d99c55abe617799667f454222c54c60e229" + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", - "reference": "42292d99c55abe617799667f454222c54c60e229", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", "shasum": "" }, "require": { @@ -2047,12 +2060,9 @@ "suggest": { "ext-mbstring": "For best performance" }, - "time": "2023-07-28T09:04:16+00:00", + "time": "2024-01-29T20:11:03+00:00", "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -2091,7 +2101,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" }, "funding": [ { @@ -2111,28 +2121,25 @@ }, { "name": "symfony/polyfill-php80", - "version": "v1.28.0", - "version_normalized": "1.28.0.0", + "version": "v1.29.0", + "version_normalized": "1.29.0.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5" + "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", + "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", "shasum": "" }, "require": { "php": ">=7.1" }, - "time": "2023-01-26T09:26:14+00:00", + "time": "2024-01-29T20:11:03+00:00", "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -2177,7 +2184,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0" }, "funding": [ { @@ -2197,17 +2204,17 @@ }, { "name": "theseer/tokenizer", - "version": "1.2.2", - "version_normalized": "1.2.2.0", + "version": "1.2.3", + "version_normalized": "1.2.3.0", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96" + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b2ad5003ca10d4ee50a12da31de12a5774ba6b96", - "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", "shasum": "" }, "require": { @@ -2216,7 +2223,7 @@ "ext-xmlwriter": "*", "php": "^7.2 || ^8.0" }, - "time": "2023-11-20T00:12:19+00:00", + "time": "2024-03-03T12:36:25+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -2238,7 +2245,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.2" + "source": "https://github.com/theseer/tokenizer/tree/1.2.3" }, "funding": [ { diff --git a/Sources/vendor/composer/installed.php b/Sources/vendor/composer/installed.php index 10c45558..84599a8a 100644 --- a/Sources/vendor/composer/installed.php +++ b/Sources/vendor/composer/installed.php @@ -3,7 +3,7 @@ 'name' => 'hearttrack/package', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => 'e86b3f7b002e2852b5084d5448b98251eec6e846', + 'reference' => '19f37061e0fd9cc55f51b54a788cb4e7949be3d1', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), @@ -40,7 +40,7 @@ 'hearttrack/package' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => 'e86b3f7b002e2852b5084d5448b98251eec6e846', + 'reference' => '19f37061e0fd9cc55f51b54a788cb4e7949be3d1', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), @@ -56,18 +56,18 @@ 'dev_requirement' => true, ), 'nikic/php-parser' => array( - 'pretty_version' => 'v5.0.0', - 'version' => '5.0.0.0', - 'reference' => '4a21235f7e56e713259a6f76bf4b5ea08502b9dc', + 'pretty_version' => 'v5.0.2', + 'version' => '5.0.2.0', + 'reference' => '139676794dc1e9231bf7bcd123cfc0c99182cb13', 'type' => 'library', 'install_path' => __DIR__ . '/../nikic/php-parser', 'aliases' => array(), 'dev_requirement' => true, ), 'phar-io/manifest' => array( - 'pretty_version' => '2.0.3', - 'version' => '2.0.3.0', - 'reference' => '97803eca37d319dfa7826cc2437fc020857acb53', + 'pretty_version' => '2.0.4', + 'version' => '2.0.4.0', + 'reference' => '54750ef60c58e43759730615a392c31c80e23176', 'type' => 'library', 'install_path' => __DIR__ . '/../phar-io/manifest', 'aliases' => array(), @@ -92,54 +92,54 @@ 'dev_requirement' => false, ), 'phpunit/php-code-coverage' => array( - 'pretty_version' => '10.1.11', - 'version' => '10.1.11.0', - 'reference' => '78c3b7625965c2513ee96569a4dbb62601784145', + 'pretty_version' => '11.0.3', + 'version' => '11.0.3.0', + 'reference' => '7e35a2cbcabac0e6865fd373742ea432a3c34f92', 'type' => 'library', 'install_path' => __DIR__ . '/../phpunit/php-code-coverage', 'aliases' => array(), 'dev_requirement' => true, ), 'phpunit/php-file-iterator' => array( - 'pretty_version' => '4.1.0', - 'version' => '4.1.0.0', - 'reference' => 'a95037b6d9e608ba092da1b23931e537cadc3c3c', + 'pretty_version' => '5.0.0', + 'version' => '5.0.0.0', + 'reference' => '99e95c94ad9500daca992354fa09d7b99abe2210', 'type' => 'library', 'install_path' => __DIR__ . '/../phpunit/php-file-iterator', 'aliases' => array(), 'dev_requirement' => true, ), 'phpunit/php-invoker' => array( - 'pretty_version' => '4.0.0', - 'version' => '4.0.0.0', - 'reference' => 'f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7', + 'pretty_version' => '5.0.0', + 'version' => '5.0.0.0', + 'reference' => '5d8d9355a16d8cc5a1305b0a85342cfa420612be', 'type' => 'library', 'install_path' => __DIR__ . '/../phpunit/php-invoker', 'aliases' => array(), 'dev_requirement' => true, ), 'phpunit/php-text-template' => array( - 'pretty_version' => '3.0.1', - 'version' => '3.0.1.0', - 'reference' => '0c7b06ff49e3d5072f057eb1fa59258bf287a748', + 'pretty_version' => '4.0.0', + 'version' => '4.0.0.0', + 'reference' => 'd38f6cbff1cdb6f40b03c9811421561668cc133e', 'type' => 'library', 'install_path' => __DIR__ . '/../phpunit/php-text-template', 'aliases' => array(), 'dev_requirement' => true, ), 'phpunit/php-timer' => array( - 'pretty_version' => '6.0.0', - 'version' => '6.0.0.0', - 'reference' => 'e2a2d67966e740530f4a3343fe2e030ffdc1161d', + 'pretty_version' => '7.0.0', + 'version' => '7.0.0.0', + 'reference' => '8a59d9e25720482ee7fcdf296595e08795b84dc5', 'type' => 'library', 'install_path' => __DIR__ . '/../phpunit/php-timer', 'aliases' => array(), 'dev_requirement' => true, ), 'phpunit/phpunit' => array( - 'pretty_version' => '10.5.5', - 'version' => '10.5.5.0', - 'reference' => 'ed21115d505b4b4f7dc7b5651464e19a2c7f7856', + 'pretty_version' => '11.0.8', + 'version' => '11.0.8.0', + 'reference' => '48ea58408879a9aad630022186398364051482fc', 'type' => 'library', 'install_path' => __DIR__ . '/../phpunit/phpunit', 'aliases' => array(), @@ -155,171 +155,171 @@ 'dev_requirement' => false, ), 'sebastian/cli-parser' => array( - 'pretty_version' => '2.0.0', - 'version' => '2.0.0.0', - 'reference' => 'efdc130dbbbb8ef0b545a994fd811725c5282cae', + 'pretty_version' => '3.0.1', + 'version' => '3.0.1.0', + 'reference' => '00a74d5568694711f0222e54fb281e1d15fdf04a', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/cli-parser', 'aliases' => array(), 'dev_requirement' => true, ), 'sebastian/code-unit' => array( - 'pretty_version' => '2.0.0', - 'version' => '2.0.0.0', - 'reference' => 'a81fee9eef0b7a76af11d121767abc44c104e503', + 'pretty_version' => '3.0.0', + 'version' => '3.0.0.0', + 'reference' => '6634549cb8d702282a04a774e36a7477d2bd9015', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/code-unit', 'aliases' => array(), 'dev_requirement' => true, ), 'sebastian/code-unit-reverse-lookup' => array( - 'pretty_version' => '3.0.0', - 'version' => '3.0.0.0', - 'reference' => '5e3a687f7d8ae33fb362c5c0743794bbb2420a1d', + 'pretty_version' => '4.0.0', + 'version' => '4.0.0.0', + 'reference' => 'df80c875d3e459b45c6039e4d9b71d4fbccae25d', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/code-unit-reverse-lookup', 'aliases' => array(), 'dev_requirement' => true, ), 'sebastian/comparator' => array( - 'pretty_version' => '5.0.1', - 'version' => '5.0.1.0', - 'reference' => '2db5010a484d53ebf536087a70b4a5423c102372', + 'pretty_version' => '6.0.0', + 'version' => '6.0.0.0', + 'reference' => 'bd0f2fa5b9257c69903537b266ccb80fcf940db8', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/comparator', 'aliases' => array(), 'dev_requirement' => true, ), 'sebastian/complexity' => array( - 'pretty_version' => '3.2.0', - 'version' => '3.2.0.0', - 'reference' => '68ff824baeae169ec9f2137158ee529584553799', + 'pretty_version' => '4.0.0', + 'version' => '4.0.0.0', + 'reference' => '88a434ad86150e11a606ac4866b09130712671f0', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/complexity', 'aliases' => array(), 'dev_requirement' => true, ), 'sebastian/diff' => array( - 'pretty_version' => '5.1.0', - 'version' => '5.1.0.0', - 'reference' => 'fbf413a49e54f6b9b17e12d900ac7f6101591b7f', + 'pretty_version' => '6.0.1', + 'version' => '6.0.1.0', + 'reference' => 'ab83243ecc233de5655b76f577711de9f842e712', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/diff', 'aliases' => array(), 'dev_requirement' => true, ), 'sebastian/environment' => array( - 'pretty_version' => '6.0.1', - 'version' => '6.0.1.0', - 'reference' => '43c751b41d74f96cbbd4e07b7aec9675651e2951', + 'pretty_version' => '7.1.0', + 'version' => '7.1.0.0', + 'reference' => '4eb3a442574d0e9d141aab209cd4aaf25701b09a', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/environment', 'aliases' => array(), 'dev_requirement' => true, ), 'sebastian/exporter' => array( - 'pretty_version' => '5.1.1', - 'version' => '5.1.1.0', - 'reference' => '64f51654862e0f5e318db7e9dcc2292c63cdbddc', + 'pretty_version' => '6.0.1', + 'version' => '6.0.1.0', + 'reference' => 'f291e5a317c321c0381fa9ecc796fa2d21b186da', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/exporter', 'aliases' => array(), 'dev_requirement' => true, ), 'sebastian/global-state' => array( - 'pretty_version' => '6.0.1', - 'version' => '6.0.1.0', - 'reference' => '7ea9ead78f6d380d2a667864c132c2f7b83055e4', + 'pretty_version' => '7.0.1', + 'version' => '7.0.1.0', + 'reference' => 'c3a307e832f2e69c7ef869e31fc644fde0e7cb3e', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/global-state', 'aliases' => array(), 'dev_requirement' => true, ), 'sebastian/lines-of-code' => array( - 'pretty_version' => '2.0.2', - 'version' => '2.0.2.0', - 'reference' => '856e7f6a75a84e339195d48c556f23be2ebf75d0', + 'pretty_version' => '3.0.0', + 'version' => '3.0.0.0', + 'reference' => '376c5b3f6b43c78fdc049740bca76a7c846706c0', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/lines-of-code', 'aliases' => array(), 'dev_requirement' => true, ), 'sebastian/object-enumerator' => array( - 'pretty_version' => '5.0.0', - 'version' => '5.0.0.0', - 'reference' => '202d0e344a580d7f7d04b3fafce6933e59dae906', + 'pretty_version' => '6.0.0', + 'version' => '6.0.0.0', + 'reference' => 'f75f6c460da0bbd9668f43a3dde0ec0ba7faa678', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/object-enumerator', 'aliases' => array(), 'dev_requirement' => true, ), 'sebastian/object-reflector' => array( - 'pretty_version' => '3.0.0', - 'version' => '3.0.0.0', - 'reference' => '24ed13d98130f0e7122df55d06c5c4942a577957', + 'pretty_version' => '4.0.0', + 'version' => '4.0.0.0', + 'reference' => 'bb2a6255d30853425fd38f032eb64ced9f7f132d', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/object-reflector', 'aliases' => array(), 'dev_requirement' => true, ), 'sebastian/recursion-context' => array( - 'pretty_version' => '5.0.0', - 'version' => '5.0.0.0', - 'reference' => '05909fb5bc7df4c52992396d0116aed689f93712', + 'pretty_version' => '6.0.0', + 'version' => '6.0.0.0', + 'reference' => 'b75224967b5a466925c6d54e68edd0edf8dd4ed4', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/recursion-context', 'aliases' => array(), 'dev_requirement' => true, ), 'sebastian/type' => array( - 'pretty_version' => '4.0.0', - 'version' => '4.0.0.0', - 'reference' => '462699a16464c3944eefc02ebdd77882bd3925bf', + 'pretty_version' => '5.0.0', + 'version' => '5.0.0.0', + 'reference' => 'b8502785eb3523ca0dd4afe9ca62235590020f3f', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/type', 'aliases' => array(), 'dev_requirement' => true, ), 'sebastian/version' => array( - 'pretty_version' => '4.0.1', - 'version' => '4.0.1.0', - 'reference' => 'c51fa83a5d8f43f1402e3f32a005e6262244ef17', + 'pretty_version' => '5.0.0', + 'version' => '5.0.0.0', + 'reference' => '13999475d2cb1ab33cb73403ba356a814fdbb001', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/version', 'aliases' => array(), 'dev_requirement' => true, ), 'symfony/polyfill-ctype' => array( - 'pretty_version' => 'v1.28.0', - 'version' => '1.28.0.0', - 'reference' => 'ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb', + 'pretty_version' => 'v1.29.0', + 'version' => '1.29.0.0', + 'reference' => 'ef4d7e442ca910c4764bce785146269b30cb5fc4', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-ctype', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/polyfill-mbstring' => array( - 'pretty_version' => 'v1.28.0', - 'version' => '1.28.0.0', - 'reference' => '42292d99c55abe617799667f454222c54c60e229', + 'pretty_version' => 'v1.29.0', + 'version' => '1.29.0.0', + 'reference' => '9773676c8a1bb1f8d4340a62efe641cf76eda7ec', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/polyfill-php80' => array( - 'pretty_version' => 'v1.28.0', - 'version' => '1.28.0.0', - 'reference' => '6caa57379c4aec19c0a12a38b59b26487dcfe4b5', + 'pretty_version' => 'v1.29.0', + 'version' => '1.29.0.0', + 'reference' => '87b68208d5c1188808dd7839ee1e6c8ec3b02f1b', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php80', 'aliases' => array(), 'dev_requirement' => false, ), 'theseer/tokenizer' => array( - 'pretty_version' => '1.2.2', - 'version' => '1.2.2.0', - 'reference' => 'b2ad5003ca10d4ee50a12da31de12a5774ba6b96', + 'pretty_version' => '1.2.3', + 'version' => '1.2.3.0', + 'reference' => '737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2', 'type' => 'library', 'install_path' => __DIR__ . '/../theseer/tokenizer', 'aliases' => array(), diff --git a/Sources/vendor/nikic/php-parser/.php-cs-fixer.dist.php b/Sources/vendor/nikic/php-parser/.php-cs-fixer.dist.php deleted file mode 100644 index 314307ef..00000000 --- a/Sources/vendor/nikic/php-parser/.php-cs-fixer.dist.php +++ /dev/null @@ -1,31 +0,0 @@ -exclude('PhpParser/Parser') - ->in(__DIR__ . '/lib') - ->in(__DIR__ . '/test') - ->in(__DIR__ . '/grammar') -; - -$config = new PhpCsFixer\Config(); -return $config->setRiskyAllowed(true) - ->setRules([ - '@PSR12' => true, - // We use PSR12 with consistent brace placement. - 'curly_braces_position' => [ - 'functions_opening_brace' => 'same_line', - 'classes_opening_brace' => 'same_line', - ], - // declare(strict_types=1) on the same line as false, - 'declare_strict_types' => true, - // Keep argument formatting for now. - 'method_argument_space' => ['on_multiline' => 'ignore'], - 'phpdoc_align' => ['align' => 'left'], - 'phpdoc_trim' => true, - 'no_empty_phpdoc' => true, - 'no_superfluous_phpdoc_tags' => ['allow_mixed' => true], - 'no_extra_blank_lines' => true, - ]) - ->setFinder($finder) -; diff --git a/Sources/vendor/nikic/php-parser/Makefile b/Sources/vendor/nikic/php-parser/Makefile deleted file mode 100644 index 9a7bdf2d..00000000 --- a/Sources/vendor/nikic/php-parser/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -.PHONY: phpstan php-cs-fixer - -tools/vendor: - composer install -d tools - -phpstan: tools/vendor - tools/vendor/bin/phpstan - -php-cs-fixer: tools/vendor - tools/vendor/bin/php-cs-fixer fix diff --git a/Sources/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php b/Sources/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php index 8fba1312..c02844ac 100644 --- a/Sources/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php +++ b/Sources/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php @@ -251,7 +251,7 @@ class TokenStream { private function calcIndentMap(): array { $indentMap = []; $indent = 0; - foreach ($this->tokens as $token) { + foreach ($this->tokens as $i => $token) { $indentMap[] = $indent; if ($token->id === \T_WHITESPACE) { @@ -259,6 +259,10 @@ class TokenStream { $newlinePos = \strrpos($content, "\n"); if (false !== $newlinePos) { $indent = \strlen($content) - $newlinePos - 1; + } elseif ($i === 1 && $this->tokens[0]->id === \T_OPEN_TAG && + $this->tokens[0]->text[\strlen($this->tokens[0]->text) - 1] === "\n") { + // Special case: Newline at the end of opening tag followed by whitespace. + $indent = \strlen($content); } } } diff --git a/Sources/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php b/Sources/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php index 7d8cb107..80159351 100644 --- a/Sources/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php +++ b/Sources/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php @@ -1138,18 +1138,18 @@ class Php7 extends \PhpParser\ParserAbstract protected function initReduceCallbacks(): void { $this->reduceCallbacks = [ 0 => null, - 1 => function ($stackPos) { - $this->semValue = $this->handleNamespaces($this->semStack[$stackPos-(1-1)]); + 1 => static function ($self, $stackPos) { + $self->semValue = $self->handleNamespaces($self->semStack[$stackPos-(1-1)]); }, - 2 => function ($stackPos) { - if ($this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; } $this->semValue = $this->semStack[$stackPos-(2-1)];; + 2 => static function ($self, $stackPos) { + if ($self->semStack[$stackPos-(2-2)] !== null) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; } $self->semValue = $self->semStack[$stackPos-(2-1)];; }, - 3 => function ($stackPos) { - $this->semValue = array(); + 3 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 4 => function ($stackPos) { - $nop = $this->maybeCreateZeroLengthNop($this->tokenPos);; - if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; + 4 => static function ($self, $stackPos) { + $nop = $self->maybeCreateZeroLengthNop($self->tokenPos);; + if ($nop !== null) { $self->semStack[$stackPos-(1-1)][] = $nop; } $self->semValue = $self->semStack[$stackPos-(1-1)]; }, 5 => null, 6 => null, @@ -1222,8 +1222,8 @@ class Php7 extends \PhpParser\ParserAbstract 73 => null, 74 => null, 75 => null, - 76 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; if ($this->semValue === "emitError(new Error('Cannot use "getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos]))); + 76 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(1-1)]; if ($self->semValue === "emitError(new Error('Cannot use "getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]))); }, 77 => null, 78 => null, @@ -1233,1465 +1233,1465 @@ class Php7 extends \PhpParser\ParserAbstract 82 => null, 83 => null, 84 => null, - 85 => function ($stackPos) { - $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 85 => static function ($self, $stackPos) { + $self->semValue = new Node\Identifier($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 86 => function ($stackPos) { - $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 86 => static function ($self, $stackPos) { + $self->semValue = new Node\Identifier($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 87 => function ($stackPos) { - $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 87 => static function ($self, $stackPos) { + $self->semValue = new Node\Identifier($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 88 => function ($stackPos) { - $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 88 => static function ($self, $stackPos) { + $self->semValue = new Node\Identifier($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 89 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 89 => static function ($self, $stackPos) { + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 90 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 90 => static function ($self, $stackPos) { + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 91 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 91 => static function ($self, $stackPos) { + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 92 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 92 => static function ($self, $stackPos) { + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 93 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 93 => static function ($self, $stackPos) { + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 94 => null, - 95 => function ($stackPos) { - $this->semValue = new Name(substr($this->semStack[$stackPos-(1-1)], 1), $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 95 => static function ($self, $stackPos) { + $self->semValue = new Name(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 96 => function ($stackPos) { - $this->semValue = new Expr\Variable(substr($this->semStack[$stackPos-(1-1)], 1), $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 96 => static function ($self, $stackPos) { + $self->semValue = new Expr\Variable(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 97 => function ($stackPos) { + 97 => static function ($self, $stackPos) { /* nothing */ }, - 98 => function ($stackPos) { + 98 => static function ($self, $stackPos) { /* nothing */ }, - 99 => function ($stackPos) { + 99 => static function ($self, $stackPos) { /* nothing */ }, - 100 => function ($stackPos) { - $this->emitError(new Error('A trailing comma is not allowed here', $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos]))); + 100 => static function ($self, $stackPos) { + $self->emitError(new Error('A trailing comma is not allowed here', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]))); }, 101 => null, 102 => null, - 103 => function ($stackPos) { - $this->semValue = new Node\Attribute($this->semStack[$stackPos-(1-1)], [], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 103 => static function ($self, $stackPos) { + $self->semValue = new Node\Attribute($self->semStack[$stackPos-(1-1)], [], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 104 => function ($stackPos) { - $this->semValue = new Node\Attribute($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 104 => static function ($self, $stackPos) { + $self->semValue = new Node\Attribute($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 105 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 105 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 106 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 106 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 107 => function ($stackPos) { - $this->semValue = new Node\AttributeGroup($this->semStack[$stackPos-(4-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 107 => static function ($self, $stackPos) { + $self->semValue = new Node\AttributeGroup($self->semStack[$stackPos-(4-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 108 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 108 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 109 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + 109 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 110 => function ($stackPos) { - $this->semValue = []; + 110 => static function ($self, $stackPos) { + $self->semValue = []; }, 111 => null, 112 => null, 113 => null, 114 => null, - 115 => function ($stackPos) { - $this->semValue = new Stmt\HaltCompiler($this->handleHaltCompiler(), $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 115 => static function ($self, $stackPos) { + $self->semValue = new Stmt\HaltCompiler($self->handleHaltCompiler(), $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 116 => function ($stackPos) { - $this->semValue = new Stmt\Namespace_($this->semStack[$stackPos-(3-2)], null, $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); - $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON); - $this->checkNamespace($this->semValue); + 116 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Namespace_($self->semStack[$stackPos-(3-2)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON); + $self->checkNamespace($self->semValue); }, - 117 => function ($stackPos) { - $this->semValue = new Stmt\Namespace_($this->semStack[$stackPos-(5-2)], $this->semStack[$stackPos-(5-4)], $this->getAttributes($this->tokenStartStack[$stackPos-(5-1)], $this->tokenEndStack[$stackPos])); - $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); - $this->checkNamespace($this->semValue); + 117 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Namespace_($self->semStack[$stackPos-(5-2)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); + $self->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); + $self->checkNamespace($self->semValue); }, - 118 => function ($stackPos) { - $this->semValue = new Stmt\Namespace_(null, $this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); - $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); - $this->checkNamespace($this->semValue); + 118 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Namespace_(null, $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); + $self->checkNamespace($self->semValue); }, - 119 => function ($stackPos) { - $this->semValue = new Stmt\Use_($this->semStack[$stackPos-(3-2)], Stmt\Use_::TYPE_NORMAL, $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 119 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Use_($self->semStack[$stackPos-(3-2)], Stmt\Use_::TYPE_NORMAL, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 120 => function ($stackPos) { - $this->semValue = new Stmt\Use_($this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 120 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Use_($self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 121 => null, - 122 => function ($stackPos) { - $this->semValue = new Stmt\Const_($this->semStack[$stackPos-(3-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 122 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Const_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 123 => function ($stackPos) { - $this->semValue = Stmt\Use_::TYPE_FUNCTION; + 123 => static function ($self, $stackPos) { + $self->semValue = Stmt\Use_::TYPE_FUNCTION; }, - 124 => function ($stackPos) { - $this->semValue = Stmt\Use_::TYPE_CONSTANT; + 124 => static function ($self, $stackPos) { + $self->semValue = Stmt\Use_::TYPE_CONSTANT; }, - 125 => function ($stackPos) { - $this->semValue = new Stmt\GroupUse($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-6)], $this->semStack[$stackPos-(7-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(7-1)], $this->tokenEndStack[$stackPos])); + 125 => static function ($self, $stackPos) { + $self->semValue = new Stmt\GroupUse($self->semStack[$stackPos-(7-3)], $self->semStack[$stackPos-(7-6)], $self->semStack[$stackPos-(7-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); }, - 126 => function ($stackPos) { - $this->semValue = new Stmt\GroupUse($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-5)], Stmt\Use_::TYPE_UNKNOWN, $this->getAttributes($this->tokenStartStack[$stackPos-(6-1)], $this->tokenEndStack[$stackPos])); + 126 => static function ($self, $stackPos) { + $self->semValue = new Stmt\GroupUse($self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-5)], Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); }, 127 => null, - 128 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 128 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 129 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 129 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, 130 => null, - 131 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 131 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 132 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 132 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, 133 => null, - 134 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 134 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 135 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 135 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 136 => function ($stackPos) { - $this->semValue = new Node\UseItem($this->semStack[$stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); $this->checkUseUse($this->semValue, $stackPos-(1-1)); + 136 => static function ($self, $stackPos) { + $self->semValue = new Node\UseItem($self->semStack[$stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->checkUseUse($self->semValue, $stackPos-(1-1)); }, - 137 => function ($stackPos) { - $this->semValue = new Node\UseItem($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); $this->checkUseUse($this->semValue, $stackPos-(3-3)); + 137 => static function ($self, $stackPos) { + $self->semValue = new Node\UseItem($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); $self->checkUseUse($self->semValue, $stackPos-(3-3)); }, - 138 => function ($stackPos) { - $this->semValue = new Node\UseItem($this->semStack[$stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); $this->checkUseUse($this->semValue, $stackPos-(1-1)); + 138 => static function ($self, $stackPos) { + $self->semValue = new Node\UseItem($self->semStack[$stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->checkUseUse($self->semValue, $stackPos-(1-1)); }, - 139 => function ($stackPos) { - $this->semValue = new Node\UseItem($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); $this->checkUseUse($this->semValue, $stackPos-(3-3)); + 139 => static function ($self, $stackPos) { + $self->semValue = new Node\UseItem($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); $self->checkUseUse($self->semValue, $stackPos-(3-3)); }, - 140 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; $this->semValue->type = Stmt\Use_::TYPE_NORMAL; + 140 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(1-1)]; $self->semValue->type = Stmt\Use_::TYPE_NORMAL; }, - 141 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; $this->semValue->type = $this->semStack[$stackPos-(2-1)]; + 141 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(2-2)]; $self->semValue->type = $self->semStack[$stackPos-(2-1)]; }, 142 => null, - 143 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 143 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 144 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 144 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 145 => function ($stackPos) { - $this->semValue = new Node\Const_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 145 => static function ($self, $stackPos) { + $self->semValue = new Node\Const_($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 146 => null, - 147 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 147 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 148 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 148 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 149 => function ($stackPos) { - $this->semValue = new Node\Const_(new Node\Identifier($this->semStack[$stackPos-(3-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos-(3-1)])), $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 149 => static function ($self, $stackPos) { + $self->semValue = new Node\Const_(new Node\Identifier($self->semStack[$stackPos-(3-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos-(3-1)])), $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 150 => function ($stackPos) { - $this->semValue = new Node\Const_(new Node\Identifier($this->semStack[$stackPos-(3-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos-(3-1)])), $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 150 => static function ($self, $stackPos) { + $self->semValue = new Node\Const_(new Node\Identifier($self->semStack[$stackPos-(3-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos-(3-1)])), $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 151 => function ($stackPos) { - if ($this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; } $this->semValue = $this->semStack[$stackPos-(2-1)];; + 151 => static function ($self, $stackPos) { + if ($self->semStack[$stackPos-(2-2)] !== null) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; } $self->semValue = $self->semStack[$stackPos-(2-1)];; }, - 152 => function ($stackPos) { - $this->semValue = array(); + 152 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 153 => function ($stackPos) { - $nop = $this->maybeCreateZeroLengthNop($this->tokenPos);; - if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; + 153 => static function ($self, $stackPos) { + $nop = $self->maybeCreateZeroLengthNop($self->tokenPos);; + if ($nop !== null) { $self->semStack[$stackPos-(1-1)][] = $nop; } $self->semValue = $self->semStack[$stackPos-(1-1)]; }, 154 => null, 155 => null, 156 => null, - 157 => function ($stackPos) { - throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 157 => static function ($self, $stackPos) { + throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 158 => function ($stackPos) { - $this->semValue = new Stmt\Block($this->semStack[$stackPos-(3-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 158 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Block($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 159 => function ($stackPos) { - $this->semValue = new Stmt\If_($this->semStack[$stackPos-(7-3)], ['stmts' => $this->semStack[$stackPos-(7-5)], 'elseifs' => $this->semStack[$stackPos-(7-6)], 'else' => $this->semStack[$stackPos-(7-7)]], $this->getAttributes($this->tokenStartStack[$stackPos-(7-1)], $this->tokenEndStack[$stackPos])); + 159 => static function ($self, $stackPos) { + $self->semValue = new Stmt\If_($self->semStack[$stackPos-(7-3)], ['stmts' => $self->semStack[$stackPos-(7-5)], 'elseifs' => $self->semStack[$stackPos-(7-6)], 'else' => $self->semStack[$stackPos-(7-7)]], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); }, - 160 => function ($stackPos) { - $this->semValue = new Stmt\If_($this->semStack[$stackPos-(10-3)], ['stmts' => $this->semStack[$stackPos-(10-6)], 'elseifs' => $this->semStack[$stackPos-(10-7)], 'else' => $this->semStack[$stackPos-(10-8)]], $this->getAttributes($this->tokenStartStack[$stackPos-(10-1)], $this->tokenEndStack[$stackPos])); + 160 => static function ($self, $stackPos) { + $self->semValue = new Stmt\If_($self->semStack[$stackPos-(10-3)], ['stmts' => $self->semStack[$stackPos-(10-6)], 'elseifs' => $self->semStack[$stackPos-(10-7)], 'else' => $self->semStack[$stackPos-(10-8)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); }, - 161 => function ($stackPos) { - $this->semValue = new Stmt\While_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->getAttributes($this->tokenStartStack[$stackPos-(5-1)], $this->tokenEndStack[$stackPos])); + 161 => static function ($self, $stackPos) { + $self->semValue = new Stmt\While_($self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 162 => function ($stackPos) { - $this->semValue = new Stmt\Do_($this->semStack[$stackPos-(7-5)], $this->semStack[$stackPos-(7-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(7-1)], $this->tokenEndStack[$stackPos])); + 162 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Do_($self->semStack[$stackPos-(7-5)], $self->semStack[$stackPos-(7-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); }, - 163 => function ($stackPos) { - $this->semValue = new Stmt\For_(['init' => $this->semStack[$stackPos-(9-3)], 'cond' => $this->semStack[$stackPos-(9-5)], 'loop' => $this->semStack[$stackPos-(9-7)], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->getAttributes($this->tokenStartStack[$stackPos-(9-1)], $this->tokenEndStack[$stackPos])); + 163 => static function ($self, $stackPos) { + $self->semValue = new Stmt\For_(['init' => $self->semStack[$stackPos-(9-3)], 'cond' => $self->semStack[$stackPos-(9-5)], 'loop' => $self->semStack[$stackPos-(9-7)], 'stmts' => $self->semStack[$stackPos-(9-9)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 164 => function ($stackPos) { - $this->semValue = new Stmt\Switch_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->getAttributes($this->tokenStartStack[$stackPos-(5-1)], $this->tokenEndStack[$stackPos])); + 164 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Switch_($self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 165 => function ($stackPos) { - $this->semValue = new Stmt\Break_($this->semStack[$stackPos-(3-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 165 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Break_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 166 => function ($stackPos) { - $this->semValue = new Stmt\Continue_($this->semStack[$stackPos-(3-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 166 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Continue_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 167 => function ($stackPos) { - $this->semValue = new Stmt\Return_($this->semStack[$stackPos-(3-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 167 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Return_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 168 => function ($stackPos) { - $this->semValue = new Stmt\Global_($this->semStack[$stackPos-(3-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 168 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Global_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 169 => function ($stackPos) { - $this->semValue = new Stmt\Static_($this->semStack[$stackPos-(3-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 169 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Static_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 170 => function ($stackPos) { - $this->semValue = new Stmt\Echo_($this->semStack[$stackPos-(3-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 170 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Echo_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 171 => function ($stackPos) { + 171 => static function ($self, $stackPos) { - $this->semValue = new Stmt\InlineHTML($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); - $this->semValue->setAttribute('hasLeadingNewline', $this->inlineHtmlHasLeadingNewline($stackPos-(1-1))); + $self->semValue = new Stmt\InlineHTML($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semValue->setAttribute('hasLeadingNewline', $self->inlineHtmlHasLeadingNewline($stackPos-(1-1))); }, - 172 => function ($stackPos) { - $this->semValue = new Stmt\Expression($this->semStack[$stackPos-(2-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 172 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Expression($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 173 => function ($stackPos) { - $this->semValue = new Stmt\Unset_($this->semStack[$stackPos-(5-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(5-1)], $this->tokenEndStack[$stackPos])); + 173 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Unset_($self->semStack[$stackPos-(5-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 174 => function ($stackPos) { - $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-5)][0], ['keyVar' => null, 'byRef' => $this->semStack[$stackPos-(7-5)][1], 'stmts' => $this->semStack[$stackPos-(7-7)]], $this->getAttributes($this->tokenStartStack[$stackPos-(7-1)], $this->tokenEndStack[$stackPos])); + 174 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Foreach_($self->semStack[$stackPos-(7-3)], $self->semStack[$stackPos-(7-5)][0], ['keyVar' => null, 'byRef' => $self->semStack[$stackPos-(7-5)][1], 'stmts' => $self->semStack[$stackPos-(7-7)]], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); }, - 175 => function ($stackPos) { - $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(9-3)], $this->semStack[$stackPos-(9-7)][0], ['keyVar' => $this->semStack[$stackPos-(9-5)], 'byRef' => $this->semStack[$stackPos-(9-7)][1], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->getAttributes($this->tokenStartStack[$stackPos-(9-1)], $this->tokenEndStack[$stackPos])); + 175 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Foreach_($self->semStack[$stackPos-(9-3)], $self->semStack[$stackPos-(9-7)][0], ['keyVar' => $self->semStack[$stackPos-(9-5)], 'byRef' => $self->semStack[$stackPos-(9-7)][1], 'stmts' => $self->semStack[$stackPos-(9-9)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 176 => function ($stackPos) { - $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(6-3)], new Expr\Error($this->getAttributes($this->tokenStartStack[$stackPos-(6-4)], $this->tokenEndStack[$stackPos-(6-4)])), ['stmts' => $this->semStack[$stackPos-(6-6)]], $this->getAttributes($this->tokenStartStack[$stackPos-(6-1)], $this->tokenEndStack[$stackPos])); + 176 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Foreach_($self->semStack[$stackPos-(6-3)], new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(6-4)], $self->tokenEndStack[$stackPos-(6-4)])), ['stmts' => $self->semStack[$stackPos-(6-6)]], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); }, - 177 => function ($stackPos) { - $this->semValue = new Stmt\Declare_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->getAttributes($this->tokenStartStack[$stackPos-(5-1)], $this->tokenEndStack[$stackPos])); + 177 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Declare_($self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 178 => function ($stackPos) { - $this->semValue = new Stmt\TryCatch($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-5)], $this->semStack[$stackPos-(6-6)], $this->getAttributes($this->tokenStartStack[$stackPos-(6-1)], $this->tokenEndStack[$stackPos])); $this->checkTryCatch($this->semValue); + 178 => static function ($self, $stackPos) { + $self->semValue = new Stmt\TryCatch($self->semStack[$stackPos-(6-3)], $self->semStack[$stackPos-(6-5)], $self->semStack[$stackPos-(6-6)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); $self->checkTryCatch($self->semValue); }, - 179 => function ($stackPos) { - $this->semValue = new Stmt\Goto_($this->semStack[$stackPos-(3-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 179 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Goto_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 180 => function ($stackPos) { - $this->semValue = new Stmt\Label($this->semStack[$stackPos-(2-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 180 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Label($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 181 => function ($stackPos) { - $this->semValue = null; /* means: no statement */ + 181 => static function ($self, $stackPos) { + $self->semValue = null; /* means: no statement */ }, 182 => null, - 183 => function ($stackPos) { - $this->semValue = $this->maybeCreateNop($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos]); + 183 => static function ($self, $stackPos) { + $self->semValue = $self->maybeCreateNop($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]); }, - 184 => function ($stackPos) { - if ($this->semStack[$stackPos-(1-1)] instanceof Stmt\Block) { $this->semValue = $this->semStack[$stackPos-(1-1)]->stmts; } else if ($this->semStack[$stackPos-(1-1)] === null) { $this->semValue = []; } else { $this->semValue = [$this->semStack[$stackPos-(1-1)]]; }; + 184 => static function ($self, $stackPos) { + if ($self->semStack[$stackPos-(1-1)] instanceof Stmt\Block) { $self->semValue = $self->semStack[$stackPos-(1-1)]->stmts; } else if ($self->semStack[$stackPos-(1-1)] === null) { $self->semValue = []; } else { $self->semValue = [$self->semStack[$stackPos-(1-1)]]; }; }, - 185 => function ($stackPos) { - $this->semValue = array(); + 185 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 186 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + 186 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 187 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 187 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 188 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 188 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 189 => function ($stackPos) { - $this->semValue = new Stmt\Catch_($this->semStack[$stackPos-(8-3)], $this->semStack[$stackPos-(8-4)], $this->semStack[$stackPos-(8-7)], $this->getAttributes($this->tokenStartStack[$stackPos-(8-1)], $this->tokenEndStack[$stackPos])); + 189 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Catch_($self->semStack[$stackPos-(8-3)], $self->semStack[$stackPos-(8-4)], $self->semStack[$stackPos-(8-7)], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); }, - 190 => function ($stackPos) { - $this->semValue = null; + 190 => static function ($self, $stackPos) { + $self->semValue = null; }, - 191 => function ($stackPos) { - $this->semValue = new Stmt\Finally_($this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 191 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Finally_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 192 => null, - 193 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 193 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 194 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 194 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 195 => function ($stackPos) { - $this->semValue = false; + 195 => static function ($self, $stackPos) { + $self->semValue = false; }, - 196 => function ($stackPos) { - $this->semValue = true; + 196 => static function ($self, $stackPos) { + $self->semValue = true; }, - 197 => function ($stackPos) { - $this->semValue = false; + 197 => static function ($self, $stackPos) { + $self->semValue = false; }, - 198 => function ($stackPos) { - $this->semValue = true; + 198 => static function ($self, $stackPos) { + $self->semValue = true; }, - 199 => function ($stackPos) { - $this->semValue = false; + 199 => static function ($self, $stackPos) { + $self->semValue = false; }, - 200 => function ($stackPos) { - $this->semValue = true; + 200 => static function ($self, $stackPos) { + $self->semValue = true; }, - 201 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 201 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 202 => function ($stackPos) { - $this->semValue = []; + 202 => static function ($self, $stackPos) { + $self->semValue = []; }, 203 => null, - 204 => function ($stackPos) { - $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 204 => static function ($self, $stackPos) { + $self->semValue = new Node\Identifier($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 205 => function ($stackPos) { - $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(8-3)], ['byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-5)], 'returnType' => $this->semStack[$stackPos-(8-7)], 'stmts' => $this->semStack[$stackPos-(8-8)], 'attrGroups' => []], $this->getAttributes($this->tokenStartStack[$stackPos-(8-1)], $this->tokenEndStack[$stackPos])); + 205 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Function_($self->semStack[$stackPos-(8-3)], ['byRef' => $self->semStack[$stackPos-(8-2)], 'params' => $self->semStack[$stackPos-(8-5)], 'returnType' => $self->semStack[$stackPos-(8-7)], 'stmts' => $self->semStack[$stackPos-(8-8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); }, - 206 => function ($stackPos) { - $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(9-4)], ['byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-6)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => $this->semStack[$stackPos-(9-1)]], $this->getAttributes($this->tokenStartStack[$stackPos-(9-1)], $this->tokenEndStack[$stackPos])); + 206 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Function_($self->semStack[$stackPos-(9-4)], ['byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-6)], 'returnType' => $self->semStack[$stackPos-(9-8)], 'stmts' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => $self->semStack[$stackPos-(9-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 207 => function ($stackPos) { - $this->semValue = new Stmt\Class_($this->semStack[$stackPos-(7-2)], ['type' => $this->semStack[$stackPos-(7-1)], 'extends' => $this->semStack[$stackPos-(7-3)], 'implements' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)], 'attrGroups' => []], $this->getAttributes($this->tokenStartStack[$stackPos-(7-1)], $this->tokenEndStack[$stackPos])); - $this->checkClass($this->semValue, $stackPos-(7-2)); + 207 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Class_($self->semStack[$stackPos-(7-2)], ['type' => $self->semStack[$stackPos-(7-1)], 'extends' => $self->semStack[$stackPos-(7-3)], 'implements' => $self->semStack[$stackPos-(7-4)], 'stmts' => $self->semStack[$stackPos-(7-6)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); + $self->checkClass($self->semValue, $stackPos-(7-2)); }, - 208 => function ($stackPos) { - $this->semValue = new Stmt\Class_($this->semStack[$stackPos-(8-3)], ['type' => $this->semStack[$stackPos-(8-2)], 'extends' => $this->semStack[$stackPos-(8-4)], 'implements' => $this->semStack[$stackPos-(8-5)], 'stmts' => $this->semStack[$stackPos-(8-7)], 'attrGroups' => $this->semStack[$stackPos-(8-1)]], $this->getAttributes($this->tokenStartStack[$stackPos-(8-1)], $this->tokenEndStack[$stackPos])); - $this->checkClass($this->semValue, $stackPos-(8-3)); + 208 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Class_($self->semStack[$stackPos-(8-3)], ['type' => $self->semStack[$stackPos-(8-2)], 'extends' => $self->semStack[$stackPos-(8-4)], 'implements' => $self->semStack[$stackPos-(8-5)], 'stmts' => $self->semStack[$stackPos-(8-7)], 'attrGroups' => $self->semStack[$stackPos-(8-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); + $self->checkClass($self->semValue, $stackPos-(8-3)); }, - 209 => function ($stackPos) { - $this->semValue = new Stmt\Interface_($this->semStack[$stackPos-(7-3)], ['extends' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)], 'attrGroups' => $this->semStack[$stackPos-(7-1)]], $this->getAttributes($this->tokenStartStack[$stackPos-(7-1)], $this->tokenEndStack[$stackPos])); - $this->checkInterface($this->semValue, $stackPos-(7-3)); + 209 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Interface_($self->semStack[$stackPos-(7-3)], ['extends' => $self->semStack[$stackPos-(7-4)], 'stmts' => $self->semStack[$stackPos-(7-6)], 'attrGroups' => $self->semStack[$stackPos-(7-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); + $self->checkInterface($self->semValue, $stackPos-(7-3)); }, - 210 => function ($stackPos) { - $this->semValue = new Stmt\Trait_($this->semStack[$stackPos-(6-3)], ['stmts' => $this->semStack[$stackPos-(6-5)], 'attrGroups' => $this->semStack[$stackPos-(6-1)]], $this->getAttributes($this->tokenStartStack[$stackPos-(6-1)], $this->tokenEndStack[$stackPos])); + 210 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Trait_($self->semStack[$stackPos-(6-3)], ['stmts' => $self->semStack[$stackPos-(6-5)], 'attrGroups' => $self->semStack[$stackPos-(6-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); }, - 211 => function ($stackPos) { - $this->semValue = new Stmt\Enum_($this->semStack[$stackPos-(8-3)], ['scalarType' => $this->semStack[$stackPos-(8-4)], 'implements' => $this->semStack[$stackPos-(8-5)], 'stmts' => $this->semStack[$stackPos-(8-7)], 'attrGroups' => $this->semStack[$stackPos-(8-1)]], $this->getAttributes($this->tokenStartStack[$stackPos-(8-1)], $this->tokenEndStack[$stackPos])); - $this->checkEnum($this->semValue, $stackPos-(8-3)); + 211 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Enum_($self->semStack[$stackPos-(8-3)], ['scalarType' => $self->semStack[$stackPos-(8-4)], 'implements' => $self->semStack[$stackPos-(8-5)], 'stmts' => $self->semStack[$stackPos-(8-7)], 'attrGroups' => $self->semStack[$stackPos-(8-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); + $self->checkEnum($self->semValue, $stackPos-(8-3)); }, - 212 => function ($stackPos) { - $this->semValue = null; + 212 => static function ($self, $stackPos) { + $self->semValue = null; }, - 213 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + 213 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(2-2)]; }, - 214 => function ($stackPos) { - $this->semValue = null; + 214 => static function ($self, $stackPos) { + $self->semValue = null; }, - 215 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + 215 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(2-2)]; }, - 216 => function ($stackPos) { - $this->semValue = 0; + 216 => static function ($self, $stackPos) { + $self->semValue = 0; }, 217 => null, 218 => null, - 219 => function ($stackPos) { - $this->checkClassModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; + 219 => static function ($self, $stackPos) { + $self->checkClassModifier($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $self->semValue = $self->semStack[$stackPos-(2-1)] | $self->semStack[$stackPos-(2-2)]; }, - 220 => function ($stackPos) { - $this->semValue = Modifiers::ABSTRACT; + 220 => static function ($self, $stackPos) { + $self->semValue = Modifiers::ABSTRACT; }, - 221 => function ($stackPos) { - $this->semValue = Modifiers::FINAL; + 221 => static function ($self, $stackPos) { + $self->semValue = Modifiers::FINAL; }, - 222 => function ($stackPos) { - $this->semValue = Modifiers::READONLY; + 222 => static function ($self, $stackPos) { + $self->semValue = Modifiers::READONLY; }, - 223 => function ($stackPos) { - $this->semValue = null; + 223 => static function ($self, $stackPos) { + $self->semValue = null; }, - 224 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + 224 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(2-2)]; }, - 225 => function ($stackPos) { - $this->semValue = array(); + 225 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 226 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + 226 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(2-2)]; }, - 227 => function ($stackPos) { - $this->semValue = array(); + 227 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 228 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + 228 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(2-2)]; }, 229 => null, - 230 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 230 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 231 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 231 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, 232 => null, - 233 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; + 233 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(4-2)]; }, 234 => null, - 235 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; + 235 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(4-2)]; }, - 236 => function ($stackPos) { - if ($this->semStack[$stackPos-(1-1)] instanceof Stmt\Block) { $this->semValue = $this->semStack[$stackPos-(1-1)]->stmts; } else if ($this->semStack[$stackPos-(1-1)] === null) { $this->semValue = []; } else { $this->semValue = [$this->semStack[$stackPos-(1-1)]]; }; + 236 => static function ($self, $stackPos) { + if ($self->semStack[$stackPos-(1-1)] instanceof Stmt\Block) { $self->semValue = $self->semStack[$stackPos-(1-1)]->stmts; } else if ($self->semStack[$stackPos-(1-1)] === null) { $self->semValue = []; } else { $self->semValue = [$self->semStack[$stackPos-(1-1)]]; }; }, - 237 => function ($stackPos) { - $this->semValue = null; + 237 => static function ($self, $stackPos) { + $self->semValue = null; }, - 238 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; + 238 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(4-2)]; }, 239 => null, - 240 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 240 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 241 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 241 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 242 => function ($stackPos) { - $this->semValue = new Node\DeclareItem($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 242 => static function ($self, $stackPos) { + $self->semValue = new Node\DeclareItem($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 243 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 243 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 244 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-3)]; + 244 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(4-3)]; }, - 245 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; + 245 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(4-2)]; }, - 246 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(5-3)]; + 246 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(5-3)]; }, - 247 => function ($stackPos) { - $this->semValue = array(); + 247 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 248 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + 248 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 249 => function ($stackPos) { - $this->semValue = new Stmt\Case_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 249 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Case_($self->semStack[$stackPos-(4-2)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 250 => function ($stackPos) { - $this->semValue = new Stmt\Case_(null, $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 250 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Case_(null, $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 251 => null, 252 => null, - 253 => function ($stackPos) { - $this->semValue = new Expr\Match_($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-6)], $this->getAttributes($this->tokenStartStack[$stackPos-(7-1)], $this->tokenEndStack[$stackPos])); + 253 => static function ($self, $stackPos) { + $self->semValue = new Expr\Match_($self->semStack[$stackPos-(7-3)], $self->semStack[$stackPos-(7-6)], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); }, - 254 => function ($stackPos) { - $this->semValue = []; + 254 => static function ($self, $stackPos) { + $self->semValue = []; }, 255 => null, - 256 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 256 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 257 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 257 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 258 => function ($stackPos) { - $this->semValue = new Node\MatchArm($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 258 => static function ($self, $stackPos) { + $self->semValue = new Node\MatchArm($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 259 => function ($stackPos) { - $this->semValue = new Node\MatchArm(null, $this->semStack[$stackPos-(4-4)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 259 => static function ($self, $stackPos) { + $self->semValue = new Node\MatchArm(null, $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 260 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + 260 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(1-1)]; }, - 261 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; + 261 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(4-2)]; }, - 262 => function ($stackPos) { - $this->semValue = array(); + 262 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 263 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + 263 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 264 => function ($stackPos) { - $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->getAttributes($this->tokenStartStack[$stackPos-(5-1)], $this->tokenEndStack[$stackPos])); + 264 => static function ($self, $stackPos) { + $self->semValue = new Stmt\ElseIf_($self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 265 => function ($stackPos) { - $this->semValue = array(); + 265 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 266 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + 266 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 267 => function ($stackPos) { - $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-6)], $this->getAttributes($this->tokenStartStack[$stackPos-(6-1)], $this->tokenEndStack[$stackPos])); $this->fixupAlternativeElse($this->semValue); + 267 => static function ($self, $stackPos) { + $self->semValue = new Stmt\ElseIf_($self->semStack[$stackPos-(6-3)], $self->semStack[$stackPos-(6-6)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); $self->fixupAlternativeElse($self->semValue); }, - 268 => function ($stackPos) { - $this->semValue = null; + 268 => static function ($self, $stackPos) { + $self->semValue = null; }, - 269 => function ($stackPos) { - $this->semValue = new Stmt\Else_($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 269 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Else_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 270 => function ($stackPos) { - $this->semValue = null; + 270 => static function ($self, $stackPos) { + $self->semValue = null; }, - 271 => function ($stackPos) { - $this->semValue = new Stmt\Else_($this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); $this->fixupAlternativeElse($this->semValue); + 271 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Else_($self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); $self->fixupAlternativeElse($self->semValue); }, - 272 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)], false); + 272 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)], false); }, - 273 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(2-2)], true); + 273 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(2-2)], true); }, - 274 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)], false); + 274 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)], false); }, - 275 => function ($stackPos) { - $this->semValue = array($this->fixupArrayDestructuring($this->semStack[$stackPos-(1-1)]), false); + 275 => static function ($self, $stackPos) { + $self->semValue = array($self->fixupArrayDestructuring($self->semStack[$stackPos-(1-1)]), false); }, 276 => null, - 277 => function ($stackPos) { - $this->semValue = array(); + 277 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 278 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 278 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 279 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 279 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 280 => function ($stackPos) { - $this->semValue = 0; + 280 => static function ($self, $stackPos) { + $self->semValue = 0; }, - 281 => function ($stackPos) { - $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; + 281 => static function ($self, $stackPos) { + $self->checkModifier($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $self->semValue = $self->semStack[$stackPos-(2-1)] | $self->semStack[$stackPos-(2-2)]; }, - 282 => function ($stackPos) { - $this->semValue = Modifiers::PUBLIC; + 282 => static function ($self, $stackPos) { + $self->semValue = Modifiers::PUBLIC; }, - 283 => function ($stackPos) { - $this->semValue = Modifiers::PROTECTED; + 283 => static function ($self, $stackPos) { + $self->semValue = Modifiers::PROTECTED; }, - 284 => function ($stackPos) { - $this->semValue = Modifiers::PRIVATE; + 284 => static function ($self, $stackPos) { + $self->semValue = Modifiers::PRIVATE; }, - 285 => function ($stackPos) { - $this->semValue = Modifiers::READONLY; + 285 => static function ($self, $stackPos) { + $self->semValue = Modifiers::READONLY; }, - 286 => function ($stackPos) { - $this->semValue = new Node\Param($this->semStack[$stackPos-(6-6)], null, $this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-5)], $this->getAttributes($this->tokenStartStack[$stackPos-(6-1)], $this->tokenEndStack[$stackPos]), $this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-1)]); - $this->checkParam($this->semValue); + 286 => static function ($self, $stackPos) { + $self->semValue = new Node\Param($self->semStack[$stackPos-(6-6)], null, $self->semStack[$stackPos-(6-3)], $self->semStack[$stackPos-(6-4)], $self->semStack[$stackPos-(6-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-1)]); + $self->checkParam($self->semValue); }, - 287 => function ($stackPos) { - $this->semValue = new Node\Param($this->semStack[$stackPos-(8-6)], $this->semStack[$stackPos-(8-8)], $this->semStack[$stackPos-(8-3)], $this->semStack[$stackPos-(8-4)], $this->semStack[$stackPos-(8-5)], $this->getAttributes($this->tokenStartStack[$stackPos-(8-1)], $this->tokenEndStack[$stackPos]), $this->semStack[$stackPos-(8-2)], $this->semStack[$stackPos-(8-1)]); - $this->checkParam($this->semValue); + 287 => static function ($self, $stackPos) { + $self->semValue = new Node\Param($self->semStack[$stackPos-(8-6)], $self->semStack[$stackPos-(8-8)], $self->semStack[$stackPos-(8-3)], $self->semStack[$stackPos-(8-4)], $self->semStack[$stackPos-(8-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(8-2)], $self->semStack[$stackPos-(8-1)]); + $self->checkParam($self->semValue); }, - 288 => function ($stackPos) { - $this->semValue = new Node\Param(new Expr\Error($this->getAttributes($this->tokenStartStack[$stackPos-(6-1)], $this->tokenEndStack[$stackPos])), null, $this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-5)], $this->getAttributes($this->tokenStartStack[$stackPos-(6-1)], $this->tokenEndStack[$stackPos]), $this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-1)]); + 288 => static function ($self, $stackPos) { + $self->semValue = new Node\Param(new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])), null, $self->semStack[$stackPos-(6-3)], $self->semStack[$stackPos-(6-4)], $self->semStack[$stackPos-(6-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-1)]); }, 289 => null, - 290 => function ($stackPos) { - $this->semValue = new Node\NullableType($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 290 => static function ($self, $stackPos) { + $self->semValue = new Node\NullableType($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 291 => function ($stackPos) { - $this->semValue = new Node\UnionType($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 291 => static function ($self, $stackPos) { + $self->semValue = new Node\UnionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 292 => null, 293 => null, - 294 => function ($stackPos) { - $this->semValue = new Node\Name('static', $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 294 => static function ($self, $stackPos) { + $self->semValue = new Node\Name('static', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 295 => function ($stackPos) { - $this->semValue = $this->handleBuiltinTypes($this->semStack[$stackPos-(1-1)]); + 295 => static function ($self, $stackPos) { + $self->semValue = $self->handleBuiltinTypes($self->semStack[$stackPos-(1-1)]); }, - 296 => function ($stackPos) { - $this->semValue = new Node\Identifier('array', $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 296 => static function ($self, $stackPos) { + $self->semValue = new Node\Identifier('array', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 297 => function ($stackPos) { - $this->semValue = new Node\Identifier('callable', $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 297 => static function ($self, $stackPos) { + $self->semValue = new Node\Identifier('callable', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 298 => null, - 299 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 299 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 300 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + 300 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, - 301 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 301 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, 302 => null, - 303 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 303 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 304 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + 304 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, - 305 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 305 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 306 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + 306 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, - 307 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 307 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 308 => function ($stackPos) { - $this->semValue = new Node\IntersectionType($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 308 => static function ($self, $stackPos) { + $self->semValue = new Node\IntersectionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 309 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + 309 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, - 310 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 310 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 311 => function ($stackPos) { - $this->semValue = new Node\IntersectionType($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 311 => static function ($self, $stackPos) { + $self->semValue = new Node\IntersectionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 312 => null, - 313 => function ($stackPos) { - $this->semValue = new Node\NullableType($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 313 => static function ($self, $stackPos) { + $self->semValue = new Node\NullableType($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 314 => function ($stackPos) { - $this->semValue = new Node\UnionType($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 314 => static function ($self, $stackPos) { + $self->semValue = new Node\UnionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 315 => null, - 316 => function ($stackPos) { - $this->semValue = null; + 316 => static function ($self, $stackPos) { + $self->semValue = null; }, 317 => null, - 318 => function ($stackPos) { - $this->semValue = null; + 318 => static function ($self, $stackPos) { + $self->semValue = null; }, - 319 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + 319 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(2-2)]; }, - 320 => function ($stackPos) { - $this->semValue = null; + 320 => static function ($self, $stackPos) { + $self->semValue = null; }, - 321 => function ($stackPos) { - $this->semValue = array(); + 321 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 322 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; + 322 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(4-2)]; }, - 323 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-2)]); + 323 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(3-2)]); }, - 324 => function ($stackPos) { - $this->semValue = new Node\VariadicPlaceholder($this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 324 => static function ($self, $stackPos) { + $self->semValue = new Node\VariadicPlaceholder($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 325 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 325 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 326 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 326 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 327 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(1-1)], false, false, $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 327 => static function ($self, $stackPos) { + $self->semValue = new Node\Arg($self->semStack[$stackPos-(1-1)], false, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 328 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], true, false, $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 328 => static function ($self, $stackPos) { + $self->semValue = new Node\Arg($self->semStack[$stackPos-(2-2)], true, false, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 329 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], false, true, $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 329 => static function ($self, $stackPos) { + $self->semValue = new Node\Arg($self->semStack[$stackPos-(2-2)], false, true, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 330 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(3-3)], false, false, $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos]), $this->semStack[$stackPos-(3-1)]); + 330 => static function ($self, $stackPos) { + $self->semValue = new Node\Arg($self->semStack[$stackPos-(3-3)], false, false, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(3-1)]); }, 331 => null, - 332 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 332 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 333 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 333 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, 334 => null, 335 => null, - 336 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 336 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 337 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 337 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 338 => function ($stackPos) { - $this->semValue = new Node\StaticVar($this->semStack[$stackPos-(1-1)], null, $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 338 => static function ($self, $stackPos) { + $self->semValue = new Node\StaticVar($self->semStack[$stackPos-(1-1)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 339 => function ($stackPos) { - $this->semValue = new Node\StaticVar($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 339 => static function ($self, $stackPos) { + $self->semValue = new Node\StaticVar($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 340 => function ($stackPos) { - if ($this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; } else { $this->semValue = $this->semStack[$stackPos-(2-1)]; } + 340 => static function ($self, $stackPos) { + if ($self->semStack[$stackPos-(2-2)] !== null) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; } else { $self->semValue = $self->semStack[$stackPos-(2-1)]; } }, - 341 => function ($stackPos) { - $this->semValue = array(); + 341 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 342 => function ($stackPos) { - $nop = $this->maybeCreateZeroLengthNop($this->tokenPos);; - if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; + 342 => static function ($self, $stackPos) { + $nop = $self->maybeCreateZeroLengthNop($self->tokenPos);; + if ($nop !== null) { $self->semStack[$stackPos-(1-1)][] = $nop; } $self->semValue = $self->semStack[$stackPos-(1-1)]; }, - 343 => function ($stackPos) { - $this->semValue = new Stmt\Property($this->semStack[$stackPos-(5-2)], $this->semStack[$stackPos-(5-4)], $this->getAttributes($this->tokenStartStack[$stackPos-(5-1)], $this->tokenEndStack[$stackPos]), $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-1)]); - $this->checkProperty($this->semValue, $stackPos-(5-2)); + 343 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Property($self->semStack[$stackPos-(5-2)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-1)]); + $self->checkProperty($self->semValue, $stackPos-(5-2)); }, - 344 => function ($stackPos) { - $this->semValue = new Stmt\ClassConst($this->semStack[$stackPos-(5-4)], $this->semStack[$stackPos-(5-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(5-1)], $this->tokenEndStack[$stackPos]), $this->semStack[$stackPos-(5-1)]); - $this->checkClassConst($this->semValue, $stackPos-(5-2)); + 344 => static function ($self, $stackPos) { + $self->semValue = new Stmt\ClassConst($self->semStack[$stackPos-(5-4)], $self->semStack[$stackPos-(5-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(5-1)]); + $self->checkClassConst($self->semValue, $stackPos-(5-2)); }, - 345 => function ($stackPos) { - $this->semValue = new Stmt\ClassConst($this->semStack[$stackPos-(6-5)], $this->semStack[$stackPos-(6-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(6-1)], $this->tokenEndStack[$stackPos]), $this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-4)]); - $this->checkClassConst($this->semValue, $stackPos-(6-2)); + 345 => static function ($self, $stackPos) { + $self->semValue = new Stmt\ClassConst($self->semStack[$stackPos-(6-5)], $self->semStack[$stackPos-(6-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(6-1)], $self->semStack[$stackPos-(6-4)]); + $self->checkClassConst($self->semValue, $stackPos-(6-2)); }, - 346 => function ($stackPos) { - $this->semValue = new Stmt\ClassMethod($this->semStack[$stackPos-(10-5)], ['type' => $this->semStack[$stackPos-(10-2)], 'byRef' => $this->semStack[$stackPos-(10-4)], 'params' => $this->semStack[$stackPos-(10-7)], 'returnType' => $this->semStack[$stackPos-(10-9)], 'stmts' => $this->semStack[$stackPos-(10-10)], 'attrGroups' => $this->semStack[$stackPos-(10-1)]], $this->getAttributes($this->tokenStartStack[$stackPos-(10-1)], $this->tokenEndStack[$stackPos])); - $this->checkClassMethod($this->semValue, $stackPos-(10-2)); + 346 => static function ($self, $stackPos) { + $self->semValue = new Stmt\ClassMethod($self->semStack[$stackPos-(10-5)], ['type' => $self->semStack[$stackPos-(10-2)], 'byRef' => $self->semStack[$stackPos-(10-4)], 'params' => $self->semStack[$stackPos-(10-7)], 'returnType' => $self->semStack[$stackPos-(10-9)], 'stmts' => $self->semStack[$stackPos-(10-10)], 'attrGroups' => $self->semStack[$stackPos-(10-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); + $self->checkClassMethod($self->semValue, $stackPos-(10-2)); }, - 347 => function ($stackPos) { - $this->semValue = new Stmt\TraitUse($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 347 => static function ($self, $stackPos) { + $self->semValue = new Stmt\TraitUse($self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 348 => function ($stackPos) { - $this->semValue = new Stmt\EnumCase($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->semStack[$stackPos-(5-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(5-1)], $this->tokenEndStack[$stackPos])); + 348 => static function ($self, $stackPos) { + $self->semValue = new Stmt\EnumCase($self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-4)], $self->semStack[$stackPos-(5-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 349 => function ($stackPos) { - $this->semValue = null; /* will be skipped */ + 349 => static function ($self, $stackPos) { + $self->semValue = null; /* will be skipped */ }, - 350 => function ($stackPos) { - $this->semValue = array(); + 350 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 351 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 351 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 352 => function ($stackPos) { - $this->semValue = array(); + 352 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 353 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + 353 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 354 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 354 => static function ($self, $stackPos) { + $self->semValue = new Stmt\TraitUseAdaptation\Precedence($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 355 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(5-1)][0], $this->semStack[$stackPos-(5-1)][1], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->getAttributes($this->tokenStartStack[$stackPos-(5-1)], $this->tokenEndStack[$stackPos])); + 355 => static function ($self, $stackPos) { + $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(5-1)][0], $self->semStack[$stackPos-(5-1)][1], $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 356 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], null, $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 356 => static function ($self, $stackPos) { + $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], $self->semStack[$stackPos-(4-3)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 357 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 357 => static function ($self, $stackPos) { + $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], null, $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 358 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 358 => static function ($self, $stackPos) { + $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], null, $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 359 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + 359 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, 360 => null, - 361 => function ($stackPos) { - $this->semValue = array(null, $this->semStack[$stackPos-(1-1)]); + 361 => static function ($self, $stackPos) { + $self->semValue = array(null, $self->semStack[$stackPos-(1-1)]); }, - 362 => function ($stackPos) { - $this->semValue = null; + 362 => static function ($self, $stackPos) { + $self->semValue = null; }, 363 => null, 364 => null, - 365 => function ($stackPos) { - $this->semValue = 0; + 365 => static function ($self, $stackPos) { + $self->semValue = 0; }, - 366 => function ($stackPos) { - $this->semValue = 0; + 366 => static function ($self, $stackPos) { + $self->semValue = 0; }, 367 => null, 368 => null, - 369 => function ($stackPos) { - $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; + 369 => static function ($self, $stackPos) { + $self->checkModifier($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $self->semValue = $self->semStack[$stackPos-(2-1)] | $self->semStack[$stackPos-(2-2)]; }, - 370 => function ($stackPos) { - $this->semValue = Modifiers::PUBLIC; + 370 => static function ($self, $stackPos) { + $self->semValue = Modifiers::PUBLIC; }, - 371 => function ($stackPos) { - $this->semValue = Modifiers::PROTECTED; + 371 => static function ($self, $stackPos) { + $self->semValue = Modifiers::PROTECTED; }, - 372 => function ($stackPos) { - $this->semValue = Modifiers::PRIVATE; + 372 => static function ($self, $stackPos) { + $self->semValue = Modifiers::PRIVATE; }, - 373 => function ($stackPos) { - $this->semValue = Modifiers::STATIC; + 373 => static function ($self, $stackPos) { + $self->semValue = Modifiers::STATIC; }, - 374 => function ($stackPos) { - $this->semValue = Modifiers::ABSTRACT; + 374 => static function ($self, $stackPos) { + $self->semValue = Modifiers::ABSTRACT; }, - 375 => function ($stackPos) { - $this->semValue = Modifiers::FINAL; + 375 => static function ($self, $stackPos) { + $self->semValue = Modifiers::FINAL; }, - 376 => function ($stackPos) { - $this->semValue = Modifiers::READONLY; + 376 => static function ($self, $stackPos) { + $self->semValue = Modifiers::READONLY; }, 377 => null, - 378 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 378 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 379 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 379 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 380 => function ($stackPos) { - $this->semValue = new Node\VarLikeIdentifier(substr($this->semStack[$stackPos-(1-1)], 1), $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 380 => static function ($self, $stackPos) { + $self->semValue = new Node\VarLikeIdentifier(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 381 => function ($stackPos) { - $this->semValue = new Node\PropertyItem($this->semStack[$stackPos-(1-1)], null, $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 381 => static function ($self, $stackPos) { + $self->semValue = new Node\PropertyItem($self->semStack[$stackPos-(1-1)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 382 => function ($stackPos) { - $this->semValue = new Node\PropertyItem($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 382 => static function ($self, $stackPos) { + $self->semValue = new Node\PropertyItem($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 383 => null, 384 => null, - 385 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 385 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 386 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 386 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 387 => function ($stackPos) { - $this->semValue = array(); + 387 => static function ($self, $stackPos) { + $self->semValue = array(); }, 388 => null, 389 => null, - 390 => function ($stackPos) { - $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 390 => static function ($self, $stackPos) { + $self->semValue = new Expr\Assign($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 391 => function ($stackPos) { - $this->semValue = new Expr\Assign($this->fixupArrayDestructuring($this->semStack[$stackPos-(3-1)]), $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 391 => static function ($self, $stackPos) { + $self->semValue = new Expr\Assign($self->fixupArrayDestructuring($self->semStack[$stackPos-(3-1)]), $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 392 => function ($stackPos) { - $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 392 => static function ($self, $stackPos) { + $self->semValue = new Expr\Assign($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 393 => function ($stackPos) { - $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 393 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignRef($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 394 => function ($stackPos) { - $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); - if (!$this->phpVersion->allowsAssignNewByReference()) { - $this->emitError(new Error('Cannot assign new by reference', $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos]))); + 394 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignRef($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + if (!$self->phpVersion->allowsAssignNewByReference()) { + $self->emitError(new Error('Cannot assign new by reference', $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]))); } }, 395 => null, 396 => null, - 397 => function ($stackPos) { - $this->semValue = new Expr\Clone_($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 397 => static function ($self, $stackPos) { + $self->semValue = new Expr\Clone_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 398 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 398 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignOp\Plus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 399 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 399 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignOp\Minus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 400 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 400 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignOp\Mul($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 401 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 401 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignOp\Div($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 402 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 402 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignOp\Concat($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 403 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 403 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignOp\Mod($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 404 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 404 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 405 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 405 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignOp\BitwiseOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 406 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 406 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignOp\BitwiseXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 407 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 407 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignOp\ShiftLeft($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 408 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 408 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignOp\ShiftRight($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 409 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 409 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignOp\Pow($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 410 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 410 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignOp\Coalesce($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 411 => function ($stackPos) { - $this->semValue = new Expr\PostInc($this->semStack[$stackPos-(2-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 411 => static function ($self, $stackPos) { + $self->semValue = new Expr\PostInc($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 412 => function ($stackPos) { - $this->semValue = new Expr\PreInc($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 412 => static function ($self, $stackPos) { + $self->semValue = new Expr\PreInc($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 413 => function ($stackPos) { - $this->semValue = new Expr\PostDec($this->semStack[$stackPos-(2-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 413 => static function ($self, $stackPos) { + $self->semValue = new Expr\PostDec($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 414 => function ($stackPos) { - $this->semValue = new Expr\PreDec($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 414 => static function ($self, $stackPos) { + $self->semValue = new Expr\PreDec($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 415 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 415 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\BooleanOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 416 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 416 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\BooleanAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 417 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 417 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\LogicalOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 418 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 418 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\LogicalAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 419 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 419 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\LogicalXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 420 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 420 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\BitwiseOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 421 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 421 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 422 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 422 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 423 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 423 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\BitwiseXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 424 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 424 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Concat($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 425 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 425 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Plus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 426 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 426 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Minus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 427 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 427 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Mul($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 428 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 428 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Div($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 429 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 429 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Mod($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 430 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 430 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\ShiftLeft($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 431 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 431 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\ShiftRight($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 432 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 432 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Pow($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 433 => function ($stackPos) { - $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 433 => static function ($self, $stackPos) { + $self->semValue = new Expr\UnaryPlus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 434 => function ($stackPos) { - $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 434 => static function ($self, $stackPos) { + $self->semValue = new Expr\UnaryMinus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 435 => function ($stackPos) { - $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 435 => static function ($self, $stackPos) { + $self->semValue = new Expr\BooleanNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 436 => function ($stackPos) { - $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 436 => static function ($self, $stackPos) { + $self->semValue = new Expr\BitwiseNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 437 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 437 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Identical($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 438 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 438 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\NotIdentical($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 439 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 439 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Equal($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 440 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 440 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\NotEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 441 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 441 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Spaceship($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 442 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 442 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Smaller($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 443 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 443 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\SmallerOrEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 444 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 444 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Greater($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 445 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 445 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\GreaterOrEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 446 => function ($stackPos) { - $this->semValue = new Expr\Instanceof_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 446 => static function ($self, $stackPos) { + $self->semValue = new Expr\Instanceof_($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 447 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 447 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 448 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->getAttributes($this->tokenStartStack[$stackPos-(5-1)], $this->tokenEndStack[$stackPos])); + 448 => static function ($self, $stackPos) { + $self->semValue = new Expr\Ternary($self->semStack[$stackPos-(5-1)], $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 449 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 449 => static function ($self, $stackPos) { + $self->semValue = new Expr\Ternary($self->semStack[$stackPos-(4-1)], null, $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 450 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 450 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Coalesce($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 451 => function ($stackPos) { - $this->semValue = new Expr\Isset_($this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 451 => static function ($self, $stackPos) { + $self->semValue = new Expr\Isset_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 452 => function ($stackPos) { - $this->semValue = new Expr\Empty_($this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 452 => static function ($self, $stackPos) { + $self->semValue = new Expr\Empty_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 453 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 453 => static function ($self, $stackPos) { + $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 454 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 454 => static function ($self, $stackPos) { + $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 455 => function ($stackPos) { - $this->semValue = new Expr\Eval_($this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 455 => static function ($self, $stackPos) { + $self->semValue = new Expr\Eval_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 456 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 456 => static function ($self, $stackPos) { + $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 457 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 457 => static function ($self, $stackPos) { + $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 458 => function ($stackPos) { - $this->semValue = new Expr\Cast\Int_($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 458 => static function ($self, $stackPos) { + $self->semValue = new Expr\Cast\Int_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 459 => function ($stackPos) { - $attrs = $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos]); - $attrs['kind'] = $this->getFloatCastKind($this->semStack[$stackPos-(2-1)]); - $this->semValue = new Expr\Cast\Double($this->semStack[$stackPos-(2-2)], $attrs); + 459 => static function ($self, $stackPos) { + $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]); + $attrs['kind'] = $self->getFloatCastKind($self->semStack[$stackPos-(2-1)]); + $self->semValue = new Expr\Cast\Double($self->semStack[$stackPos-(2-2)], $attrs); }, - 460 => function ($stackPos) { - $this->semValue = new Expr\Cast\String_($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 460 => static function ($self, $stackPos) { + $self->semValue = new Expr\Cast\String_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 461 => function ($stackPos) { - $this->semValue = new Expr\Cast\Array_($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 461 => static function ($self, $stackPos) { + $self->semValue = new Expr\Cast\Array_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 462 => function ($stackPos) { - $this->semValue = new Expr\Cast\Object_($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 462 => static function ($self, $stackPos) { + $self->semValue = new Expr\Cast\Object_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 463 => function ($stackPos) { - $this->semValue = new Expr\Cast\Bool_($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 463 => static function ($self, $stackPos) { + $self->semValue = new Expr\Cast\Bool_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 464 => function ($stackPos) { - $this->semValue = new Expr\Cast\Unset_($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 464 => static function ($self, $stackPos) { + $self->semValue = new Expr\Cast\Unset_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 465 => function ($stackPos) { - $attrs = $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos]); - $attrs['kind'] = strtolower($this->semStack[$stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; - $this->semValue = new Expr\Exit_($this->semStack[$stackPos-(2-2)], $attrs); + 465 => static function ($self, $stackPos) { + $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]); + $attrs['kind'] = strtolower($self->semStack[$stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; + $self->semValue = new Expr\Exit_($self->semStack[$stackPos-(2-2)], $attrs); }, - 466 => function ($stackPos) { - $this->semValue = new Expr\ErrorSuppress($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 466 => static function ($self, $stackPos) { + $self->semValue = new Expr\ErrorSuppress($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 467 => null, - 468 => function ($stackPos) { - $this->semValue = new Expr\ShellExec($this->semStack[$stackPos-(3-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 468 => static function ($self, $stackPos) { + $self->semValue = new Expr\ShellExec($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 469 => function ($stackPos) { - $this->semValue = new Expr\Print_($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 469 => static function ($self, $stackPos) { + $self->semValue = new Expr\Print_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 470 => function ($stackPos) { - $this->semValue = new Expr\Yield_(null, null, $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 470 => static function ($self, $stackPos) { + $self->semValue = new Expr\Yield_(null, null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 471 => function ($stackPos) { - $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(2-2)], null, $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 471 => static function ($self, $stackPos) { + $self->semValue = new Expr\Yield_($self->semStack[$stackPos-(2-2)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 472 => function ($stackPos) { - $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 472 => static function ($self, $stackPos) { + $self->semValue = new Expr\Yield_($self->semStack[$stackPos-(4-4)], $self->semStack[$stackPos-(4-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 473 => function ($stackPos) { - $this->semValue = new Expr\YieldFrom($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 473 => static function ($self, $stackPos) { + $self->semValue = new Expr\YieldFrom($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 474 => function ($stackPos) { - $this->semValue = new Expr\Throw_($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 474 => static function ($self, $stackPos) { + $self->semValue = new Expr\Throw_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 475 => function ($stackPos) { - $this->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-4)], 'returnType' => $this->semStack[$stackPos-(8-6)], 'expr' => $this->semStack[$stackPos-(8-8)], 'attrGroups' => []], $this->getAttributes($this->tokenStartStack[$stackPos-(8-1)], $this->tokenEndStack[$stackPos])); + 475 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $self->semStack[$stackPos-(8-2)], 'params' => $self->semStack[$stackPos-(8-4)], 'returnType' => $self->semStack[$stackPos-(8-6)], 'expr' => $self->semStack[$stackPos-(8-8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); }, - 476 => function ($stackPos) { - $this->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'returnType' => $this->semStack[$stackPos-(9-7)], 'expr' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => []], $this->getAttributes($this->tokenStartStack[$stackPos-(9-1)], $this->tokenEndStack[$stackPos])); + 476 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'returnType' => $self->semStack[$stackPos-(9-7)], 'expr' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 477 => function ($stackPos) { - $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-4)], 'uses' => $this->semStack[$stackPos-(8-6)], 'returnType' => $this->semStack[$stackPos-(8-7)], 'stmts' => $this->semStack[$stackPos-(8-8)], 'attrGroups' => []], $this->getAttributes($this->tokenStartStack[$stackPos-(8-1)], $this->tokenEndStack[$stackPos])); + 477 => static function ($self, $stackPos) { + $self->semValue = new Expr\Closure(['static' => false, 'byRef' => $self->semStack[$stackPos-(8-2)], 'params' => $self->semStack[$stackPos-(8-4)], 'uses' => $self->semStack[$stackPos-(8-6)], 'returnType' => $self->semStack[$stackPos-(8-7)], 'stmts' => $self->semStack[$stackPos-(8-8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); }, - 478 => function ($stackPos) { - $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'uses' => $this->semStack[$stackPos-(9-7)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => []], $this->getAttributes($this->tokenStartStack[$stackPos-(9-1)], $this->tokenEndStack[$stackPos])); + 478 => static function ($self, $stackPos) { + $self->semValue = new Expr\Closure(['static' => true, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'uses' => $self->semStack[$stackPos-(9-7)], 'returnType' => $self->semStack[$stackPos-(9-8)], 'stmts' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 479 => function ($stackPos) { - $this->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'returnType' => $this->semStack[$stackPos-(9-7)], 'expr' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => $this->semStack[$stackPos-(9-1)]], $this->getAttributes($this->tokenStartStack[$stackPos-(9-1)], $this->tokenEndStack[$stackPos])); + 479 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'returnType' => $self->semStack[$stackPos-(9-7)], 'expr' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => $self->semStack[$stackPos-(9-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 480 => function ($stackPos) { - $this->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $this->semStack[$stackPos-(10-4)], 'params' => $this->semStack[$stackPos-(10-6)], 'returnType' => $this->semStack[$stackPos-(10-8)], 'expr' => $this->semStack[$stackPos-(10-10)], 'attrGroups' => $this->semStack[$stackPos-(10-1)]], $this->getAttributes($this->tokenStartStack[$stackPos-(10-1)], $this->tokenEndStack[$stackPos])); + 480 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $self->semStack[$stackPos-(10-4)], 'params' => $self->semStack[$stackPos-(10-6)], 'returnType' => $self->semStack[$stackPos-(10-8)], 'expr' => $self->semStack[$stackPos-(10-10)], 'attrGroups' => $self->semStack[$stackPos-(10-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); }, - 481 => function ($stackPos) { - $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'uses' => $this->semStack[$stackPos-(9-7)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => $this->semStack[$stackPos-(9-1)]], $this->getAttributes($this->tokenStartStack[$stackPos-(9-1)], $this->tokenEndStack[$stackPos])); + 481 => static function ($self, $stackPos) { + $self->semValue = new Expr\Closure(['static' => false, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'uses' => $self->semStack[$stackPos-(9-7)], 'returnType' => $self->semStack[$stackPos-(9-8)], 'stmts' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => $self->semStack[$stackPos-(9-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 482 => function ($stackPos) { - $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$stackPos-(10-4)], 'params' => $this->semStack[$stackPos-(10-6)], 'uses' => $this->semStack[$stackPos-(10-8)], 'returnType' => $this->semStack[$stackPos-(10-9)], 'stmts' => $this->semStack[$stackPos-(10-10)], 'attrGroups' => $this->semStack[$stackPos-(10-1)]], $this->getAttributes($this->tokenStartStack[$stackPos-(10-1)], $this->tokenEndStack[$stackPos])); + 482 => static function ($self, $stackPos) { + $self->semValue = new Expr\Closure(['static' => true, 'byRef' => $self->semStack[$stackPos-(10-4)], 'params' => $self->semStack[$stackPos-(10-6)], 'uses' => $self->semStack[$stackPos-(10-8)], 'returnType' => $self->semStack[$stackPos-(10-9)], 'stmts' => $self->semStack[$stackPos-(10-10)], 'attrGroups' => $self->semStack[$stackPos-(10-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); }, - 483 => function ($stackPos) { - $this->semValue = array(new Stmt\Class_(null, ['type' => $this->semStack[$stackPos-(8-2)], 'extends' => $this->semStack[$stackPos-(8-4)], 'implements' => $this->semStack[$stackPos-(8-5)], 'stmts' => $this->semStack[$stackPos-(8-7)], 'attrGroups' => $this->semStack[$stackPos-(8-1)]], $this->getAttributes($this->tokenStartStack[$stackPos-(8-1)], $this->tokenEndStack[$stackPos])), $this->semStack[$stackPos-(8-3)]); - $this->checkClass($this->semValue[0], -1); + 483 => static function ($self, $stackPos) { + $self->semValue = array(new Stmt\Class_(null, ['type' => $self->semStack[$stackPos-(8-2)], 'extends' => $self->semStack[$stackPos-(8-4)], 'implements' => $self->semStack[$stackPos-(8-5)], 'stmts' => $self->semStack[$stackPos-(8-7)], 'attrGroups' => $self->semStack[$stackPos-(8-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])), $self->semStack[$stackPos-(8-3)]); + $self->checkClass($self->semValue[0], -1); }, - 484 => function ($stackPos) { - $this->semValue = new Expr\New_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 484 => static function ($self, $stackPos) { + $self->semValue = new Expr\New_($self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 485 => function ($stackPos) { - list($class, $ctorArgs) = $this->semStack[$stackPos-(2-2)]; $this->semValue = new Expr\New_($class, $ctorArgs, $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 485 => static function ($self, $stackPos) { + list($class, $ctorArgs) = $self->semStack[$stackPos-(2-2)]; $self->semValue = new Expr\New_($class, $ctorArgs, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 486 => function ($stackPos) { - $this->semValue = array(); + 486 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 487 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-3)]; + 487 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(4-3)]; }, 488 => null, - 489 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 489 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 490 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 490 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 491 => function ($stackPos) { - $this->semValue = new Node\ClosureUse($this->semStack[$stackPos-(2-2)], $this->semStack[$stackPos-(2-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 491 => static function ($self, $stackPos) { + $self->semValue = new Node\ClosureUse($self->semStack[$stackPos-(2-2)], $self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 492 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 492 => static function ($self, $stackPos) { + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 493 => function ($stackPos) { - $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 493 => static function ($self, $stackPos) { + $self->semValue = new Expr\FuncCall($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 494 => function ($stackPos) { - $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 494 => static function ($self, $stackPos) { + $self->semValue = new Expr\FuncCall($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 495 => function ($stackPos) { - $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 495 => static function ($self, $stackPos) { + $self->semValue = new Expr\FuncCall($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 496 => function ($stackPos) { - $this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 496 => static function ($self, $stackPos) { + $self->semValue = new Expr\StaticCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 497 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 497 => static function ($self, $stackPos) { + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 498 => null, - 499 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 499 => static function ($self, $stackPos) { + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 500 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 500 => static function ($self, $stackPos) { + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 501 => function ($stackPos) { - $this->semValue = new Name\FullyQualified(substr($this->semStack[$stackPos-(1-1)], 1), $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 501 => static function ($self, $stackPos) { + $self->semValue = new Name\FullyQualified(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 502 => function ($stackPos) { - $this->semValue = new Name\Relative(substr($this->semStack[$stackPos-(1-1)], 10), $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 502 => static function ($self, $stackPos) { + $self->semValue = new Name\Relative(substr($self->semStack[$stackPos-(1-1)], 10), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 503 => null, 504 => null, - 505 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 505 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 506 => function ($stackPos) { - $this->semValue = new Expr\Error($this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); $this->errorState = 2; + 506 => static function ($self, $stackPos) { + $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, 507 => null, 508 => null, - 509 => function ($stackPos) { - $this->semValue = null; + 509 => static function ($self, $stackPos) { + $self->semValue = null; }, - 510 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 510 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 511 => function ($stackPos) { - $this->semValue = array(); + 511 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 512 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); foreach ($this->semValue as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $this->phpVersion->supportsUnicodeEscapes()); } }; + 512 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); foreach ($self->semValue as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $self->phpVersion->supportsUnicodeEscapes()); } }; }, - 513 => function ($stackPos) { - foreach ($this->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $this->phpVersion->supportsUnicodeEscapes()); } }; $this->semValue = $this->semStack[$stackPos-(1-1)]; + 513 => static function ($self, $stackPos) { + foreach ($self->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $self->phpVersion->supportsUnicodeEscapes()); } }; $self->semValue = $self->semStack[$stackPos-(1-1)]; }, - 514 => function ($stackPos) { - $this->semValue = array(); + 514 => static function ($self, $stackPos) { + $self->semValue = array(); }, 515 => null, - 516 => function ($stackPos) { - $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 516 => static function ($self, $stackPos) { + $self->semValue = new Expr\ConstFetch($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 517 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Line($this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 517 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Line($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 518 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\File($this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 518 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\File($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 519 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Dir($this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 519 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Dir($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 520 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Class_($this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 520 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Class_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 521 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Trait_($this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 521 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Trait_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 522 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Method($this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 522 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Method($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 523 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Function_($this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 523 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Function_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 524 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Namespace_($this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 524 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Namespace_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 525 => function ($stackPos) { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 525 => static function ($self, $stackPos) { + $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 526 => function ($stackPos) { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-4)], $this->getAttributes($this->tokenStartStack[$stackPos-(5-1)], $this->tokenEndStack[$stackPos])); + 526 => static function ($self, $stackPos) { + $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(5-1)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 527 => function ($stackPos) { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], new Expr\Error($this->getAttributes($this->tokenStartStack[$stackPos-(3-3)], $this->tokenEndStack[$stackPos-(3-3)])), $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); $this->errorState = 2; + 527 => static function ($self, $stackPos) { + $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(3-1)], new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)])), $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, - 528 => function ($stackPos) { - $attrs = $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos]); $attrs['kind'] = Expr\Array_::KIND_SHORT; - $this->semValue = new Expr\Array_($this->semStack[$stackPos-(3-2)], $attrs); + 528 => static function ($self, $stackPos) { + $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Expr\Array_::KIND_SHORT; + $self->semValue = new Expr\Array_($self->semStack[$stackPos-(3-2)], $attrs); }, - 529 => function ($stackPos) { - $attrs = $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos]); $attrs['kind'] = Expr\Array_::KIND_LONG; - $this->semValue = new Expr\Array_($this->semStack[$stackPos-(4-3)], $attrs); - $this->createdArrays->attach($this->semValue); + 529 => static function ($self, $stackPos) { + $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Expr\Array_::KIND_LONG; + $self->semValue = new Expr\Array_($self->semStack[$stackPos-(4-3)], $attrs); + $self->createdArrays->attach($self->semValue); }, - 530 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; $this->createdArrays->attach($this->semValue); + 530 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(1-1)]; $self->createdArrays->attach($self->semValue); }, - 531 => function ($stackPos) { - $this->semValue = Scalar\String_::fromString($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos]), $this->phpVersion->supportsUnicodeEscapes()); + 531 => static function ($self, $stackPos) { + $self->semValue = Scalar\String_::fromString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]), $self->phpVersion->supportsUnicodeEscapes()); }, - 532 => function ($stackPos) { - $attrs = $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos]); $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; - foreach ($this->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', $this->phpVersion->supportsUnicodeEscapes()); } }; $this->semValue = new Scalar\InterpolatedString($this->semStack[$stackPos-(3-2)], $attrs); + 532 => static function ($self, $stackPos) { + $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; + foreach ($self->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', $self->phpVersion->supportsUnicodeEscapes()); } }; $self->semValue = new Scalar\InterpolatedString($self->semStack[$stackPos-(3-2)], $attrs); }, - 533 => function ($stackPos) { - $this->semValue = $this->parseLNumber($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos]), $this->phpVersion->allowsInvalidOctals()); + 533 => static function ($self, $stackPos) { + $self->semValue = $self->parseLNumber($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]), $self->phpVersion->allowsInvalidOctals()); }, - 534 => function ($stackPos) { - $this->semValue = Scalar\Float_::fromString($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 534 => static function ($self, $stackPos) { + $self->semValue = Scalar\Float_::fromString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 535 => null, 536 => null, 537 => null, - 538 => function ($stackPos) { - $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos]), $this->getAttributes($this->tokenStartStack[$stackPos-(3-3)], $this->tokenEndStack[$stackPos-(3-3)]), true); + 538 => static function ($self, $stackPos) { + $self->semValue = $self->parseDocString($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)]), true); }, - 539 => function ($stackPos) { - $this->semValue = $this->parseDocString($this->semStack[$stackPos-(2-1)], '', $this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos]), $this->getAttributes($this->tokenStartStack[$stackPos-(2-2)], $this->tokenEndStack[$stackPos-(2-2)]), true); + 539 => static function ($self, $stackPos) { + $self->semValue = $self->parseDocString($self->semStack[$stackPos-(2-1)], '', $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(2-2)], $self->tokenEndStack[$stackPos-(2-2)]), true); }, - 540 => function ($stackPos) { - $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos]), $this->getAttributes($this->tokenStartStack[$stackPos-(3-3)], $this->tokenEndStack[$stackPos-(3-3)]), true); + 540 => static function ($self, $stackPos) { + $self->semValue = $self->parseDocString($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)]), true); }, - 541 => function ($stackPos) { - $this->semValue = null; + 541 => static function ($self, $stackPos) { + $self->semValue = null; }, 542 => null, 543 => null, - 544 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 544 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 545 => null, 546 => null, 547 => null, 548 => null, 549 => null, - 550 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 550 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 551 => null, 552 => null, - 553 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 553 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 554 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 554 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 555 => null, - 556 => function ($stackPos) { - $this->semValue = new Expr\MethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 556 => static function ($self, $stackPos) { + $self->semValue = new Expr\MethodCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 557 => function ($stackPos) { - $this->semValue = new Expr\NullsafeMethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 557 => static function ($self, $stackPos) { + $self->semValue = new Expr\NullsafeMethodCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 558 => function ($stackPos) { - $this->semValue = null; + 558 => static function ($self, $stackPos) { + $self->semValue = null; }, 559 => null, 560 => null, 561 => null, - 562 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 562 => static function ($self, $stackPos) { + $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 563 => function ($stackPos) { - $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 563 => static function ($self, $stackPos) { + $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 564 => null, - 565 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 565 => static function ($self, $stackPos) { + $self->semValue = new Expr\Variable($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 566 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 566 => static function ($self, $stackPos) { + $self->semValue = new Expr\Variable($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 567 => function ($stackPos) { - $this->semValue = new Expr\Variable(new Expr\Error($this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])), $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); $this->errorState = 2; + 567 => static function ($self, $stackPos) { + $self->semValue = new Expr\Variable(new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])), $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, - 568 => function ($stackPos) { - $var = $this->semStack[$stackPos-(1-1)]->name; $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])) : $var; + 568 => static function ($self, $stackPos) { + $var = $self->semStack[$stackPos-(1-1)]->name; $self->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])) : $var; }, - 569 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 569 => static function ($self, $stackPos) { + $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 570 => null, - 571 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 571 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 572 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 572 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 573 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 573 => static function ($self, $stackPos) { + $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 574 => function ($stackPos) { - $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 574 => static function ($self, $stackPos) { + $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 575 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 575 => static function ($self, $stackPos) { + $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 576 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 576 => static function ($self, $stackPos) { + $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 577 => null, - 578 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 578 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 579 => null, 580 => null, - 581 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 581 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 582 => null, - 583 => function ($stackPos) { - $this->semValue = new Expr\Error($this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); $this->errorState = 2; + 583 => static function ($self, $stackPos) { + $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, - 584 => function ($stackPos) { - $this->semValue = new Expr\List_($this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); $this->semValue->setAttribute('kind', Expr\List_::KIND_LIST); - $this->postprocessList($this->semValue); + 584 => static function ($self, $stackPos) { + $self->semValue = new Expr\List_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); $self->semValue->setAttribute('kind', Expr\List_::KIND_LIST); + $self->postprocessList($self->semValue); }, - 585 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; $end = count($this->semValue)-1; if ($this->semValue[$end]->value instanceof Expr\Error) array_pop($this->semValue); + 585 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(1-1)]; $end = count($self->semValue)-1; if ($self->semValue[$end]->value instanceof Expr\Error) array_pop($self->semValue); }, 586 => null, - 587 => function ($stackPos) { - /* do nothing -- prevent default action of $$=$this->semStack[$1]. See $551. */ + 587 => static function ($self, $stackPos) { + /* do nothing -- prevent default action of $$=$self->semStack[$1]. See $551. */ }, - 588 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 588 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 589 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 589 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 590 => function ($stackPos) { - $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 590 => static function ($self, $stackPos) { + $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(1-1)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 591 => function ($stackPos) { - $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 591 => static function ($self, $stackPos) { + $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(2-2)], null, true, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 592 => function ($stackPos) { - $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 592 => static function ($self, $stackPos) { + $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(1-1)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 593 => function ($stackPos) { - $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 593 => static function ($self, $stackPos) { + $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(3-3)], $self->semStack[$stackPos-(3-1)], false, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 594 => function ($stackPos) { - $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 594 => static function ($self, $stackPos) { + $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(4-4)], $self->semStack[$stackPos-(4-1)], true, $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 595 => function ($stackPos) { - $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 595 => static function ($self, $stackPos) { + $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(3-3)], $self->semStack[$stackPos-(3-1)], false, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 596 => function ($stackPos) { - $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(2-2)], null, false, $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos]), true); + 596 => static function ($self, $stackPos) { + $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(2-2)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]), true); }, - 597 => function ($stackPos) { + 597 => static function ($self, $stackPos) { /* Create an Error node now to remember the position. We'll later either report an error, or convert this into a null element, depending on whether this is a creation or destructuring context. */ - $attrs = $this->createEmptyElemAttributes($this->tokenPos); - $this->semValue = new Node\ArrayItem(new Expr\Error($attrs), null, false, $attrs); + $attrs = $self->createEmptyElemAttributes($self->tokenPos); + $self->semValue = new Node\ArrayItem(new Expr\Error($attrs), null, false, $attrs); }, - 598 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + 598 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 599 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + 599 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 600 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 600 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 601 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); + 601 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)]); }, - 602 => function ($stackPos) { - $attrs = $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos]); $attrs['rawValue'] = $this->semStack[$stackPos-(1-1)]; $this->semValue = new Node\InterpolatedStringPart($this->semStack[$stackPos-(1-1)], $attrs); + 602 => static function ($self, $stackPos) { + $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]); $attrs['rawValue'] = $self->semStack[$stackPos-(1-1)]; $self->semValue = new Node\InterpolatedStringPart($self->semStack[$stackPos-(1-1)], $attrs); }, - 603 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 603 => static function ($self, $stackPos) { + $self->semValue = new Expr\Variable($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 604 => null, - 605 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 605 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 606 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 606 => static function ($self, $stackPos) { + $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 607 => function ($stackPos) { - $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 607 => static function ($self, $stackPos) { + $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 608 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 608 => static function ($self, $stackPos) { + $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 609 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 609 => static function ($self, $stackPos) { + $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 610 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-4)], $this->getAttributes($this->tokenStartStack[$stackPos-(6-1)], $this->tokenEndStack[$stackPos])); + 610 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); }, - 611 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 611 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 612 => function ($stackPos) { - $this->semValue = new Scalar\String_($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 612 => static function ($self, $stackPos) { + $self->semValue = new Scalar\String_($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 613 => function ($stackPos) { - $this->semValue = $this->parseNumString($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 613 => static function ($self, $stackPos) { + $self->semValue = $self->parseNumString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 614 => function ($stackPos) { - $this->semValue = $this->parseNumString('-' . $this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 614 => static function ($self, $stackPos) { + $self->semValue = $self->parseNumString('-' . $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 615 => null, ]; diff --git a/Sources/vendor/nikic/php-parser/lib/PhpParser/Parser/Php8.php b/Sources/vendor/nikic/php-parser/lib/PhpParser/Parser/Php8.php index 76d52a8c..27154d24 100644 --- a/Sources/vendor/nikic/php-parser/lib/PhpParser/Parser/Php8.php +++ b/Sources/vendor/nikic/php-parser/lib/PhpParser/Parser/Php8.php @@ -1156,18 +1156,18 @@ class Php8 extends \PhpParser\ParserAbstract protected function initReduceCallbacks(): void { $this->reduceCallbacks = [ 0 => null, - 1 => function ($stackPos) { - $this->semValue = $this->handleNamespaces($this->semStack[$stackPos-(1-1)]); + 1 => static function ($self, $stackPos) { + $self->semValue = $self->handleNamespaces($self->semStack[$stackPos-(1-1)]); }, - 2 => function ($stackPos) { - if ($this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; } $this->semValue = $this->semStack[$stackPos-(2-1)];; + 2 => static function ($self, $stackPos) { + if ($self->semStack[$stackPos-(2-2)] !== null) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; } $self->semValue = $self->semStack[$stackPos-(2-1)];; }, - 3 => function ($stackPos) { - $this->semValue = array(); + 3 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 4 => function ($stackPos) { - $nop = $this->maybeCreateZeroLengthNop($this->tokenPos);; - if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; + 4 => static function ($self, $stackPos) { + $nop = $self->maybeCreateZeroLengthNop($self->tokenPos);; + if ($nop !== null) { $self->semStack[$stackPos-(1-1)][] = $nop; } $self->semValue = $self->semStack[$stackPos-(1-1)]; }, 5 => null, 6 => null, @@ -1240,8 +1240,8 @@ class Php8 extends \PhpParser\ParserAbstract 73 => null, 74 => null, 75 => null, - 76 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; if ($this->semValue === "emitError(new Error('Cannot use "getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos]))); + 76 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(1-1)]; if ($self->semValue === "emitError(new Error('Cannot use "getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]))); }, 77 => null, 78 => null, @@ -1251,1465 +1251,1465 @@ class Php8 extends \PhpParser\ParserAbstract 82 => null, 83 => null, 84 => null, - 85 => function ($stackPos) { - $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 85 => static function ($self, $stackPos) { + $self->semValue = new Node\Identifier($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 86 => function ($stackPos) { - $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 86 => static function ($self, $stackPos) { + $self->semValue = new Node\Identifier($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 87 => function ($stackPos) { - $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 87 => static function ($self, $stackPos) { + $self->semValue = new Node\Identifier($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 88 => function ($stackPos) { - $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 88 => static function ($self, $stackPos) { + $self->semValue = new Node\Identifier($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 89 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 89 => static function ($self, $stackPos) { + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 90 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 90 => static function ($self, $stackPos) { + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 91 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 91 => static function ($self, $stackPos) { + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 92 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 92 => static function ($self, $stackPos) { + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 93 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 93 => static function ($self, $stackPos) { + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 94 => null, - 95 => function ($stackPos) { - $this->semValue = new Name(substr($this->semStack[$stackPos-(1-1)], 1), $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 95 => static function ($self, $stackPos) { + $self->semValue = new Name(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 96 => function ($stackPos) { - $this->semValue = new Expr\Variable(substr($this->semStack[$stackPos-(1-1)], 1), $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 96 => static function ($self, $stackPos) { + $self->semValue = new Expr\Variable(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 97 => function ($stackPos) { + 97 => static function ($self, $stackPos) { /* nothing */ }, - 98 => function ($stackPos) { + 98 => static function ($self, $stackPos) { /* nothing */ }, - 99 => function ($stackPos) { + 99 => static function ($self, $stackPos) { /* nothing */ }, - 100 => function ($stackPos) { - $this->emitError(new Error('A trailing comma is not allowed here', $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos]))); + 100 => static function ($self, $stackPos) { + $self->emitError(new Error('A trailing comma is not allowed here', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]))); }, 101 => null, 102 => null, - 103 => function ($stackPos) { - $this->semValue = new Node\Attribute($this->semStack[$stackPos-(1-1)], [], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 103 => static function ($self, $stackPos) { + $self->semValue = new Node\Attribute($self->semStack[$stackPos-(1-1)], [], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 104 => function ($stackPos) { - $this->semValue = new Node\Attribute($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 104 => static function ($self, $stackPos) { + $self->semValue = new Node\Attribute($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 105 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 105 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 106 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 106 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 107 => function ($stackPos) { - $this->semValue = new Node\AttributeGroup($this->semStack[$stackPos-(4-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 107 => static function ($self, $stackPos) { + $self->semValue = new Node\AttributeGroup($self->semStack[$stackPos-(4-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 108 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 108 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 109 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + 109 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 110 => function ($stackPos) { - $this->semValue = []; + 110 => static function ($self, $stackPos) { + $self->semValue = []; }, 111 => null, 112 => null, 113 => null, 114 => null, - 115 => function ($stackPos) { - $this->semValue = new Stmt\HaltCompiler($this->handleHaltCompiler(), $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 115 => static function ($self, $stackPos) { + $self->semValue = new Stmt\HaltCompiler($self->handleHaltCompiler(), $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 116 => function ($stackPos) { - $this->semValue = new Stmt\Namespace_($this->semStack[$stackPos-(3-2)], null, $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); - $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON); - $this->checkNamespace($this->semValue); + 116 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Namespace_($self->semStack[$stackPos-(3-2)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON); + $self->checkNamespace($self->semValue); }, - 117 => function ($stackPos) { - $this->semValue = new Stmt\Namespace_($this->semStack[$stackPos-(5-2)], $this->semStack[$stackPos-(5-4)], $this->getAttributes($this->tokenStartStack[$stackPos-(5-1)], $this->tokenEndStack[$stackPos])); - $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); - $this->checkNamespace($this->semValue); + 117 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Namespace_($self->semStack[$stackPos-(5-2)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); + $self->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); + $self->checkNamespace($self->semValue); }, - 118 => function ($stackPos) { - $this->semValue = new Stmt\Namespace_(null, $this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); - $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); - $this->checkNamespace($this->semValue); + 118 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Namespace_(null, $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); + $self->checkNamespace($self->semValue); }, - 119 => function ($stackPos) { - $this->semValue = new Stmt\Use_($this->semStack[$stackPos-(3-2)], Stmt\Use_::TYPE_NORMAL, $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 119 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Use_($self->semStack[$stackPos-(3-2)], Stmt\Use_::TYPE_NORMAL, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 120 => function ($stackPos) { - $this->semValue = new Stmt\Use_($this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 120 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Use_($self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 121 => null, - 122 => function ($stackPos) { - $this->semValue = new Stmt\Const_($this->semStack[$stackPos-(3-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 122 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Const_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 123 => function ($stackPos) { - $this->semValue = Stmt\Use_::TYPE_FUNCTION; + 123 => static function ($self, $stackPos) { + $self->semValue = Stmt\Use_::TYPE_FUNCTION; }, - 124 => function ($stackPos) { - $this->semValue = Stmt\Use_::TYPE_CONSTANT; + 124 => static function ($self, $stackPos) { + $self->semValue = Stmt\Use_::TYPE_CONSTANT; }, - 125 => function ($stackPos) { - $this->semValue = new Stmt\GroupUse($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-6)], $this->semStack[$stackPos-(7-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(7-1)], $this->tokenEndStack[$stackPos])); + 125 => static function ($self, $stackPos) { + $self->semValue = new Stmt\GroupUse($self->semStack[$stackPos-(7-3)], $self->semStack[$stackPos-(7-6)], $self->semStack[$stackPos-(7-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); }, - 126 => function ($stackPos) { - $this->semValue = new Stmt\GroupUse($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-5)], Stmt\Use_::TYPE_UNKNOWN, $this->getAttributes($this->tokenStartStack[$stackPos-(6-1)], $this->tokenEndStack[$stackPos])); + 126 => static function ($self, $stackPos) { + $self->semValue = new Stmt\GroupUse($self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-5)], Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); }, 127 => null, - 128 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 128 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 129 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 129 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, 130 => null, - 131 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 131 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 132 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 132 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, 133 => null, - 134 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 134 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 135 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 135 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 136 => function ($stackPos) { - $this->semValue = new Node\UseItem($this->semStack[$stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); $this->checkUseUse($this->semValue, $stackPos-(1-1)); + 136 => static function ($self, $stackPos) { + $self->semValue = new Node\UseItem($self->semStack[$stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->checkUseUse($self->semValue, $stackPos-(1-1)); }, - 137 => function ($stackPos) { - $this->semValue = new Node\UseItem($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); $this->checkUseUse($this->semValue, $stackPos-(3-3)); + 137 => static function ($self, $stackPos) { + $self->semValue = new Node\UseItem($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); $self->checkUseUse($self->semValue, $stackPos-(3-3)); }, - 138 => function ($stackPos) { - $this->semValue = new Node\UseItem($this->semStack[$stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); $this->checkUseUse($this->semValue, $stackPos-(1-1)); + 138 => static function ($self, $stackPos) { + $self->semValue = new Node\UseItem($self->semStack[$stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->checkUseUse($self->semValue, $stackPos-(1-1)); }, - 139 => function ($stackPos) { - $this->semValue = new Node\UseItem($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); $this->checkUseUse($this->semValue, $stackPos-(3-3)); + 139 => static function ($self, $stackPos) { + $self->semValue = new Node\UseItem($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); $self->checkUseUse($self->semValue, $stackPos-(3-3)); }, - 140 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; $this->semValue->type = Stmt\Use_::TYPE_NORMAL; + 140 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(1-1)]; $self->semValue->type = Stmt\Use_::TYPE_NORMAL; }, - 141 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; $this->semValue->type = $this->semStack[$stackPos-(2-1)]; + 141 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(2-2)]; $self->semValue->type = $self->semStack[$stackPos-(2-1)]; }, 142 => null, - 143 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 143 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 144 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 144 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 145 => function ($stackPos) { - $this->semValue = new Node\Const_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 145 => static function ($self, $stackPos) { + $self->semValue = new Node\Const_($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 146 => null, - 147 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 147 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 148 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 148 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 149 => function ($stackPos) { - $this->semValue = new Node\Const_(new Node\Identifier($this->semStack[$stackPos-(3-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos-(3-1)])), $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 149 => static function ($self, $stackPos) { + $self->semValue = new Node\Const_(new Node\Identifier($self->semStack[$stackPos-(3-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos-(3-1)])), $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 150 => function ($stackPos) { - $this->semValue = new Node\Const_(new Node\Identifier($this->semStack[$stackPos-(3-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos-(3-1)])), $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 150 => static function ($self, $stackPos) { + $self->semValue = new Node\Const_(new Node\Identifier($self->semStack[$stackPos-(3-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos-(3-1)])), $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 151 => function ($stackPos) { - if ($this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; } $this->semValue = $this->semStack[$stackPos-(2-1)];; + 151 => static function ($self, $stackPos) { + if ($self->semStack[$stackPos-(2-2)] !== null) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; } $self->semValue = $self->semStack[$stackPos-(2-1)];; }, - 152 => function ($stackPos) { - $this->semValue = array(); + 152 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 153 => function ($stackPos) { - $nop = $this->maybeCreateZeroLengthNop($this->tokenPos);; - if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; + 153 => static function ($self, $stackPos) { + $nop = $self->maybeCreateZeroLengthNop($self->tokenPos);; + if ($nop !== null) { $self->semStack[$stackPos-(1-1)][] = $nop; } $self->semValue = $self->semStack[$stackPos-(1-1)]; }, 154 => null, 155 => null, 156 => null, - 157 => function ($stackPos) { - throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 157 => static function ($self, $stackPos) { + throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 158 => function ($stackPos) { - $this->semValue = new Stmt\Block($this->semStack[$stackPos-(3-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 158 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Block($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 159 => function ($stackPos) { - $this->semValue = new Stmt\If_($this->semStack[$stackPos-(7-3)], ['stmts' => $this->semStack[$stackPos-(7-5)], 'elseifs' => $this->semStack[$stackPos-(7-6)], 'else' => $this->semStack[$stackPos-(7-7)]], $this->getAttributes($this->tokenStartStack[$stackPos-(7-1)], $this->tokenEndStack[$stackPos])); + 159 => static function ($self, $stackPos) { + $self->semValue = new Stmt\If_($self->semStack[$stackPos-(7-3)], ['stmts' => $self->semStack[$stackPos-(7-5)], 'elseifs' => $self->semStack[$stackPos-(7-6)], 'else' => $self->semStack[$stackPos-(7-7)]], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); }, - 160 => function ($stackPos) { - $this->semValue = new Stmt\If_($this->semStack[$stackPos-(10-3)], ['stmts' => $this->semStack[$stackPos-(10-6)], 'elseifs' => $this->semStack[$stackPos-(10-7)], 'else' => $this->semStack[$stackPos-(10-8)]], $this->getAttributes($this->tokenStartStack[$stackPos-(10-1)], $this->tokenEndStack[$stackPos])); + 160 => static function ($self, $stackPos) { + $self->semValue = new Stmt\If_($self->semStack[$stackPos-(10-3)], ['stmts' => $self->semStack[$stackPos-(10-6)], 'elseifs' => $self->semStack[$stackPos-(10-7)], 'else' => $self->semStack[$stackPos-(10-8)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); }, - 161 => function ($stackPos) { - $this->semValue = new Stmt\While_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->getAttributes($this->tokenStartStack[$stackPos-(5-1)], $this->tokenEndStack[$stackPos])); + 161 => static function ($self, $stackPos) { + $self->semValue = new Stmt\While_($self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 162 => function ($stackPos) { - $this->semValue = new Stmt\Do_($this->semStack[$stackPos-(7-5)], $this->semStack[$stackPos-(7-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(7-1)], $this->tokenEndStack[$stackPos])); + 162 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Do_($self->semStack[$stackPos-(7-5)], $self->semStack[$stackPos-(7-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); }, - 163 => function ($stackPos) { - $this->semValue = new Stmt\For_(['init' => $this->semStack[$stackPos-(9-3)], 'cond' => $this->semStack[$stackPos-(9-5)], 'loop' => $this->semStack[$stackPos-(9-7)], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->getAttributes($this->tokenStartStack[$stackPos-(9-1)], $this->tokenEndStack[$stackPos])); + 163 => static function ($self, $stackPos) { + $self->semValue = new Stmt\For_(['init' => $self->semStack[$stackPos-(9-3)], 'cond' => $self->semStack[$stackPos-(9-5)], 'loop' => $self->semStack[$stackPos-(9-7)], 'stmts' => $self->semStack[$stackPos-(9-9)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 164 => function ($stackPos) { - $this->semValue = new Stmt\Switch_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->getAttributes($this->tokenStartStack[$stackPos-(5-1)], $this->tokenEndStack[$stackPos])); + 164 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Switch_($self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 165 => function ($stackPos) { - $this->semValue = new Stmt\Break_($this->semStack[$stackPos-(3-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 165 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Break_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 166 => function ($stackPos) { - $this->semValue = new Stmt\Continue_($this->semStack[$stackPos-(3-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 166 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Continue_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 167 => function ($stackPos) { - $this->semValue = new Stmt\Return_($this->semStack[$stackPos-(3-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 167 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Return_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 168 => function ($stackPos) { - $this->semValue = new Stmt\Global_($this->semStack[$stackPos-(3-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 168 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Global_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 169 => function ($stackPos) { - $this->semValue = new Stmt\Static_($this->semStack[$stackPos-(3-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 169 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Static_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 170 => function ($stackPos) { - $this->semValue = new Stmt\Echo_($this->semStack[$stackPos-(3-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 170 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Echo_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 171 => function ($stackPos) { + 171 => static function ($self, $stackPos) { - $this->semValue = new Stmt\InlineHTML($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); - $this->semValue->setAttribute('hasLeadingNewline', $this->inlineHtmlHasLeadingNewline($stackPos-(1-1))); + $self->semValue = new Stmt\InlineHTML($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semValue->setAttribute('hasLeadingNewline', $self->inlineHtmlHasLeadingNewline($stackPos-(1-1))); }, - 172 => function ($stackPos) { - $this->semValue = new Stmt\Expression($this->semStack[$stackPos-(2-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 172 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Expression($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 173 => function ($stackPos) { - $this->semValue = new Stmt\Unset_($this->semStack[$stackPos-(5-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(5-1)], $this->tokenEndStack[$stackPos])); + 173 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Unset_($self->semStack[$stackPos-(5-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 174 => function ($stackPos) { - $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-5)][0], ['keyVar' => null, 'byRef' => $this->semStack[$stackPos-(7-5)][1], 'stmts' => $this->semStack[$stackPos-(7-7)]], $this->getAttributes($this->tokenStartStack[$stackPos-(7-1)], $this->tokenEndStack[$stackPos])); + 174 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Foreach_($self->semStack[$stackPos-(7-3)], $self->semStack[$stackPos-(7-5)][0], ['keyVar' => null, 'byRef' => $self->semStack[$stackPos-(7-5)][1], 'stmts' => $self->semStack[$stackPos-(7-7)]], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); }, - 175 => function ($stackPos) { - $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(9-3)], $this->semStack[$stackPos-(9-7)][0], ['keyVar' => $this->semStack[$stackPos-(9-5)], 'byRef' => $this->semStack[$stackPos-(9-7)][1], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->getAttributes($this->tokenStartStack[$stackPos-(9-1)], $this->tokenEndStack[$stackPos])); + 175 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Foreach_($self->semStack[$stackPos-(9-3)], $self->semStack[$stackPos-(9-7)][0], ['keyVar' => $self->semStack[$stackPos-(9-5)], 'byRef' => $self->semStack[$stackPos-(9-7)][1], 'stmts' => $self->semStack[$stackPos-(9-9)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 176 => function ($stackPos) { - $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(6-3)], new Expr\Error($this->getAttributes($this->tokenStartStack[$stackPos-(6-4)], $this->tokenEndStack[$stackPos-(6-4)])), ['stmts' => $this->semStack[$stackPos-(6-6)]], $this->getAttributes($this->tokenStartStack[$stackPos-(6-1)], $this->tokenEndStack[$stackPos])); + 176 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Foreach_($self->semStack[$stackPos-(6-3)], new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(6-4)], $self->tokenEndStack[$stackPos-(6-4)])), ['stmts' => $self->semStack[$stackPos-(6-6)]], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); }, - 177 => function ($stackPos) { - $this->semValue = new Stmt\Declare_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->getAttributes($this->tokenStartStack[$stackPos-(5-1)], $this->tokenEndStack[$stackPos])); + 177 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Declare_($self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 178 => function ($stackPos) { - $this->semValue = new Stmt\TryCatch($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-5)], $this->semStack[$stackPos-(6-6)], $this->getAttributes($this->tokenStartStack[$stackPos-(6-1)], $this->tokenEndStack[$stackPos])); $this->checkTryCatch($this->semValue); + 178 => static function ($self, $stackPos) { + $self->semValue = new Stmt\TryCatch($self->semStack[$stackPos-(6-3)], $self->semStack[$stackPos-(6-5)], $self->semStack[$stackPos-(6-6)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); $self->checkTryCatch($self->semValue); }, - 179 => function ($stackPos) { - $this->semValue = new Stmt\Goto_($this->semStack[$stackPos-(3-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 179 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Goto_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 180 => function ($stackPos) { - $this->semValue = new Stmt\Label($this->semStack[$stackPos-(2-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 180 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Label($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 181 => function ($stackPos) { - $this->semValue = null; /* means: no statement */ + 181 => static function ($self, $stackPos) { + $self->semValue = null; /* means: no statement */ }, 182 => null, - 183 => function ($stackPos) { - $this->semValue = $this->maybeCreateNop($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos]); + 183 => static function ($self, $stackPos) { + $self->semValue = $self->maybeCreateNop($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]); }, - 184 => function ($stackPos) { - if ($this->semStack[$stackPos-(1-1)] instanceof Stmt\Block) { $this->semValue = $this->semStack[$stackPos-(1-1)]->stmts; } else if ($this->semStack[$stackPos-(1-1)] === null) { $this->semValue = []; } else { $this->semValue = [$this->semStack[$stackPos-(1-1)]]; }; + 184 => static function ($self, $stackPos) { + if ($self->semStack[$stackPos-(1-1)] instanceof Stmt\Block) { $self->semValue = $self->semStack[$stackPos-(1-1)]->stmts; } else if ($self->semStack[$stackPos-(1-1)] === null) { $self->semValue = []; } else { $self->semValue = [$self->semStack[$stackPos-(1-1)]]; }; }, - 185 => function ($stackPos) { - $this->semValue = array(); + 185 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 186 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + 186 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 187 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 187 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 188 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 188 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 189 => function ($stackPos) { - $this->semValue = new Stmt\Catch_($this->semStack[$stackPos-(8-3)], $this->semStack[$stackPos-(8-4)], $this->semStack[$stackPos-(8-7)], $this->getAttributes($this->tokenStartStack[$stackPos-(8-1)], $this->tokenEndStack[$stackPos])); + 189 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Catch_($self->semStack[$stackPos-(8-3)], $self->semStack[$stackPos-(8-4)], $self->semStack[$stackPos-(8-7)], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); }, - 190 => function ($stackPos) { - $this->semValue = null; + 190 => static function ($self, $stackPos) { + $self->semValue = null; }, - 191 => function ($stackPos) { - $this->semValue = new Stmt\Finally_($this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 191 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Finally_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 192 => null, - 193 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 193 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 194 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 194 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 195 => function ($stackPos) { - $this->semValue = false; + 195 => static function ($self, $stackPos) { + $self->semValue = false; }, - 196 => function ($stackPos) { - $this->semValue = true; + 196 => static function ($self, $stackPos) { + $self->semValue = true; }, - 197 => function ($stackPos) { - $this->semValue = false; + 197 => static function ($self, $stackPos) { + $self->semValue = false; }, - 198 => function ($stackPos) { - $this->semValue = true; + 198 => static function ($self, $stackPos) { + $self->semValue = true; }, - 199 => function ($stackPos) { - $this->semValue = false; + 199 => static function ($self, $stackPos) { + $self->semValue = false; }, - 200 => function ($stackPos) { - $this->semValue = true; + 200 => static function ($self, $stackPos) { + $self->semValue = true; }, - 201 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 201 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 202 => function ($stackPos) { - $this->semValue = []; + 202 => static function ($self, $stackPos) { + $self->semValue = []; }, 203 => null, - 204 => function ($stackPos) { - $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 204 => static function ($self, $stackPos) { + $self->semValue = new Node\Identifier($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 205 => function ($stackPos) { - $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(8-3)], ['byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-5)], 'returnType' => $this->semStack[$stackPos-(8-7)], 'stmts' => $this->semStack[$stackPos-(8-8)], 'attrGroups' => []], $this->getAttributes($this->tokenStartStack[$stackPos-(8-1)], $this->tokenEndStack[$stackPos])); + 205 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Function_($self->semStack[$stackPos-(8-3)], ['byRef' => $self->semStack[$stackPos-(8-2)], 'params' => $self->semStack[$stackPos-(8-5)], 'returnType' => $self->semStack[$stackPos-(8-7)], 'stmts' => $self->semStack[$stackPos-(8-8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); }, - 206 => function ($stackPos) { - $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(9-4)], ['byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-6)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => $this->semStack[$stackPos-(9-1)]], $this->getAttributes($this->tokenStartStack[$stackPos-(9-1)], $this->tokenEndStack[$stackPos])); + 206 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Function_($self->semStack[$stackPos-(9-4)], ['byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-6)], 'returnType' => $self->semStack[$stackPos-(9-8)], 'stmts' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => $self->semStack[$stackPos-(9-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 207 => function ($stackPos) { - $this->semValue = new Stmt\Class_($this->semStack[$stackPos-(7-2)], ['type' => $this->semStack[$stackPos-(7-1)], 'extends' => $this->semStack[$stackPos-(7-3)], 'implements' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)], 'attrGroups' => []], $this->getAttributes($this->tokenStartStack[$stackPos-(7-1)], $this->tokenEndStack[$stackPos])); - $this->checkClass($this->semValue, $stackPos-(7-2)); + 207 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Class_($self->semStack[$stackPos-(7-2)], ['type' => $self->semStack[$stackPos-(7-1)], 'extends' => $self->semStack[$stackPos-(7-3)], 'implements' => $self->semStack[$stackPos-(7-4)], 'stmts' => $self->semStack[$stackPos-(7-6)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); + $self->checkClass($self->semValue, $stackPos-(7-2)); }, - 208 => function ($stackPos) { - $this->semValue = new Stmt\Class_($this->semStack[$stackPos-(8-3)], ['type' => $this->semStack[$stackPos-(8-2)], 'extends' => $this->semStack[$stackPos-(8-4)], 'implements' => $this->semStack[$stackPos-(8-5)], 'stmts' => $this->semStack[$stackPos-(8-7)], 'attrGroups' => $this->semStack[$stackPos-(8-1)]], $this->getAttributes($this->tokenStartStack[$stackPos-(8-1)], $this->tokenEndStack[$stackPos])); - $this->checkClass($this->semValue, $stackPos-(8-3)); + 208 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Class_($self->semStack[$stackPos-(8-3)], ['type' => $self->semStack[$stackPos-(8-2)], 'extends' => $self->semStack[$stackPos-(8-4)], 'implements' => $self->semStack[$stackPos-(8-5)], 'stmts' => $self->semStack[$stackPos-(8-7)], 'attrGroups' => $self->semStack[$stackPos-(8-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); + $self->checkClass($self->semValue, $stackPos-(8-3)); }, - 209 => function ($stackPos) { - $this->semValue = new Stmt\Interface_($this->semStack[$stackPos-(7-3)], ['extends' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)], 'attrGroups' => $this->semStack[$stackPos-(7-1)]], $this->getAttributes($this->tokenStartStack[$stackPos-(7-1)], $this->tokenEndStack[$stackPos])); - $this->checkInterface($this->semValue, $stackPos-(7-3)); + 209 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Interface_($self->semStack[$stackPos-(7-3)], ['extends' => $self->semStack[$stackPos-(7-4)], 'stmts' => $self->semStack[$stackPos-(7-6)], 'attrGroups' => $self->semStack[$stackPos-(7-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); + $self->checkInterface($self->semValue, $stackPos-(7-3)); }, - 210 => function ($stackPos) { - $this->semValue = new Stmt\Trait_($this->semStack[$stackPos-(6-3)], ['stmts' => $this->semStack[$stackPos-(6-5)], 'attrGroups' => $this->semStack[$stackPos-(6-1)]], $this->getAttributes($this->tokenStartStack[$stackPos-(6-1)], $this->tokenEndStack[$stackPos])); + 210 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Trait_($self->semStack[$stackPos-(6-3)], ['stmts' => $self->semStack[$stackPos-(6-5)], 'attrGroups' => $self->semStack[$stackPos-(6-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); }, - 211 => function ($stackPos) { - $this->semValue = new Stmt\Enum_($this->semStack[$stackPos-(8-3)], ['scalarType' => $this->semStack[$stackPos-(8-4)], 'implements' => $this->semStack[$stackPos-(8-5)], 'stmts' => $this->semStack[$stackPos-(8-7)], 'attrGroups' => $this->semStack[$stackPos-(8-1)]], $this->getAttributes($this->tokenStartStack[$stackPos-(8-1)], $this->tokenEndStack[$stackPos])); - $this->checkEnum($this->semValue, $stackPos-(8-3)); + 211 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Enum_($self->semStack[$stackPos-(8-3)], ['scalarType' => $self->semStack[$stackPos-(8-4)], 'implements' => $self->semStack[$stackPos-(8-5)], 'stmts' => $self->semStack[$stackPos-(8-7)], 'attrGroups' => $self->semStack[$stackPos-(8-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); + $self->checkEnum($self->semValue, $stackPos-(8-3)); }, - 212 => function ($stackPos) { - $this->semValue = null; + 212 => static function ($self, $stackPos) { + $self->semValue = null; }, - 213 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + 213 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(2-2)]; }, - 214 => function ($stackPos) { - $this->semValue = null; + 214 => static function ($self, $stackPos) { + $self->semValue = null; }, - 215 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + 215 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(2-2)]; }, - 216 => function ($stackPos) { - $this->semValue = 0; + 216 => static function ($self, $stackPos) { + $self->semValue = 0; }, 217 => null, 218 => null, - 219 => function ($stackPos) { - $this->checkClassModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; + 219 => static function ($self, $stackPos) { + $self->checkClassModifier($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $self->semValue = $self->semStack[$stackPos-(2-1)] | $self->semStack[$stackPos-(2-2)]; }, - 220 => function ($stackPos) { - $this->semValue = Modifiers::ABSTRACT; + 220 => static function ($self, $stackPos) { + $self->semValue = Modifiers::ABSTRACT; }, - 221 => function ($stackPos) { - $this->semValue = Modifiers::FINAL; + 221 => static function ($self, $stackPos) { + $self->semValue = Modifiers::FINAL; }, - 222 => function ($stackPos) { - $this->semValue = Modifiers::READONLY; + 222 => static function ($self, $stackPos) { + $self->semValue = Modifiers::READONLY; }, - 223 => function ($stackPos) { - $this->semValue = null; + 223 => static function ($self, $stackPos) { + $self->semValue = null; }, - 224 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + 224 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(2-2)]; }, - 225 => function ($stackPos) { - $this->semValue = array(); + 225 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 226 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + 226 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(2-2)]; }, - 227 => function ($stackPos) { - $this->semValue = array(); + 227 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 228 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + 228 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(2-2)]; }, 229 => null, - 230 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 230 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 231 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 231 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, 232 => null, - 233 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; + 233 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(4-2)]; }, 234 => null, - 235 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; + 235 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(4-2)]; }, - 236 => function ($stackPos) { - if ($this->semStack[$stackPos-(1-1)] instanceof Stmt\Block) { $this->semValue = $this->semStack[$stackPos-(1-1)]->stmts; } else if ($this->semStack[$stackPos-(1-1)] === null) { $this->semValue = []; } else { $this->semValue = [$this->semStack[$stackPos-(1-1)]]; }; + 236 => static function ($self, $stackPos) { + if ($self->semStack[$stackPos-(1-1)] instanceof Stmt\Block) { $self->semValue = $self->semStack[$stackPos-(1-1)]->stmts; } else if ($self->semStack[$stackPos-(1-1)] === null) { $self->semValue = []; } else { $self->semValue = [$self->semStack[$stackPos-(1-1)]]; }; }, - 237 => function ($stackPos) { - $this->semValue = null; + 237 => static function ($self, $stackPos) { + $self->semValue = null; }, - 238 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; + 238 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(4-2)]; }, 239 => null, - 240 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 240 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 241 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 241 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 242 => function ($stackPos) { - $this->semValue = new Node\DeclareItem($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 242 => static function ($self, $stackPos) { + $self->semValue = new Node\DeclareItem($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 243 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 243 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 244 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-3)]; + 244 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(4-3)]; }, - 245 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; + 245 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(4-2)]; }, - 246 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(5-3)]; + 246 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(5-3)]; }, - 247 => function ($stackPos) { - $this->semValue = array(); + 247 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 248 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + 248 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 249 => function ($stackPos) { - $this->semValue = new Stmt\Case_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 249 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Case_($self->semStack[$stackPos-(4-2)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 250 => function ($stackPos) { - $this->semValue = new Stmt\Case_(null, $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 250 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Case_(null, $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 251 => null, 252 => null, - 253 => function ($stackPos) { - $this->semValue = new Expr\Match_($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-6)], $this->getAttributes($this->tokenStartStack[$stackPos-(7-1)], $this->tokenEndStack[$stackPos])); + 253 => static function ($self, $stackPos) { + $self->semValue = new Expr\Match_($self->semStack[$stackPos-(7-3)], $self->semStack[$stackPos-(7-6)], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); }, - 254 => function ($stackPos) { - $this->semValue = []; + 254 => static function ($self, $stackPos) { + $self->semValue = []; }, 255 => null, - 256 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 256 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 257 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 257 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 258 => function ($stackPos) { - $this->semValue = new Node\MatchArm($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 258 => static function ($self, $stackPos) { + $self->semValue = new Node\MatchArm($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 259 => function ($stackPos) { - $this->semValue = new Node\MatchArm(null, $this->semStack[$stackPos-(4-4)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 259 => static function ($self, $stackPos) { + $self->semValue = new Node\MatchArm(null, $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 260 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + 260 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(1-1)]; }, - 261 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; + 261 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(4-2)]; }, - 262 => function ($stackPos) { - $this->semValue = array(); + 262 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 263 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + 263 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 264 => function ($stackPos) { - $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->getAttributes($this->tokenStartStack[$stackPos-(5-1)], $this->tokenEndStack[$stackPos])); + 264 => static function ($self, $stackPos) { + $self->semValue = new Stmt\ElseIf_($self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 265 => function ($stackPos) { - $this->semValue = array(); + 265 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 266 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + 266 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 267 => function ($stackPos) { - $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-6)], $this->getAttributes($this->tokenStartStack[$stackPos-(6-1)], $this->tokenEndStack[$stackPos])); $this->fixupAlternativeElse($this->semValue); + 267 => static function ($self, $stackPos) { + $self->semValue = new Stmt\ElseIf_($self->semStack[$stackPos-(6-3)], $self->semStack[$stackPos-(6-6)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); $self->fixupAlternativeElse($self->semValue); }, - 268 => function ($stackPos) { - $this->semValue = null; + 268 => static function ($self, $stackPos) { + $self->semValue = null; }, - 269 => function ($stackPos) { - $this->semValue = new Stmt\Else_($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 269 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Else_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 270 => function ($stackPos) { - $this->semValue = null; + 270 => static function ($self, $stackPos) { + $self->semValue = null; }, - 271 => function ($stackPos) { - $this->semValue = new Stmt\Else_($this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); $this->fixupAlternativeElse($this->semValue); + 271 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Else_($self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); $self->fixupAlternativeElse($self->semValue); }, - 272 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)], false); + 272 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)], false); }, - 273 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(2-2)], true); + 273 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(2-2)], true); }, - 274 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)], false); + 274 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)], false); }, - 275 => function ($stackPos) { - $this->semValue = array($this->fixupArrayDestructuring($this->semStack[$stackPos-(1-1)]), false); + 275 => static function ($self, $stackPos) { + $self->semValue = array($self->fixupArrayDestructuring($self->semStack[$stackPos-(1-1)]), false); }, 276 => null, - 277 => function ($stackPos) { - $this->semValue = array(); + 277 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 278 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 278 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 279 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 279 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 280 => function ($stackPos) { - $this->semValue = 0; + 280 => static function ($self, $stackPos) { + $self->semValue = 0; }, - 281 => function ($stackPos) { - $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; + 281 => static function ($self, $stackPos) { + $self->checkModifier($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $self->semValue = $self->semStack[$stackPos-(2-1)] | $self->semStack[$stackPos-(2-2)]; }, - 282 => function ($stackPos) { - $this->semValue = Modifiers::PUBLIC; + 282 => static function ($self, $stackPos) { + $self->semValue = Modifiers::PUBLIC; }, - 283 => function ($stackPos) { - $this->semValue = Modifiers::PROTECTED; + 283 => static function ($self, $stackPos) { + $self->semValue = Modifiers::PROTECTED; }, - 284 => function ($stackPos) { - $this->semValue = Modifiers::PRIVATE; + 284 => static function ($self, $stackPos) { + $self->semValue = Modifiers::PRIVATE; }, - 285 => function ($stackPos) { - $this->semValue = Modifiers::READONLY; + 285 => static function ($self, $stackPos) { + $self->semValue = Modifiers::READONLY; }, - 286 => function ($stackPos) { - $this->semValue = new Node\Param($this->semStack[$stackPos-(6-6)], null, $this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-5)], $this->getAttributes($this->tokenStartStack[$stackPos-(6-1)], $this->tokenEndStack[$stackPos]), $this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-1)]); - $this->checkParam($this->semValue); + 286 => static function ($self, $stackPos) { + $self->semValue = new Node\Param($self->semStack[$stackPos-(6-6)], null, $self->semStack[$stackPos-(6-3)], $self->semStack[$stackPos-(6-4)], $self->semStack[$stackPos-(6-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-1)]); + $self->checkParam($self->semValue); }, - 287 => function ($stackPos) { - $this->semValue = new Node\Param($this->semStack[$stackPos-(8-6)], $this->semStack[$stackPos-(8-8)], $this->semStack[$stackPos-(8-3)], $this->semStack[$stackPos-(8-4)], $this->semStack[$stackPos-(8-5)], $this->getAttributes($this->tokenStartStack[$stackPos-(8-1)], $this->tokenEndStack[$stackPos]), $this->semStack[$stackPos-(8-2)], $this->semStack[$stackPos-(8-1)]); - $this->checkParam($this->semValue); + 287 => static function ($self, $stackPos) { + $self->semValue = new Node\Param($self->semStack[$stackPos-(8-6)], $self->semStack[$stackPos-(8-8)], $self->semStack[$stackPos-(8-3)], $self->semStack[$stackPos-(8-4)], $self->semStack[$stackPos-(8-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(8-2)], $self->semStack[$stackPos-(8-1)]); + $self->checkParam($self->semValue); }, - 288 => function ($stackPos) { - $this->semValue = new Node\Param(new Expr\Error($this->getAttributes($this->tokenStartStack[$stackPos-(6-1)], $this->tokenEndStack[$stackPos])), null, $this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-5)], $this->getAttributes($this->tokenStartStack[$stackPos-(6-1)], $this->tokenEndStack[$stackPos]), $this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-1)]); + 288 => static function ($self, $stackPos) { + $self->semValue = new Node\Param(new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])), null, $self->semStack[$stackPos-(6-3)], $self->semStack[$stackPos-(6-4)], $self->semStack[$stackPos-(6-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-1)]); }, 289 => null, - 290 => function ($stackPos) { - $this->semValue = new Node\NullableType($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 290 => static function ($self, $stackPos) { + $self->semValue = new Node\NullableType($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 291 => function ($stackPos) { - $this->semValue = new Node\UnionType($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 291 => static function ($self, $stackPos) { + $self->semValue = new Node\UnionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 292 => null, 293 => null, - 294 => function ($stackPos) { - $this->semValue = new Node\Name('static', $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 294 => static function ($self, $stackPos) { + $self->semValue = new Node\Name('static', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 295 => function ($stackPos) { - $this->semValue = $this->handleBuiltinTypes($this->semStack[$stackPos-(1-1)]); + 295 => static function ($self, $stackPos) { + $self->semValue = $self->handleBuiltinTypes($self->semStack[$stackPos-(1-1)]); }, - 296 => function ($stackPos) { - $this->semValue = new Node\Identifier('array', $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 296 => static function ($self, $stackPos) { + $self->semValue = new Node\Identifier('array', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 297 => function ($stackPos) { - $this->semValue = new Node\Identifier('callable', $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 297 => static function ($self, $stackPos) { + $self->semValue = new Node\Identifier('callable', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 298 => null, - 299 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 299 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 300 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + 300 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, - 301 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 301 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, 302 => null, - 303 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 303 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 304 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + 304 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, - 305 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 305 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 306 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + 306 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, - 307 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 307 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 308 => function ($stackPos) { - $this->semValue = new Node\IntersectionType($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 308 => static function ($self, $stackPos) { + $self->semValue = new Node\IntersectionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 309 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + 309 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, - 310 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 310 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 311 => function ($stackPos) { - $this->semValue = new Node\IntersectionType($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 311 => static function ($self, $stackPos) { + $self->semValue = new Node\IntersectionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 312 => null, - 313 => function ($stackPos) { - $this->semValue = new Node\NullableType($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 313 => static function ($self, $stackPos) { + $self->semValue = new Node\NullableType($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 314 => function ($stackPos) { - $this->semValue = new Node\UnionType($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 314 => static function ($self, $stackPos) { + $self->semValue = new Node\UnionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 315 => null, - 316 => function ($stackPos) { - $this->semValue = null; + 316 => static function ($self, $stackPos) { + $self->semValue = null; }, 317 => null, - 318 => function ($stackPos) { - $this->semValue = null; + 318 => static function ($self, $stackPos) { + $self->semValue = null; }, - 319 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + 319 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(2-2)]; }, - 320 => function ($stackPos) { - $this->semValue = null; + 320 => static function ($self, $stackPos) { + $self->semValue = null; }, - 321 => function ($stackPos) { - $this->semValue = array(); + 321 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 322 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; + 322 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(4-2)]; }, - 323 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-2)]); + 323 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(3-2)]); }, - 324 => function ($stackPos) { - $this->semValue = new Node\VariadicPlaceholder($this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 324 => static function ($self, $stackPos) { + $self->semValue = new Node\VariadicPlaceholder($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 325 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 325 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 326 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 326 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 327 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(1-1)], false, false, $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 327 => static function ($self, $stackPos) { + $self->semValue = new Node\Arg($self->semStack[$stackPos-(1-1)], false, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 328 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], true, false, $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 328 => static function ($self, $stackPos) { + $self->semValue = new Node\Arg($self->semStack[$stackPos-(2-2)], true, false, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 329 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], false, true, $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 329 => static function ($self, $stackPos) { + $self->semValue = new Node\Arg($self->semStack[$stackPos-(2-2)], false, true, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 330 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(3-3)], false, false, $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos]), $this->semStack[$stackPos-(3-1)]); + 330 => static function ($self, $stackPos) { + $self->semValue = new Node\Arg($self->semStack[$stackPos-(3-3)], false, false, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(3-1)]); }, 331 => null, - 332 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 332 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 333 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 333 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, 334 => null, 335 => null, - 336 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 336 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 337 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 337 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 338 => function ($stackPos) { - $this->semValue = new Node\StaticVar($this->semStack[$stackPos-(1-1)], null, $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 338 => static function ($self, $stackPos) { + $self->semValue = new Node\StaticVar($self->semStack[$stackPos-(1-1)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 339 => function ($stackPos) { - $this->semValue = new Node\StaticVar($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 339 => static function ($self, $stackPos) { + $self->semValue = new Node\StaticVar($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 340 => function ($stackPos) { - if ($this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; } else { $this->semValue = $this->semStack[$stackPos-(2-1)]; } + 340 => static function ($self, $stackPos) { + if ($self->semStack[$stackPos-(2-2)] !== null) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; } else { $self->semValue = $self->semStack[$stackPos-(2-1)]; } }, - 341 => function ($stackPos) { - $this->semValue = array(); + 341 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 342 => function ($stackPos) { - $nop = $this->maybeCreateZeroLengthNop($this->tokenPos);; - if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; + 342 => static function ($self, $stackPos) { + $nop = $self->maybeCreateZeroLengthNop($self->tokenPos);; + if ($nop !== null) { $self->semStack[$stackPos-(1-1)][] = $nop; } $self->semValue = $self->semStack[$stackPos-(1-1)]; }, - 343 => function ($stackPos) { - $this->semValue = new Stmt\Property($this->semStack[$stackPos-(5-2)], $this->semStack[$stackPos-(5-4)], $this->getAttributes($this->tokenStartStack[$stackPos-(5-1)], $this->tokenEndStack[$stackPos]), $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-1)]); - $this->checkProperty($this->semValue, $stackPos-(5-2)); + 343 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Property($self->semStack[$stackPos-(5-2)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-1)]); + $self->checkProperty($self->semValue, $stackPos-(5-2)); }, - 344 => function ($stackPos) { - $this->semValue = new Stmt\ClassConst($this->semStack[$stackPos-(5-4)], $this->semStack[$stackPos-(5-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(5-1)], $this->tokenEndStack[$stackPos]), $this->semStack[$stackPos-(5-1)]); - $this->checkClassConst($this->semValue, $stackPos-(5-2)); + 344 => static function ($self, $stackPos) { + $self->semValue = new Stmt\ClassConst($self->semStack[$stackPos-(5-4)], $self->semStack[$stackPos-(5-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(5-1)]); + $self->checkClassConst($self->semValue, $stackPos-(5-2)); }, - 345 => function ($stackPos) { - $this->semValue = new Stmt\ClassConst($this->semStack[$stackPos-(6-5)], $this->semStack[$stackPos-(6-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(6-1)], $this->tokenEndStack[$stackPos]), $this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-4)]); - $this->checkClassConst($this->semValue, $stackPos-(6-2)); + 345 => static function ($self, $stackPos) { + $self->semValue = new Stmt\ClassConst($self->semStack[$stackPos-(6-5)], $self->semStack[$stackPos-(6-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(6-1)], $self->semStack[$stackPos-(6-4)]); + $self->checkClassConst($self->semValue, $stackPos-(6-2)); }, - 346 => function ($stackPos) { - $this->semValue = new Stmt\ClassMethod($this->semStack[$stackPos-(10-5)], ['type' => $this->semStack[$stackPos-(10-2)], 'byRef' => $this->semStack[$stackPos-(10-4)], 'params' => $this->semStack[$stackPos-(10-7)], 'returnType' => $this->semStack[$stackPos-(10-9)], 'stmts' => $this->semStack[$stackPos-(10-10)], 'attrGroups' => $this->semStack[$stackPos-(10-1)]], $this->getAttributes($this->tokenStartStack[$stackPos-(10-1)], $this->tokenEndStack[$stackPos])); - $this->checkClassMethod($this->semValue, $stackPos-(10-2)); + 346 => static function ($self, $stackPos) { + $self->semValue = new Stmt\ClassMethod($self->semStack[$stackPos-(10-5)], ['type' => $self->semStack[$stackPos-(10-2)], 'byRef' => $self->semStack[$stackPos-(10-4)], 'params' => $self->semStack[$stackPos-(10-7)], 'returnType' => $self->semStack[$stackPos-(10-9)], 'stmts' => $self->semStack[$stackPos-(10-10)], 'attrGroups' => $self->semStack[$stackPos-(10-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); + $self->checkClassMethod($self->semValue, $stackPos-(10-2)); }, - 347 => function ($stackPos) { - $this->semValue = new Stmt\TraitUse($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 347 => static function ($self, $stackPos) { + $self->semValue = new Stmt\TraitUse($self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 348 => function ($stackPos) { - $this->semValue = new Stmt\EnumCase($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->semStack[$stackPos-(5-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(5-1)], $this->tokenEndStack[$stackPos])); + 348 => static function ($self, $stackPos) { + $self->semValue = new Stmt\EnumCase($self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-4)], $self->semStack[$stackPos-(5-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 349 => function ($stackPos) { - $this->semValue = null; /* will be skipped */ + 349 => static function ($self, $stackPos) { + $self->semValue = null; /* will be skipped */ }, - 350 => function ($stackPos) { - $this->semValue = array(); + 350 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 351 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 351 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 352 => function ($stackPos) { - $this->semValue = array(); + 352 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 353 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + 353 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 354 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 354 => static function ($self, $stackPos) { + $self->semValue = new Stmt\TraitUseAdaptation\Precedence($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 355 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(5-1)][0], $this->semStack[$stackPos-(5-1)][1], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->getAttributes($this->tokenStartStack[$stackPos-(5-1)], $this->tokenEndStack[$stackPos])); + 355 => static function ($self, $stackPos) { + $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(5-1)][0], $self->semStack[$stackPos-(5-1)][1], $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 356 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], null, $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 356 => static function ($self, $stackPos) { + $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], $self->semStack[$stackPos-(4-3)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 357 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 357 => static function ($self, $stackPos) { + $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], null, $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 358 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 358 => static function ($self, $stackPos) { + $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], null, $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 359 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + 359 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, 360 => null, - 361 => function ($stackPos) { - $this->semValue = array(null, $this->semStack[$stackPos-(1-1)]); + 361 => static function ($self, $stackPos) { + $self->semValue = array(null, $self->semStack[$stackPos-(1-1)]); }, - 362 => function ($stackPos) { - $this->semValue = null; + 362 => static function ($self, $stackPos) { + $self->semValue = null; }, 363 => null, 364 => null, - 365 => function ($stackPos) { - $this->semValue = 0; + 365 => static function ($self, $stackPos) { + $self->semValue = 0; }, - 366 => function ($stackPos) { - $this->semValue = 0; + 366 => static function ($self, $stackPos) { + $self->semValue = 0; }, 367 => null, 368 => null, - 369 => function ($stackPos) { - $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; + 369 => static function ($self, $stackPos) { + $self->checkModifier($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $self->semValue = $self->semStack[$stackPos-(2-1)] | $self->semStack[$stackPos-(2-2)]; }, - 370 => function ($stackPos) { - $this->semValue = Modifiers::PUBLIC; + 370 => static function ($self, $stackPos) { + $self->semValue = Modifiers::PUBLIC; }, - 371 => function ($stackPos) { - $this->semValue = Modifiers::PROTECTED; + 371 => static function ($self, $stackPos) { + $self->semValue = Modifiers::PROTECTED; }, - 372 => function ($stackPos) { - $this->semValue = Modifiers::PRIVATE; + 372 => static function ($self, $stackPos) { + $self->semValue = Modifiers::PRIVATE; }, - 373 => function ($stackPos) { - $this->semValue = Modifiers::STATIC; + 373 => static function ($self, $stackPos) { + $self->semValue = Modifiers::STATIC; }, - 374 => function ($stackPos) { - $this->semValue = Modifiers::ABSTRACT; + 374 => static function ($self, $stackPos) { + $self->semValue = Modifiers::ABSTRACT; }, - 375 => function ($stackPos) { - $this->semValue = Modifiers::FINAL; + 375 => static function ($self, $stackPos) { + $self->semValue = Modifiers::FINAL; }, - 376 => function ($stackPos) { - $this->semValue = Modifiers::READONLY; + 376 => static function ($self, $stackPos) { + $self->semValue = Modifiers::READONLY; }, 377 => null, - 378 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 378 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 379 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 379 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 380 => function ($stackPos) { - $this->semValue = new Node\VarLikeIdentifier(substr($this->semStack[$stackPos-(1-1)], 1), $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 380 => static function ($self, $stackPos) { + $self->semValue = new Node\VarLikeIdentifier(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 381 => function ($stackPos) { - $this->semValue = new Node\PropertyItem($this->semStack[$stackPos-(1-1)], null, $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 381 => static function ($self, $stackPos) { + $self->semValue = new Node\PropertyItem($self->semStack[$stackPos-(1-1)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 382 => function ($stackPos) { - $this->semValue = new Node\PropertyItem($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 382 => static function ($self, $stackPos) { + $self->semValue = new Node\PropertyItem($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 383 => null, 384 => null, - 385 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 385 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 386 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 386 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 387 => function ($stackPos) { - $this->semValue = array(); + 387 => static function ($self, $stackPos) { + $self->semValue = array(); }, 388 => null, 389 => null, - 390 => function ($stackPos) { - $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 390 => static function ($self, $stackPos) { + $self->semValue = new Expr\Assign($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 391 => function ($stackPos) { - $this->semValue = new Expr\Assign($this->fixupArrayDestructuring($this->semStack[$stackPos-(3-1)]), $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 391 => static function ($self, $stackPos) { + $self->semValue = new Expr\Assign($self->fixupArrayDestructuring($self->semStack[$stackPos-(3-1)]), $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 392 => function ($stackPos) { - $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 392 => static function ($self, $stackPos) { + $self->semValue = new Expr\Assign($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 393 => function ($stackPos) { - $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 393 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignRef($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 394 => function ($stackPos) { - $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); - if (!$this->phpVersion->allowsAssignNewByReference()) { - $this->emitError(new Error('Cannot assign new by reference', $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos]))); + 394 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignRef($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + if (!$self->phpVersion->allowsAssignNewByReference()) { + $self->emitError(new Error('Cannot assign new by reference', $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]))); } }, 395 => null, 396 => null, - 397 => function ($stackPos) { - $this->semValue = new Expr\Clone_($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 397 => static function ($self, $stackPos) { + $self->semValue = new Expr\Clone_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 398 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 398 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignOp\Plus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 399 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 399 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignOp\Minus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 400 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 400 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignOp\Mul($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 401 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 401 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignOp\Div($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 402 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 402 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignOp\Concat($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 403 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 403 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignOp\Mod($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 404 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 404 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 405 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 405 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignOp\BitwiseOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 406 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 406 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignOp\BitwiseXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 407 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 407 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignOp\ShiftLeft($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 408 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 408 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignOp\ShiftRight($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 409 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 409 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignOp\Pow($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 410 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 410 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignOp\Coalesce($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 411 => function ($stackPos) { - $this->semValue = new Expr\PostInc($this->semStack[$stackPos-(2-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 411 => static function ($self, $stackPos) { + $self->semValue = new Expr\PostInc($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 412 => function ($stackPos) { - $this->semValue = new Expr\PreInc($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 412 => static function ($self, $stackPos) { + $self->semValue = new Expr\PreInc($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 413 => function ($stackPos) { - $this->semValue = new Expr\PostDec($this->semStack[$stackPos-(2-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 413 => static function ($self, $stackPos) { + $self->semValue = new Expr\PostDec($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 414 => function ($stackPos) { - $this->semValue = new Expr\PreDec($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 414 => static function ($self, $stackPos) { + $self->semValue = new Expr\PreDec($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 415 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 415 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\BooleanOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 416 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 416 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\BooleanAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 417 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 417 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\LogicalOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 418 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 418 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\LogicalAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 419 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 419 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\LogicalXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 420 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 420 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\BitwiseOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 421 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 421 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 422 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 422 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 423 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 423 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\BitwiseXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 424 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 424 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Concat($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 425 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 425 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Plus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 426 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 426 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Minus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 427 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 427 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Mul($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 428 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 428 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Div($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 429 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 429 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Mod($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 430 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 430 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\ShiftLeft($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 431 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 431 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\ShiftRight($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 432 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 432 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Pow($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 433 => function ($stackPos) { - $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 433 => static function ($self, $stackPos) { + $self->semValue = new Expr\UnaryPlus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 434 => function ($stackPos) { - $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 434 => static function ($self, $stackPos) { + $self->semValue = new Expr\UnaryMinus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 435 => function ($stackPos) { - $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 435 => static function ($self, $stackPos) { + $self->semValue = new Expr\BooleanNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 436 => function ($stackPos) { - $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 436 => static function ($self, $stackPos) { + $self->semValue = new Expr\BitwiseNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 437 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 437 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Identical($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 438 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 438 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\NotIdentical($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 439 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 439 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Equal($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 440 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 440 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\NotEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 441 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 441 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Spaceship($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 442 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 442 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Smaller($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 443 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 443 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\SmallerOrEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 444 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 444 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Greater($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 445 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 445 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\GreaterOrEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 446 => function ($stackPos) { - $this->semValue = new Expr\Instanceof_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 446 => static function ($self, $stackPos) { + $self->semValue = new Expr\Instanceof_($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 447 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 447 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 448 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->getAttributes($this->tokenStartStack[$stackPos-(5-1)], $this->tokenEndStack[$stackPos])); + 448 => static function ($self, $stackPos) { + $self->semValue = new Expr\Ternary($self->semStack[$stackPos-(5-1)], $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 449 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 449 => static function ($self, $stackPos) { + $self->semValue = new Expr\Ternary($self->semStack[$stackPos-(4-1)], null, $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 450 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 450 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Coalesce($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 451 => function ($stackPos) { - $this->semValue = new Expr\Isset_($this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 451 => static function ($self, $stackPos) { + $self->semValue = new Expr\Isset_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 452 => function ($stackPos) { - $this->semValue = new Expr\Empty_($this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 452 => static function ($self, $stackPos) { + $self->semValue = new Expr\Empty_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 453 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 453 => static function ($self, $stackPos) { + $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 454 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 454 => static function ($self, $stackPos) { + $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 455 => function ($stackPos) { - $this->semValue = new Expr\Eval_($this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 455 => static function ($self, $stackPos) { + $self->semValue = new Expr\Eval_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 456 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 456 => static function ($self, $stackPos) { + $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 457 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 457 => static function ($self, $stackPos) { + $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 458 => function ($stackPos) { - $this->semValue = new Expr\Cast\Int_($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 458 => static function ($self, $stackPos) { + $self->semValue = new Expr\Cast\Int_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 459 => function ($stackPos) { - $attrs = $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos]); - $attrs['kind'] = $this->getFloatCastKind($this->semStack[$stackPos-(2-1)]); - $this->semValue = new Expr\Cast\Double($this->semStack[$stackPos-(2-2)], $attrs); + 459 => static function ($self, $stackPos) { + $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]); + $attrs['kind'] = $self->getFloatCastKind($self->semStack[$stackPos-(2-1)]); + $self->semValue = new Expr\Cast\Double($self->semStack[$stackPos-(2-2)], $attrs); }, - 460 => function ($stackPos) { - $this->semValue = new Expr\Cast\String_($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 460 => static function ($self, $stackPos) { + $self->semValue = new Expr\Cast\String_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 461 => function ($stackPos) { - $this->semValue = new Expr\Cast\Array_($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 461 => static function ($self, $stackPos) { + $self->semValue = new Expr\Cast\Array_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 462 => function ($stackPos) { - $this->semValue = new Expr\Cast\Object_($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 462 => static function ($self, $stackPos) { + $self->semValue = new Expr\Cast\Object_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 463 => function ($stackPos) { - $this->semValue = new Expr\Cast\Bool_($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 463 => static function ($self, $stackPos) { + $self->semValue = new Expr\Cast\Bool_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 464 => function ($stackPos) { - $this->semValue = new Expr\Cast\Unset_($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 464 => static function ($self, $stackPos) { + $self->semValue = new Expr\Cast\Unset_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 465 => function ($stackPos) { - $attrs = $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos]); - $attrs['kind'] = strtolower($this->semStack[$stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; - $this->semValue = new Expr\Exit_($this->semStack[$stackPos-(2-2)], $attrs); + 465 => static function ($self, $stackPos) { + $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]); + $attrs['kind'] = strtolower($self->semStack[$stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; + $self->semValue = new Expr\Exit_($self->semStack[$stackPos-(2-2)], $attrs); }, - 466 => function ($stackPos) { - $this->semValue = new Expr\ErrorSuppress($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 466 => static function ($self, $stackPos) { + $self->semValue = new Expr\ErrorSuppress($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 467 => null, - 468 => function ($stackPos) { - $this->semValue = new Expr\ShellExec($this->semStack[$stackPos-(3-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 468 => static function ($self, $stackPos) { + $self->semValue = new Expr\ShellExec($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 469 => function ($stackPos) { - $this->semValue = new Expr\Print_($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 469 => static function ($self, $stackPos) { + $self->semValue = new Expr\Print_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 470 => function ($stackPos) { - $this->semValue = new Expr\Yield_(null, null, $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 470 => static function ($self, $stackPos) { + $self->semValue = new Expr\Yield_(null, null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 471 => function ($stackPos) { - $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(2-2)], null, $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 471 => static function ($self, $stackPos) { + $self->semValue = new Expr\Yield_($self->semStack[$stackPos-(2-2)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 472 => function ($stackPos) { - $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 472 => static function ($self, $stackPos) { + $self->semValue = new Expr\Yield_($self->semStack[$stackPos-(4-4)], $self->semStack[$stackPos-(4-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 473 => function ($stackPos) { - $this->semValue = new Expr\YieldFrom($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 473 => static function ($self, $stackPos) { + $self->semValue = new Expr\YieldFrom($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 474 => function ($stackPos) { - $this->semValue = new Expr\Throw_($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 474 => static function ($self, $stackPos) { + $self->semValue = new Expr\Throw_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 475 => function ($stackPos) { - $this->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-4)], 'returnType' => $this->semStack[$stackPos-(8-6)], 'expr' => $this->semStack[$stackPos-(8-8)], 'attrGroups' => []], $this->getAttributes($this->tokenStartStack[$stackPos-(8-1)], $this->tokenEndStack[$stackPos])); + 475 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $self->semStack[$stackPos-(8-2)], 'params' => $self->semStack[$stackPos-(8-4)], 'returnType' => $self->semStack[$stackPos-(8-6)], 'expr' => $self->semStack[$stackPos-(8-8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); }, - 476 => function ($stackPos) { - $this->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'returnType' => $this->semStack[$stackPos-(9-7)], 'expr' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => []], $this->getAttributes($this->tokenStartStack[$stackPos-(9-1)], $this->tokenEndStack[$stackPos])); + 476 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'returnType' => $self->semStack[$stackPos-(9-7)], 'expr' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 477 => function ($stackPos) { - $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-4)], 'uses' => $this->semStack[$stackPos-(8-6)], 'returnType' => $this->semStack[$stackPos-(8-7)], 'stmts' => $this->semStack[$stackPos-(8-8)], 'attrGroups' => []], $this->getAttributes($this->tokenStartStack[$stackPos-(8-1)], $this->tokenEndStack[$stackPos])); + 477 => static function ($self, $stackPos) { + $self->semValue = new Expr\Closure(['static' => false, 'byRef' => $self->semStack[$stackPos-(8-2)], 'params' => $self->semStack[$stackPos-(8-4)], 'uses' => $self->semStack[$stackPos-(8-6)], 'returnType' => $self->semStack[$stackPos-(8-7)], 'stmts' => $self->semStack[$stackPos-(8-8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); }, - 478 => function ($stackPos) { - $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'uses' => $this->semStack[$stackPos-(9-7)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => []], $this->getAttributes($this->tokenStartStack[$stackPos-(9-1)], $this->tokenEndStack[$stackPos])); + 478 => static function ($self, $stackPos) { + $self->semValue = new Expr\Closure(['static' => true, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'uses' => $self->semStack[$stackPos-(9-7)], 'returnType' => $self->semStack[$stackPos-(9-8)], 'stmts' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 479 => function ($stackPos) { - $this->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'returnType' => $this->semStack[$stackPos-(9-7)], 'expr' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => $this->semStack[$stackPos-(9-1)]], $this->getAttributes($this->tokenStartStack[$stackPos-(9-1)], $this->tokenEndStack[$stackPos])); + 479 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'returnType' => $self->semStack[$stackPos-(9-7)], 'expr' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => $self->semStack[$stackPos-(9-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 480 => function ($stackPos) { - $this->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $this->semStack[$stackPos-(10-4)], 'params' => $this->semStack[$stackPos-(10-6)], 'returnType' => $this->semStack[$stackPos-(10-8)], 'expr' => $this->semStack[$stackPos-(10-10)], 'attrGroups' => $this->semStack[$stackPos-(10-1)]], $this->getAttributes($this->tokenStartStack[$stackPos-(10-1)], $this->tokenEndStack[$stackPos])); + 480 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $self->semStack[$stackPos-(10-4)], 'params' => $self->semStack[$stackPos-(10-6)], 'returnType' => $self->semStack[$stackPos-(10-8)], 'expr' => $self->semStack[$stackPos-(10-10)], 'attrGroups' => $self->semStack[$stackPos-(10-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); }, - 481 => function ($stackPos) { - $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'uses' => $this->semStack[$stackPos-(9-7)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => $this->semStack[$stackPos-(9-1)]], $this->getAttributes($this->tokenStartStack[$stackPos-(9-1)], $this->tokenEndStack[$stackPos])); + 481 => static function ($self, $stackPos) { + $self->semValue = new Expr\Closure(['static' => false, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'uses' => $self->semStack[$stackPos-(9-7)], 'returnType' => $self->semStack[$stackPos-(9-8)], 'stmts' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => $self->semStack[$stackPos-(9-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 482 => function ($stackPos) { - $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$stackPos-(10-4)], 'params' => $this->semStack[$stackPos-(10-6)], 'uses' => $this->semStack[$stackPos-(10-8)], 'returnType' => $this->semStack[$stackPos-(10-9)], 'stmts' => $this->semStack[$stackPos-(10-10)], 'attrGroups' => $this->semStack[$stackPos-(10-1)]], $this->getAttributes($this->tokenStartStack[$stackPos-(10-1)], $this->tokenEndStack[$stackPos])); + 482 => static function ($self, $stackPos) { + $self->semValue = new Expr\Closure(['static' => true, 'byRef' => $self->semStack[$stackPos-(10-4)], 'params' => $self->semStack[$stackPos-(10-6)], 'uses' => $self->semStack[$stackPos-(10-8)], 'returnType' => $self->semStack[$stackPos-(10-9)], 'stmts' => $self->semStack[$stackPos-(10-10)], 'attrGroups' => $self->semStack[$stackPos-(10-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); }, - 483 => function ($stackPos) { - $this->semValue = array(new Stmt\Class_(null, ['type' => $this->semStack[$stackPos-(8-2)], 'extends' => $this->semStack[$stackPos-(8-4)], 'implements' => $this->semStack[$stackPos-(8-5)], 'stmts' => $this->semStack[$stackPos-(8-7)], 'attrGroups' => $this->semStack[$stackPos-(8-1)]], $this->getAttributes($this->tokenStartStack[$stackPos-(8-1)], $this->tokenEndStack[$stackPos])), $this->semStack[$stackPos-(8-3)]); - $this->checkClass($this->semValue[0], -1); + 483 => static function ($self, $stackPos) { + $self->semValue = array(new Stmt\Class_(null, ['type' => $self->semStack[$stackPos-(8-2)], 'extends' => $self->semStack[$stackPos-(8-4)], 'implements' => $self->semStack[$stackPos-(8-5)], 'stmts' => $self->semStack[$stackPos-(8-7)], 'attrGroups' => $self->semStack[$stackPos-(8-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])), $self->semStack[$stackPos-(8-3)]); + $self->checkClass($self->semValue[0], -1); }, - 484 => function ($stackPos) { - $this->semValue = new Expr\New_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 484 => static function ($self, $stackPos) { + $self->semValue = new Expr\New_($self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 485 => function ($stackPos) { - list($class, $ctorArgs) = $this->semStack[$stackPos-(2-2)]; $this->semValue = new Expr\New_($class, $ctorArgs, $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 485 => static function ($self, $stackPos) { + list($class, $ctorArgs) = $self->semStack[$stackPos-(2-2)]; $self->semValue = new Expr\New_($class, $ctorArgs, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 486 => function ($stackPos) { - $this->semValue = array(); + 486 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 487 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-3)]; + 487 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(4-3)]; }, 488 => null, - 489 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 489 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 490 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 490 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 491 => function ($stackPos) { - $this->semValue = new Node\ClosureUse($this->semStack[$stackPos-(2-2)], $this->semStack[$stackPos-(2-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 491 => static function ($self, $stackPos) { + $self->semValue = new Node\ClosureUse($self->semStack[$stackPos-(2-2)], $self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 492 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 492 => static function ($self, $stackPos) { + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 493 => function ($stackPos) { - $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 493 => static function ($self, $stackPos) { + $self->semValue = new Expr\FuncCall($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 494 => function ($stackPos) { - $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 494 => static function ($self, $stackPos) { + $self->semValue = new Expr\FuncCall($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 495 => function ($stackPos) { - $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 495 => static function ($self, $stackPos) { + $self->semValue = new Expr\FuncCall($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 496 => function ($stackPos) { - $this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 496 => static function ($self, $stackPos) { + $self->semValue = new Expr\StaticCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 497 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 497 => static function ($self, $stackPos) { + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 498 => null, - 499 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 499 => static function ($self, $stackPos) { + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 500 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 500 => static function ($self, $stackPos) { + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 501 => function ($stackPos) { - $this->semValue = new Name\FullyQualified(substr($this->semStack[$stackPos-(1-1)], 1), $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 501 => static function ($self, $stackPos) { + $self->semValue = new Name\FullyQualified(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 502 => function ($stackPos) { - $this->semValue = new Name\Relative(substr($this->semStack[$stackPos-(1-1)], 10), $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 502 => static function ($self, $stackPos) { + $self->semValue = new Name\Relative(substr($self->semStack[$stackPos-(1-1)], 10), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 503 => null, 504 => null, - 505 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 505 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 506 => function ($stackPos) { - $this->semValue = new Expr\Error($this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); $this->errorState = 2; + 506 => static function ($self, $stackPos) { + $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, 507 => null, 508 => null, - 509 => function ($stackPos) { - $this->semValue = null; + 509 => static function ($self, $stackPos) { + $self->semValue = null; }, - 510 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 510 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 511 => function ($stackPos) { - $this->semValue = array(); + 511 => static function ($self, $stackPos) { + $self->semValue = array(); }, - 512 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); foreach ($this->semValue as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $this->phpVersion->supportsUnicodeEscapes()); } }; + 512 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); foreach ($self->semValue as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $self->phpVersion->supportsUnicodeEscapes()); } }; }, - 513 => function ($stackPos) { - foreach ($this->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $this->phpVersion->supportsUnicodeEscapes()); } }; $this->semValue = $this->semStack[$stackPos-(1-1)]; + 513 => static function ($self, $stackPos) { + foreach ($self->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $self->phpVersion->supportsUnicodeEscapes()); } }; $self->semValue = $self->semStack[$stackPos-(1-1)]; }, - 514 => function ($stackPos) { - $this->semValue = array(); + 514 => static function ($self, $stackPos) { + $self->semValue = array(); }, 515 => null, - 516 => function ($stackPos) { - $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 516 => static function ($self, $stackPos) { + $self->semValue = new Expr\ConstFetch($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 517 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Line($this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 517 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Line($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 518 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\File($this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 518 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\File($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 519 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Dir($this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 519 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Dir($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 520 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Class_($this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 520 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Class_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 521 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Trait_($this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 521 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Trait_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 522 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Method($this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 522 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Method($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 523 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Function_($this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 523 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Function_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 524 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Namespace_($this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 524 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Namespace_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 525 => function ($stackPos) { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 525 => static function ($self, $stackPos) { + $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 526 => function ($stackPos) { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-4)], $this->getAttributes($this->tokenStartStack[$stackPos-(5-1)], $this->tokenEndStack[$stackPos])); + 526 => static function ($self, $stackPos) { + $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(5-1)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 527 => function ($stackPos) { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], new Expr\Error($this->getAttributes($this->tokenStartStack[$stackPos-(3-3)], $this->tokenEndStack[$stackPos-(3-3)])), $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); $this->errorState = 2; + 527 => static function ($self, $stackPos) { + $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(3-1)], new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)])), $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, - 528 => function ($stackPos) { - $attrs = $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos]); $attrs['kind'] = Expr\Array_::KIND_SHORT; - $this->semValue = new Expr\Array_($this->semStack[$stackPos-(3-2)], $attrs); + 528 => static function ($self, $stackPos) { + $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Expr\Array_::KIND_SHORT; + $self->semValue = new Expr\Array_($self->semStack[$stackPos-(3-2)], $attrs); }, - 529 => function ($stackPos) { - $attrs = $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos]); $attrs['kind'] = Expr\Array_::KIND_LONG; - $this->semValue = new Expr\Array_($this->semStack[$stackPos-(4-3)], $attrs); - $this->createdArrays->attach($this->semValue); + 529 => static function ($self, $stackPos) { + $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Expr\Array_::KIND_LONG; + $self->semValue = new Expr\Array_($self->semStack[$stackPos-(4-3)], $attrs); + $self->createdArrays->attach($self->semValue); }, - 530 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; $this->createdArrays->attach($this->semValue); + 530 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(1-1)]; $self->createdArrays->attach($self->semValue); }, - 531 => function ($stackPos) { - $this->semValue = Scalar\String_::fromString($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos]), $this->phpVersion->supportsUnicodeEscapes()); + 531 => static function ($self, $stackPos) { + $self->semValue = Scalar\String_::fromString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]), $self->phpVersion->supportsUnicodeEscapes()); }, - 532 => function ($stackPos) { - $attrs = $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos]); $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; - foreach ($this->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', $this->phpVersion->supportsUnicodeEscapes()); } }; $this->semValue = new Scalar\InterpolatedString($this->semStack[$stackPos-(3-2)], $attrs); + 532 => static function ($self, $stackPos) { + $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; + foreach ($self->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', $self->phpVersion->supportsUnicodeEscapes()); } }; $self->semValue = new Scalar\InterpolatedString($self->semStack[$stackPos-(3-2)], $attrs); }, - 533 => function ($stackPos) { - $this->semValue = $this->parseLNumber($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos]), $this->phpVersion->allowsInvalidOctals()); + 533 => static function ($self, $stackPos) { + $self->semValue = $self->parseLNumber($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]), $self->phpVersion->allowsInvalidOctals()); }, - 534 => function ($stackPos) { - $this->semValue = Scalar\Float_::fromString($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 534 => static function ($self, $stackPos) { + $self->semValue = Scalar\Float_::fromString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 535 => null, 536 => null, 537 => null, - 538 => function ($stackPos) { - $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos]), $this->getAttributes($this->tokenStartStack[$stackPos-(3-3)], $this->tokenEndStack[$stackPos-(3-3)]), true); + 538 => static function ($self, $stackPos) { + $self->semValue = $self->parseDocString($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)]), true); }, - 539 => function ($stackPos) { - $this->semValue = $this->parseDocString($this->semStack[$stackPos-(2-1)], '', $this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos]), $this->getAttributes($this->tokenStartStack[$stackPos-(2-2)], $this->tokenEndStack[$stackPos-(2-2)]), true); + 539 => static function ($self, $stackPos) { + $self->semValue = $self->parseDocString($self->semStack[$stackPos-(2-1)], '', $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(2-2)], $self->tokenEndStack[$stackPos-(2-2)]), true); }, - 540 => function ($stackPos) { - $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos]), $this->getAttributes($this->tokenStartStack[$stackPos-(3-3)], $this->tokenEndStack[$stackPos-(3-3)]), true); + 540 => static function ($self, $stackPos) { + $self->semValue = $self->parseDocString($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)]), true); }, - 541 => function ($stackPos) { - $this->semValue = null; + 541 => static function ($self, $stackPos) { + $self->semValue = null; }, 542 => null, 543 => null, - 544 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 544 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 545 => null, 546 => null, 547 => null, 548 => null, 549 => null, - 550 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 550 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 551 => null, 552 => null, - 553 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 553 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 554 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 554 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 555 => null, - 556 => function ($stackPos) { - $this->semValue = new Expr\MethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 556 => static function ($self, $stackPos) { + $self->semValue = new Expr\MethodCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 557 => function ($stackPos) { - $this->semValue = new Expr\NullsafeMethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 557 => static function ($self, $stackPos) { + $self->semValue = new Expr\NullsafeMethodCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 558 => function ($stackPos) { - $this->semValue = null; + 558 => static function ($self, $stackPos) { + $self->semValue = null; }, 559 => null, 560 => null, 561 => null, - 562 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 562 => static function ($self, $stackPos) { + $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 563 => function ($stackPos) { - $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 563 => static function ($self, $stackPos) { + $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 564 => null, - 565 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 565 => static function ($self, $stackPos) { + $self->semValue = new Expr\Variable($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 566 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 566 => static function ($self, $stackPos) { + $self->semValue = new Expr\Variable($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 567 => function ($stackPos) { - $this->semValue = new Expr\Variable(new Expr\Error($this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])), $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); $this->errorState = 2; + 567 => static function ($self, $stackPos) { + $self->semValue = new Expr\Variable(new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])), $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, - 568 => function ($stackPos) { - $var = $this->semStack[$stackPos-(1-1)]->name; $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])) : $var; + 568 => static function ($self, $stackPos) { + $var = $self->semStack[$stackPos-(1-1)]->name; $self->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])) : $var; }, - 569 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 569 => static function ($self, $stackPos) { + $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 570 => null, - 571 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 571 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 572 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 572 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 573 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 573 => static function ($self, $stackPos) { + $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 574 => function ($stackPos) { - $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 574 => static function ($self, $stackPos) { + $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 575 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 575 => static function ($self, $stackPos) { + $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 576 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 576 => static function ($self, $stackPos) { + $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 577 => null, - 578 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 578 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 579 => null, 580 => null, - 581 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 581 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 582 => null, - 583 => function ($stackPos) { - $this->semValue = new Expr\Error($this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); $this->errorState = 2; + 583 => static function ($self, $stackPos) { + $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, - 584 => function ($stackPos) { - $this->semValue = new Expr\List_($this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); $this->semValue->setAttribute('kind', Expr\List_::KIND_LIST); - $this->postprocessList($this->semValue); + 584 => static function ($self, $stackPos) { + $self->semValue = new Expr\List_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); $self->semValue->setAttribute('kind', Expr\List_::KIND_LIST); + $self->postprocessList($self->semValue); }, - 585 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; $end = count($this->semValue)-1; if ($this->semValue[$end]->value instanceof Expr\Error) array_pop($this->semValue); + 585 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(1-1)]; $end = count($self->semValue)-1; if ($self->semValue[$end]->value instanceof Expr\Error) array_pop($self->semValue); }, 586 => null, - 587 => function ($stackPos) { - /* do nothing -- prevent default action of $$=$this->semStack[$1]. See $551. */ + 587 => static function ($self, $stackPos) { + /* do nothing -- prevent default action of $$=$self->semStack[$1]. See $551. */ }, - 588 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 588 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 589 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 589 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 590 => function ($stackPos) { - $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 590 => static function ($self, $stackPos) { + $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(1-1)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 591 => function ($stackPos) { - $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 591 => static function ($self, $stackPos) { + $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(2-2)], null, true, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 592 => function ($stackPos) { - $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 592 => static function ($self, $stackPos) { + $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(1-1)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 593 => function ($stackPos) { - $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 593 => static function ($self, $stackPos) { + $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(3-3)], $self->semStack[$stackPos-(3-1)], false, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 594 => function ($stackPos) { - $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 594 => static function ($self, $stackPos) { + $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(4-4)], $self->semStack[$stackPos-(4-1)], true, $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 595 => function ($stackPos) { - $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 595 => static function ($self, $stackPos) { + $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(3-3)], $self->semStack[$stackPos-(3-1)], false, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 596 => function ($stackPos) { - $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(2-2)], null, false, $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos]), true); + 596 => static function ($self, $stackPos) { + $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(2-2)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]), true); }, - 597 => function ($stackPos) { + 597 => static function ($self, $stackPos) { /* Create an Error node now to remember the position. We'll later either report an error, or convert this into a null element, depending on whether this is a creation or destructuring context. */ - $attrs = $this->createEmptyElemAttributes($this->tokenPos); - $this->semValue = new Node\ArrayItem(new Expr\Error($attrs), null, false, $attrs); + $attrs = $self->createEmptyElemAttributes($self->tokenPos); + $self->semValue = new Node\ArrayItem(new Expr\Error($attrs), null, false, $attrs); }, - 598 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + 598 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 599 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + 599 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 600 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 600 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 601 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); + 601 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)]); }, - 602 => function ($stackPos) { - $attrs = $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos]); $attrs['rawValue'] = $this->semStack[$stackPos-(1-1)]; $this->semValue = new Node\InterpolatedStringPart($this->semStack[$stackPos-(1-1)], $attrs); + 602 => static function ($self, $stackPos) { + $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]); $attrs['rawValue'] = $self->semStack[$stackPos-(1-1)]; $self->semValue = new Node\InterpolatedStringPart($self->semStack[$stackPos-(1-1)], $attrs); }, - 603 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 603 => static function ($self, $stackPos) { + $self->semValue = new Expr\Variable($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 604 => null, - 605 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(4-1)], $this->tokenEndStack[$stackPos])); + 605 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 606 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 606 => static function ($self, $stackPos) { + $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 607 => function ($stackPos) { - $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 607 => static function ($self, $stackPos) { + $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 608 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 608 => static function ($self, $stackPos) { + $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 609 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(3-1)], $this->tokenEndStack[$stackPos])); + 609 => static function ($self, $stackPos) { + $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 610 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-4)], $this->getAttributes($this->tokenStartStack[$stackPos-(6-1)], $this->tokenEndStack[$stackPos])); + 610 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); }, - 611 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 611 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 612 => function ($stackPos) { - $this->semValue = new Scalar\String_($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 612 => static function ($self, $stackPos) { + $self->semValue = new Scalar\String_($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 613 => function ($stackPos) { - $this->semValue = $this->parseNumString($this->semStack[$stackPos-(1-1)], $this->getAttributes($this->tokenStartStack[$stackPos-(1-1)], $this->tokenEndStack[$stackPos])); + 613 => static function ($self, $stackPos) { + $self->semValue = $self->parseNumString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 614 => function ($stackPos) { - $this->semValue = $this->parseNumString('-' . $this->semStack[$stackPos-(2-2)], $this->getAttributes($this->tokenStartStack[$stackPos-(2-1)], $this->tokenEndStack[$stackPos])); + 614 => static function ($self, $stackPos) { + $self->semValue = $self->parseNumString('-' . $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 615 => null, ]; diff --git a/Sources/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php b/Sources/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php index f0b1a50b..42723313 100644 --- a/Sources/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php +++ b/Sources/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php @@ -318,7 +318,7 @@ abstract class ParserAbstract implements Parser { try { $callback = $this->reduceCallbacks[$rule]; if ($callback !== null) { - $callback($stackPos); + $callback($this, $stackPos); } elseif ($ruleLength > 0) { $this->semValue = $this->semStack[$stackPos - $ruleLength + 1]; } diff --git a/Sources/vendor/nikic/php-parser/lib/PhpParser/PhpVersion.php b/Sources/vendor/nikic/php-parser/lib/PhpParser/PhpVersion.php index a6fbb58e..db85b1e5 100644 --- a/Sources/vendor/nikic/php-parser/lib/PhpParser/PhpVersion.php +++ b/Sources/vendor/nikic/php-parser/lib/PhpParser/PhpVersion.php @@ -43,7 +43,7 @@ class PhpVersion { * if it is still under development. */ public static function getNewestSupported(): self { - return self::fromComponents(8, 2); + return self::fromComponents(8, 3); } /** diff --git a/Sources/vendor/nikic/php-parser/lib/PhpParser/compatibility_tokens.php b/Sources/vendor/nikic/php-parser/lib/PhpParser/compatibility_tokens.php index f33dd77d..273271dd 100644 --- a/Sources/vendor/nikic/php-parser/lib/PhpParser/compatibility_tokens.php +++ b/Sources/vendor/nikic/php-parser/lib/PhpParser/compatibility_tokens.php @@ -26,6 +26,13 @@ if (!\function_exists('PhpParser\defineCompatibilityTokens')) { foreach ($compatTokens as $token) { if (\defined($token)) { $tokenId = \constant($token); + if (!\is_int($tokenId)) { + throw new \Error(sprintf( + 'Token %s has ID of type %s, should be int. ' . + 'You may be using a library with broken token emulation', + $token, \gettype($tokenId) + )); + } $clashingToken = $usedTokenIds[$tokenId] ?? null; if ($clashingToken !== null) { throw new \Error(sprintf( diff --git a/Sources/vendor/nikic/php-parser/phpstan-baseline.neon b/Sources/vendor/nikic/php-parser/phpstan-baseline.neon deleted file mode 100644 index f9ea34d3..00000000 --- a/Sources/vendor/nikic/php-parser/phpstan-baseline.neon +++ /dev/null @@ -1,236 +0,0 @@ -parameters: - ignoreErrors: - - - message: "#^Method PhpParser\\\\Builder\\\\ClassConst\\:\\:__construct\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#" - count: 1 - path: lib/PhpParser/Builder/ClassConst.php - - - - message: "#^Method PhpParser\\\\Builder\\\\ClassConst\\:\\:addConst\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#" - count: 1 - path: lib/PhpParser/Builder/ClassConst.php - - - - message: "#^Method PhpParser\\\\BuilderFactory\\:\\:args\\(\\) has parameter \\$args with no value type specified in iterable type array\\.$#" - count: 1 - path: lib/PhpParser/BuilderFactory.php - - - - message: "#^Method PhpParser\\\\BuilderFactory\\:\\:attribute\\(\\) has parameter \\$args with no value type specified in iterable type array\\.$#" - count: 1 - path: lib/PhpParser/BuilderFactory.php - - - - message: "#^Method PhpParser\\\\BuilderFactory\\:\\:classConst\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#" - count: 1 - path: lib/PhpParser/BuilderFactory.php - - - - message: "#^Method PhpParser\\\\BuilderFactory\\:\\:funcCall\\(\\) has parameter \\$args with no value type specified in iterable type array\\.$#" - count: 1 - path: lib/PhpParser/BuilderFactory.php - - - - message: "#^Method PhpParser\\\\BuilderFactory\\:\\:methodCall\\(\\) has parameter \\$args with no value type specified in iterable type array\\.$#" - count: 1 - path: lib/PhpParser/BuilderFactory.php - - - - message: "#^Method PhpParser\\\\BuilderFactory\\:\\:new\\(\\) has parameter \\$args with no value type specified in iterable type array\\.$#" - count: 1 - path: lib/PhpParser/BuilderFactory.php - - - - message: "#^Method PhpParser\\\\BuilderFactory\\:\\:staticCall\\(\\) has parameter \\$args with no value type specified in iterable type array\\.$#" - count: 1 - path: lib/PhpParser/BuilderFactory.php - - - - message: "#^Method PhpParser\\\\BuilderFactory\\:\\:val\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#" - count: 1 - path: lib/PhpParser/BuilderFactory.php - - - - message: "#^Method PhpParser\\\\BuilderHelpers\\:\\:normalizeValue\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#" - count: 1 - path: lib/PhpParser/BuilderHelpers.php - - - - message: "#^Method PhpParser\\\\ConstExprEvaluator\\:\\:evaluateArray\\(\\) return type has no value type specified in iterable type array\\.$#" - count: 1 - path: lib/PhpParser/ConstExprEvaluator.php - - - - message: "#^Unary operation \"~\" on mixed results in an error\\.$#" - count: 1 - path: lib/PhpParser/ConstExprEvaluator.php - - - - message: "#^Method PhpParser\\\\JsonDecoder\\:\\:decodeArray\\(\\) has parameter \\$array with no value type specified in iterable type array\\.$#" - count: 1 - path: lib/PhpParser/JsonDecoder.php - - - - message: "#^Method PhpParser\\\\JsonDecoder\\:\\:decodeArray\\(\\) return type has no value type specified in iterable type array\\.$#" - count: 1 - path: lib/PhpParser/JsonDecoder.php - - - - message: "#^Method PhpParser\\\\JsonDecoder\\:\\:decodeComment\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#" - count: 1 - path: lib/PhpParser/JsonDecoder.php - - - - message: "#^Method PhpParser\\\\JsonDecoder\\:\\:decodeNode\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#" - count: 1 - path: lib/PhpParser/JsonDecoder.php - - - - message: "#^Call to function assert\\(\\) with false will always evaluate to false\\.$#" - count: 1 - path: lib/PhpParser/Lexer/Emulative.php - - - - message: "#^Method PhpParser\\\\NodeDumper\\:\\:__construct\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#" - count: 1 - path: lib/PhpParser/NodeDumper.php - - - - message: "#^Method PhpParser\\\\NodeDumper\\:\\:dump\\(\\) has parameter \\$node with no value type specified in iterable type array\\.$#" - count: 1 - path: lib/PhpParser/NodeDumper.php - - - - message: "#^Method PhpParser\\\\NodeTraverser\\:\\:traverseArray\\(\\) has parameter \\$nodes with no value type specified in iterable type array\\.$#" - count: 1 - path: lib/PhpParser/NodeTraverser.php - - - - message: "#^Method PhpParser\\\\NodeTraverser\\:\\:traverseArray\\(\\) return type has no value type specified in iterable type array\\.$#" - count: 1 - path: lib/PhpParser/NodeTraverser.php - - - - message: "#^Access to an undefined property PhpParser\\\\Node\\:\\:\\$attrGroups\\.$#" - count: 1 - path: lib/PhpParser/NodeVisitor/NameResolver.php - - - - message: "#^Access to an undefined property PhpParser\\\\Node\\:\\:\\$name\\.$#" - count: 1 - path: lib/PhpParser/NodeVisitor/NameResolver.php - - - - message: "#^Access to an undefined property PhpParser\\\\Node\\:\\:\\$namespacedName\\.$#" - count: 1 - path: lib/PhpParser/NodeVisitor/NameResolver.php - - - - message: "#^Method PhpParser\\\\NodeVisitor\\\\NodeConnectingVisitor\\:\\:beforeTraverse\\(\\) should return array\\\\|null but return statement is missing\\.$#" - count: 1 - path: lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php - - - - message: "#^Method PhpParser\\\\NodeVisitor\\\\NodeConnectingVisitor\\:\\:enterNode\\(\\) should return array\\\\|int\\|PhpParser\\\\Node\\|null but return statement is missing\\.$#" - count: 1 - path: lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php - - - - message: "#^Method PhpParser\\\\NodeVisitor\\\\NodeConnectingVisitor\\:\\:leaveNode\\(\\) should return array\\\\|int\\|PhpParser\\\\Node\\|null but return statement is missing\\.$#" - count: 1 - path: lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php - - - - message: "#^Method PhpParser\\\\NodeVisitor\\\\ParentConnectingVisitor\\:\\:beforeTraverse\\(\\) should return array\\\\|null but return statement is missing\\.$#" - count: 1 - path: lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php - - - - message: "#^Method PhpParser\\\\NodeVisitor\\\\ParentConnectingVisitor\\:\\:enterNode\\(\\) should return array\\\\|int\\|PhpParser\\\\Node\\|null but return statement is missing\\.$#" - count: 1 - path: lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php - - - - message: "#^Method PhpParser\\\\NodeVisitor\\\\ParentConnectingVisitor\\:\\:leaveNode\\(\\) should return array\\\\|int\\|PhpParser\\\\Node\\|null but return statement is missing\\.$#" - count: 1 - path: lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php - - - - message: "#^Access to undefined constant static\\(PhpParser\\\\ParserAbstract\\)\\:\\:T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG\\.$#" - count: 1 - path: lib/PhpParser/ParserAbstract.php - - - - message: "#^Access to undefined constant static\\(PhpParser\\\\ParserAbstract\\)\\:\\:T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG\\.$#" - count: 1 - path: lib/PhpParser/ParserAbstract.php - - - - message: "#^Access to undefined constant static\\(PhpParser\\\\ParserAbstract\\)\\:\\:T_ATTRIBUTE\\.$#" - count: 1 - path: lib/PhpParser/ParserAbstract.php - - - - message: "#^Access to undefined constant static\\(PhpParser\\\\ParserAbstract\\)\\:\\:T_COALESCE_EQUAL\\.$#" - count: 1 - path: lib/PhpParser/ParserAbstract.php - - - - message: "#^Access to undefined constant static\\(PhpParser\\\\ParserAbstract\\)\\:\\:T_ECHO\\.$#" - count: 1 - path: lib/PhpParser/ParserAbstract.php - - - - message: "#^Access to undefined constant static\\(PhpParser\\\\ParserAbstract\\)\\:\\:T_ENUM\\.$#" - count: 1 - path: lib/PhpParser/ParserAbstract.php - - - - message: "#^Access to undefined constant static\\(PhpParser\\\\ParserAbstract\\)\\:\\:T_FN\\.$#" - count: 1 - path: lib/PhpParser/ParserAbstract.php - - - - message: "#^Access to undefined constant static\\(PhpParser\\\\ParserAbstract\\)\\:\\:T_MATCH\\.$#" - count: 1 - path: lib/PhpParser/ParserAbstract.php - - - - message: "#^Access to undefined constant static\\(PhpParser\\\\ParserAbstract\\)\\:\\:T_NAME_FULLY_QUALIFIED\\.$#" - count: 1 - path: lib/PhpParser/ParserAbstract.php - - - - message: "#^Access to undefined constant static\\(PhpParser\\\\ParserAbstract\\)\\:\\:T_NAME_QUALIFIED\\.$#" - count: 1 - path: lib/PhpParser/ParserAbstract.php - - - - message: "#^Access to undefined constant static\\(PhpParser\\\\ParserAbstract\\)\\:\\:T_NAME_RELATIVE\\.$#" - count: 1 - path: lib/PhpParser/ParserAbstract.php - - - - message: "#^Access to undefined constant static\\(PhpParser\\\\ParserAbstract\\)\\:\\:T_NULLSAFE_OBJECT_OPERATOR\\.$#" - count: 1 - path: lib/PhpParser/ParserAbstract.php - - - - message: "#^Access to undefined constant static\\(PhpParser\\\\ParserAbstract\\)\\:\\:T_PAAMAYIM_NEKUDOTAYIM\\.$#" - count: 1 - path: lib/PhpParser/ParserAbstract.php - - - - message: "#^Access to undefined constant static\\(PhpParser\\\\ParserAbstract\\)\\:\\:T_READONLY\\.$#" - count: 1 - path: lib/PhpParser/ParserAbstract.php - - - - message: "#^Unary operation \"\\+\" on string results in an error\\.$#" - count: 1 - path: lib/PhpParser/ParserAbstract.php - - - - message: "#^Variable \\$action might not be defined\\.$#" - count: 1 - path: lib/PhpParser/ParserAbstract.php diff --git a/Sources/vendor/nikic/php-parser/phpstan.neon.dist b/Sources/vendor/nikic/php-parser/phpstan.neon.dist deleted file mode 100644 index af910125..00000000 --- a/Sources/vendor/nikic/php-parser/phpstan.neon.dist +++ /dev/null @@ -1,8 +0,0 @@ -includes: - - phpstan-baseline.neon - -parameters: - level: 6 - paths: - - lib - treatPhpDocTypesAsCertain: false diff --git a/Sources/vendor/phar-io/manifest/CHANGELOG.md b/Sources/vendor/phar-io/manifest/CHANGELOG.md index a403e093..f363b169 100644 --- a/Sources/vendor/phar-io/manifest/CHANGELOG.md +++ b/Sources/vendor/phar-io/manifest/CHANGELOG.md @@ -2,6 +2,14 @@ All notable changes to phar-io/manifest are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. +## [2.0.4] - 03-03-2024 + +### Changed + +- Make `EMail` an optional attribute for author +- Stick with PHP 7.2 compatibilty +- Do not use implict nullable type (thanks @sebastianbergmann), this should make things work on PHP 8.4 + ## [2.0.3] - 20.07.2021 - Fixed PHP 7.2 / PHP 7.3 incompatibility introduced in previous release @@ -26,7 +34,8 @@ This release now requires PHP 7.2+ ### Unreleased -[Unreleased]: https://github.com/phar-io/manifest/compare/2.0.3...HEAD +[Unreleased]: https://github.com/phar-io/manifest/compare/2.1.0...HEAD +[2.1.0]: https://github.com/phar-io/manifest/compare/2.0.3...2.1.0 [2.0.3]: https://github.com/phar-io/manifest/compare/2.0.2...2.0.3 [2.0.2]: https://github.com/phar-io/manifest/compare/2.0.1...2.0.2 [2.0.1]: https://github.com/phar-io/manifest/compare/2.0.0...2.0.1 diff --git a/Sources/vendor/phar-io/manifest/README.md b/Sources/vendor/phar-io/manifest/README.md index e6d0b055..fae2c9a7 100644 --- a/Sources/vendor/phar-io/manifest/README.md +++ b/Sources/vendor/phar-io/manifest/README.md @@ -2,10 +2,6 @@ Component for reading [phar.io](https://phar.io/) manifest information from a [PHP Archive (PHAR)](http://php.net/phar). -[![Build Status](https://travis-ci.org/phar-io/manifest.svg?branch=master)](https://travis-ci.org/phar-io/manifest) -[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/phar-io/manifest/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/phar-io/manifest/?branch=master) -[![SensioLabsInsight](https://insight.sensiolabs.com/projects/d8cc6035-69ad-477d-bd1a-ccc605480fd7/mini.png)](https://insight.sensiolabs.com/projects/d8cc6035-69ad-477d-bd1a-ccc605480fd7) - ## Installation You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/): @@ -16,8 +12,9 @@ If you only need this library during development, for instance to run your proje composer require --dev phar-io/manifest -## Usage +## Usage Examples +### Read from `manifest.xml` ```php use PharIo\Manifest\ManifestLoader; use PharIo\Manifest\ManifestSerializer; @@ -28,3 +25,154 @@ var_dump($manifest); echo (new ManifestSerializer)->serializeToString($manifest); ``` + +
+ Output + +```shell +object(PharIo\Manifest\Manifest)#14 (6) { + ["name":"PharIo\Manifest\Manifest":private]=> + object(PharIo\Manifest\ApplicationName)#10 (1) { + ["name":"PharIo\Manifest\ApplicationName":private]=> + string(12) "some/library" + } + ["version":"PharIo\Manifest\Manifest":private]=> + object(PharIo\Version\Version)#12 (5) { + ["originalVersionString":"PharIo\Version\Version":private]=> + string(5) "1.0.0" + ["major":"PharIo\Version\Version":private]=> + object(PharIo\Version\VersionNumber)#13 (1) { + ["value":"PharIo\Version\VersionNumber":private]=> + int(1) + } + ["minor":"PharIo\Version\Version":private]=> + object(PharIo\Version\VersionNumber)#23 (1) { + ["value":"PharIo\Version\VersionNumber":private]=> + int(0) + } + ["patch":"PharIo\Version\Version":private]=> + object(PharIo\Version\VersionNumber)#22 (1) { + ["value":"PharIo\Version\VersionNumber":private]=> + int(0) + } + ["preReleaseSuffix":"PharIo\Version\Version":private]=> + NULL + } + ["type":"PharIo\Manifest\Manifest":private]=> + object(PharIo\Manifest\Library)#6 (0) { + } + ["copyrightInformation":"PharIo\Manifest\Manifest":private]=> + object(PharIo\Manifest\CopyrightInformation)#19 (2) { + ["authors":"PharIo\Manifest\CopyrightInformation":private]=> + object(PharIo\Manifest\AuthorCollection)#9 (1) { + ["authors":"PharIo\Manifest\AuthorCollection":private]=> + array(1) { + [0]=> + object(PharIo\Manifest\Author)#15 (2) { + ["name":"PharIo\Manifest\Author":private]=> + string(13) "Reiner Zufall" + ["email":"PharIo\Manifest\Author":private]=> + object(PharIo\Manifest\Email)#16 (1) { + ["email":"PharIo\Manifest\Email":private]=> + string(16) "reiner@zufall.de" + } + } + } + } + ["license":"PharIo\Manifest\CopyrightInformation":private]=> + object(PharIo\Manifest\License)#11 (2) { + ["name":"PharIo\Manifest\License":private]=> + string(12) "BSD-3-Clause" + ["url":"PharIo\Manifest\License":private]=> + object(PharIo\Manifest\Url)#18 (1) { + ["url":"PharIo\Manifest\Url":private]=> + string(26) "https://domain.tld/LICENSE" + } + } + } + ["requirements":"PharIo\Manifest\Manifest":private]=> + object(PharIo\Manifest\RequirementCollection)#17 (1) { + ["requirements":"PharIo\Manifest\RequirementCollection":private]=> + array(1) { + [0]=> + object(PharIo\Manifest\PhpVersionRequirement)#20 (1) { + ["versionConstraint":"PharIo\Manifest\PhpVersionRequirement":private]=> + object(PharIo\Version\SpecificMajorAndMinorVersionConstraint)#24 (3) { + ["originalValue":"PharIo\Version\AbstractVersionConstraint":private]=> + string(3) "7.0" + ["major":"PharIo\Version\SpecificMajorAndMinorVersionConstraint":private]=> + int(7) + ["minor":"PharIo\Version\SpecificMajorAndMinorVersionConstraint":private]=> + int(0) + } + } + } + } + ["bundledComponents":"PharIo\Manifest\Manifest":private]=> + object(PharIo\Manifest\BundledComponentCollection)#8 (1) { + ["bundledComponents":"PharIo\Manifest\BundledComponentCollection":private]=> + array(0) { + } + } +} + + + + + + + + + + + +``` +
+ +### Create via API +```php +$bundled = new \PharIo\Manifest\BundledComponentCollection(); +$bundled->add( + new \PharIo\Manifest\BundledComponent('vendor/packageA', new \PharIo\Version\Version('1.2.3-dev') + ) +); + +$manifest = new PharIo\Manifest\Manifest( + new \PharIo\Manifest\ApplicationName('vendor/package'), + new \PharIo\Version\Version('1.0.0'), + new \PharIo\Manifest\Library(), + new \PharIo\Manifest\CopyrightInformation( + new \PharIo\Manifest\AuthorCollection(), + new \PharIo\Manifest\License( + 'BSD-3-Clause', + new \PharIo\Manifest\Url('https://spdx.org/licenses/BSD-3-Clause.html') + ) + ), + new \PharIo\Manifest\RequirementCollection(), + $bundled +); + +echo (new ManifestSerializer)->serializeToString($manifest); +``` + +
+ Output + +```xml + + + + + + + + + + + + + +``` + +
+ diff --git a/Sources/vendor/phar-io/manifest/composer.json b/Sources/vendor/phar-io/manifest/composer.json index a2521193..dc5fa458 100644 --- a/Sources/vendor/phar-io/manifest/composer.json +++ b/Sources/vendor/phar-io/manifest/composer.json @@ -26,6 +26,7 @@ "php": "^7.2 || ^8.0", "ext-dom": "*", "ext-phar": "*", + "ext-libxml": "*", "ext-xmlwriter": "*", "phar-io/version": "^3.0.1" }, diff --git a/Sources/vendor/phar-io/manifest/composer.lock b/Sources/vendor/phar-io/manifest/composer.lock index e0e6db76..fe18e08b 100644 --- a/Sources/vendor/phar-io/manifest/composer.lock +++ b/Sources/vendor/phar-io/manifest/composer.lock @@ -4,24 +4,24 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "f2ac4614ce4f7273fd54a64b65fd047a", + "content-hash": "279b3c4fe44357abd924fdcc0cfa5664", "packages": [ { "name": "phar-io/version", - "version": "3.0.1", + "version": "3.2.1", "source": { "type": "git", "url": "https://github.com/phar-io/version.git", - "reference": "d06a5000ac1a258a7d035295f0bd4ae7c859bc4f" + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/d06a5000ac1a258a7d035295f0bd4ae7c859bc4f", - "reference": "d06a5000ac1a258a7d035295f0bd4ae7c859bc4f", + "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", "shasum": "" }, "require": { - "php": "^7.2" + "php": "^7.2 || ^8.0" }, "type": "library", "autoload": { @@ -51,7 +51,11 @@ } ], "description": "Library for handling version information and constraints", - "time": "2020-05-09T21:27:55+00:00" + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.2.1" + }, + "time": "2022-02-21T01:04:05+00:00" } ], "packages-dev": [], @@ -61,10 +65,12 @@ "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": "^7.2", + "php": "^7.2 || ^8.0", "ext-dom": "*", "ext-phar": "*", + "ext-libxml": "*", "ext-xmlwriter": "*" }, - "platform-dev": [] + "platform-dev": [], + "plugin-api-version": "2.3.0" } diff --git a/Sources/vendor/phar-io/manifest/src/ManifestDocumentMapper.php b/Sources/vendor/phar-io/manifest/src/ManifestDocumentMapper.php index 8e539d5f..3da6403f 100644 --- a/Sources/vendor/phar-io/manifest/src/ManifestDocumentMapper.php +++ b/Sources/vendor/phar-io/manifest/src/ManifestDocumentMapper.php @@ -2,16 +2,19 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; use PharIo\Version\Exception as VersionException; use PharIo\Version\Version; use PharIo\Version\VersionConstraintParser; +use Throwable; +use function sprintf; class ManifestDocumentMapper { public function map(ManifestDocument $document): Manifest { @@ -30,9 +33,7 @@ class ManifestDocumentMapper { $requirements, $bundledComponents ); - } catch (VersionException $e) { - throw new ManifestDocumentMapperException($e->getMessage(), (int)$e->getCode(), $e); - } catch (Exception $e) { + } catch (Throwable $e) { throw new ManifestDocumentMapperException($e->getMessage(), (int)$e->getCode(), $e); } } @@ -48,7 +49,7 @@ class ManifestDocumentMapper { } throw new ManifestDocumentMapperException( - \sprintf('Unsupported type %s', $contains->getType()) + sprintf('Unsupported type %s', $contains->getType()) ); } @@ -59,7 +60,7 @@ class ManifestDocumentMapper { $authors->add( new Author( $authorElement->getName(), - new Email($authorElement->getEmail()) + $authorElement->hasEMail() ? new Email($authorElement->getEmail()) : null ) ); } @@ -85,7 +86,7 @@ class ManifestDocumentMapper { $versionConstraint = $parser->parse($phpElement->getVersion()); } catch (VersionException $e) { throw new ManifestDocumentMapperException( - \sprintf('Unsupported version constraint - %s', $e->getMessage()), + sprintf('Unsupported version constraint - %s', $e->getMessage()), (int)$e->getCode(), $e ); @@ -141,7 +142,7 @@ class ManifestDocumentMapper { ); } catch (VersionException $e) { throw new ManifestDocumentMapperException( - \sprintf('Unsupported version constraint - %s', $e->getMessage()), + sprintf('Unsupported version constraint - %s', $e->getMessage()), (int)$e->getCode(), $e ); diff --git a/Sources/vendor/phar-io/manifest/src/ManifestLoader.php b/Sources/vendor/phar-io/manifest/src/ManifestLoader.php index ae884e49..f467d2d3 100644 --- a/Sources/vendor/phar-io/manifest/src/ManifestLoader.php +++ b/Sources/vendor/phar-io/manifest/src/ManifestLoader.php @@ -2,13 +2,16 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; +use function sprintf; + class ManifestLoader { public static function fromFile(string $filename): Manifest { try { @@ -17,7 +20,7 @@ class ManifestLoader { ); } catch (Exception $e) { throw new ManifestLoaderException( - \sprintf('Loading %s failed.', $filename), + sprintf('Loading %s failed.', $filename), (int)$e->getCode(), $e ); diff --git a/Sources/vendor/phar-io/manifest/src/ManifestSerializer.php b/Sources/vendor/phar-io/manifest/src/ManifestSerializer.php index e236b598..48b8efdd 100644 --- a/Sources/vendor/phar-io/manifest/src/ManifestSerializer.php +++ b/Sources/vendor/phar-io/manifest/src/ManifestSerializer.php @@ -2,10 +2,11 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; @@ -13,6 +14,9 @@ use PharIo\Version\AnyVersionConstraint; use PharIo\Version\Version; use PharIo\Version\VersionConstraint; use XMLWriter; +use function count; +use function file_put_contents; +use function str_repeat; /** @psalm-suppress MissingConstructor */ class ManifestSerializer { @@ -20,7 +24,7 @@ class ManifestSerializer { private $xmlWriter; public function serializeToFile(Manifest $manifest, string $filename): void { - \file_put_contents( + file_put_contents( $filename, $this->serializeToString($manifest) ); @@ -41,7 +45,7 @@ class ManifestSerializer { $xmlWriter = new XMLWriter(); $xmlWriter->openMemory(); $xmlWriter->setIndent(true); - $xmlWriter->setIndentString(\str_repeat(' ', 4)); + $xmlWriter->setIndentString(str_repeat(' ', 4)); $xmlWriter->startDocument('1.0', 'UTF-8'); $xmlWriter->startElement('phar'); $xmlWriter->writeAttribute('xmlns', 'https://phar.io/xml/manifest/1.0'); @@ -144,7 +148,7 @@ class ManifestSerializer { } private function addBundles(BundledComponentCollection $bundledComponentCollection): void { - if (\count($bundledComponentCollection) === 0) { + if (count($bundledComponentCollection) === 0) { return; } $this->xmlWriter->startElement('bundles'); diff --git a/Sources/vendor/phar-io/manifest/src/exceptions/ElementCollectionException.php b/Sources/vendor/phar-io/manifest/src/exceptions/ElementCollectionException.php index 766fc0e6..7528afc8 100644 --- a/Sources/vendor/phar-io/manifest/src/exceptions/ElementCollectionException.php +++ b/Sources/vendor/phar-io/manifest/src/exceptions/ElementCollectionException.php @@ -2,12 +2,15 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; -class ElementCollectionException extends \InvalidArgumentException implements Exception { +use InvalidArgumentException; + +class ElementCollectionException extends InvalidArgumentException implements Exception { } diff --git a/Sources/vendor/phar-io/manifest/src/exceptions/Exception.php b/Sources/vendor/phar-io/manifest/src/exceptions/Exception.php index e7f12209..0c135d3c 100644 --- a/Sources/vendor/phar-io/manifest/src/exceptions/Exception.php +++ b/Sources/vendor/phar-io/manifest/src/exceptions/Exception.php @@ -2,12 +2,15 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; -interface Exception extends \Throwable { +use Throwable; + +interface Exception extends Throwable { } diff --git a/Sources/vendor/phar-io/manifest/src/exceptions/InvalidApplicationNameException.php b/Sources/vendor/phar-io/manifest/src/exceptions/InvalidApplicationNameException.php index 952901eb..ecfe5142 100644 --- a/Sources/vendor/phar-io/manifest/src/exceptions/InvalidApplicationNameException.php +++ b/Sources/vendor/phar-io/manifest/src/exceptions/InvalidApplicationNameException.php @@ -2,13 +2,16 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; -class InvalidApplicationNameException extends \InvalidArgumentException implements Exception { +use InvalidArgumentException; + +class InvalidApplicationNameException extends InvalidArgumentException implements Exception { public const InvalidFormat = 2; } diff --git a/Sources/vendor/phar-io/manifest/src/exceptions/InvalidEmailException.php b/Sources/vendor/phar-io/manifest/src/exceptions/InvalidEmailException.php index 3cbe0822..24240551 100644 --- a/Sources/vendor/phar-io/manifest/src/exceptions/InvalidEmailException.php +++ b/Sources/vendor/phar-io/manifest/src/exceptions/InvalidEmailException.php @@ -2,12 +2,15 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; -class InvalidEmailException extends \InvalidArgumentException implements Exception { +use InvalidArgumentException; + +class InvalidEmailException extends InvalidArgumentException implements Exception { } diff --git a/Sources/vendor/phar-io/manifest/src/exceptions/InvalidUrlException.php b/Sources/vendor/phar-io/manifest/src/exceptions/InvalidUrlException.php index 8f77e294..c8b192b1 100644 --- a/Sources/vendor/phar-io/manifest/src/exceptions/InvalidUrlException.php +++ b/Sources/vendor/phar-io/manifest/src/exceptions/InvalidUrlException.php @@ -2,12 +2,15 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; -class InvalidUrlException extends \InvalidArgumentException implements Exception { +use InvalidArgumentException; + +class InvalidUrlException extends InvalidArgumentException implements Exception { } diff --git a/Sources/vendor/phar-io/manifest/src/exceptions/ManifestDocumentException.php b/Sources/vendor/phar-io/manifest/src/exceptions/ManifestDocumentException.php index cf1c314c..0a158e6e 100644 --- a/Sources/vendor/phar-io/manifest/src/exceptions/ManifestDocumentException.php +++ b/Sources/vendor/phar-io/manifest/src/exceptions/ManifestDocumentException.php @@ -1,5 +1,16 @@ , Sebastian Heuer , Sebastian Bergmann and contributors + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + */ namespace PharIo\Manifest; -class ManifestDocumentException extends \RuntimeException implements Exception { +use RuntimeException; + +class ManifestDocumentException extends RuntimeException implements Exception { } diff --git a/Sources/vendor/phar-io/manifest/src/exceptions/ManifestDocumentLoadingException.php b/Sources/vendor/phar-io/manifest/src/exceptions/ManifestDocumentLoadingException.php index 4676e354..816af120 100644 --- a/Sources/vendor/phar-io/manifest/src/exceptions/ManifestDocumentLoadingException.php +++ b/Sources/vendor/phar-io/manifest/src/exceptions/ManifestDocumentLoadingException.php @@ -2,14 +2,16 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; use LibXMLError; +use function sprintf; class ManifestDocumentLoadingException extends \Exception implements Exception { /** @var LibXMLError[] */ @@ -25,7 +27,7 @@ class ManifestDocumentLoadingException extends \Exception implements Exception { $first = $this->libxmlErrors[0]; parent::__construct( - \sprintf( + sprintf( '%s (Line: %d / Column: %d / File: %s)', $first->message, $first->line, diff --git a/Sources/vendor/phar-io/manifest/src/exceptions/ManifestDocumentMapperException.php b/Sources/vendor/phar-io/manifest/src/exceptions/ManifestDocumentMapperException.php index 43373bd3..0d1a5f5a 100644 --- a/Sources/vendor/phar-io/manifest/src/exceptions/ManifestDocumentMapperException.php +++ b/Sources/vendor/phar-io/manifest/src/exceptions/ManifestDocumentMapperException.php @@ -1,5 +1,16 @@ , Sebastian Heuer , Sebastian Bergmann and contributors + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + */ namespace PharIo\Manifest; -class ManifestDocumentMapperException extends \RuntimeException implements Exception { +use RuntimeException; + +class ManifestDocumentMapperException extends RuntimeException implements Exception { } diff --git a/Sources/vendor/phar-io/manifest/src/exceptions/ManifestElementException.php b/Sources/vendor/phar-io/manifest/src/exceptions/ManifestElementException.php index a4e77236..46f82e32 100644 --- a/Sources/vendor/phar-io/manifest/src/exceptions/ManifestElementException.php +++ b/Sources/vendor/phar-io/manifest/src/exceptions/ManifestElementException.php @@ -1,5 +1,16 @@ , Sebastian Heuer , Sebastian Bergmann and contributors + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + */ namespace PharIo\Manifest; -class ManifestElementException extends \RuntimeException implements Exception { +use RuntimeException; + +class ManifestElementException extends RuntimeException implements Exception { } diff --git a/Sources/vendor/phar-io/manifest/src/exceptions/ManifestLoaderException.php b/Sources/vendor/phar-io/manifest/src/exceptions/ManifestLoaderException.php index df0971ed..d00ed190 100644 --- a/Sources/vendor/phar-io/manifest/src/exceptions/ManifestLoaderException.php +++ b/Sources/vendor/phar-io/manifest/src/exceptions/ManifestLoaderException.php @@ -1,4 +1,13 @@ , Sebastian Heuer , Sebastian Bergmann and contributors + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + */ namespace PharIo\Manifest; class ManifestLoaderException extends \Exception implements Exception { diff --git a/Sources/vendor/phar-io/manifest/src/values/Application.php b/Sources/vendor/phar-io/manifest/src/values/Application.php index 5420bcb8..11a44d9c 100644 --- a/Sources/vendor/phar-io/manifest/src/values/Application.php +++ b/Sources/vendor/phar-io/manifest/src/values/Application.php @@ -2,10 +2,11 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; diff --git a/Sources/vendor/phar-io/manifest/src/values/ApplicationName.php b/Sources/vendor/phar-io/manifest/src/values/ApplicationName.php index d71744ab..1a0ad1e2 100644 --- a/Sources/vendor/phar-io/manifest/src/values/ApplicationName.php +++ b/Sources/vendor/phar-io/manifest/src/values/ApplicationName.php @@ -2,13 +2,17 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; +use function preg_match; +use function sprintf; + class ApplicationName { /** @var string */ private $name; @@ -27,9 +31,9 @@ class ApplicationName { } private function ensureValidFormat(string $name): void { - if (!\preg_match('#\w/\w#', $name)) { + if (!preg_match('#\w/\w#', $name)) { throw new InvalidApplicationNameException( - \sprintf('Format of name "%s" is not valid - expected: vendor/packagename', $name), + sprintf('Format of name "%s" is not valid - expected: vendor/packagename', $name), InvalidApplicationNameException::InvalidFormat ); } diff --git a/Sources/vendor/phar-io/manifest/src/values/Author.php b/Sources/vendor/phar-io/manifest/src/values/Author.php index 82b666e7..7b243aac 100644 --- a/Sources/vendor/phar-io/manifest/src/values/Author.php +++ b/Sources/vendor/phar-io/manifest/src/values/Author.php @@ -2,27 +2,34 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; +use function sprintf; + class Author { /** @var string */ private $name; - /** @var Email */ + /** @var null|Email */ private $email; - public function __construct(string $name, Email $email) { + public function __construct(string $name, ?Email $email = null) { $this->name = $name; $this->email = $email; } public function asString(): string { - return \sprintf( + if (!$this->hasEmail()) { + return $this->name; + } + + return sprintf( '%s <%s>', $this->name, $this->email->asString() @@ -33,7 +40,18 @@ class Author { return $this->name; } + /** + * @psalm-assert-if-true Email $this->email + */ + public function hasEmail(): bool { + return $this->email !== null; + } + public function getEmail(): Email { + if (!$this->hasEmail()) { + throw new NoEmailAddressException(); + } + return $this->email; } } diff --git a/Sources/vendor/phar-io/manifest/src/values/AuthorCollection.php b/Sources/vendor/phar-io/manifest/src/values/AuthorCollection.php index 27e50ad8..549876da 100644 --- a/Sources/vendor/phar-io/manifest/src/values/AuthorCollection.php +++ b/Sources/vendor/phar-io/manifest/src/values/AuthorCollection.php @@ -2,14 +2,20 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; -class AuthorCollection implements \Countable, \IteratorAggregate { +use Countable; +use IteratorAggregate; +use function count; + +/** @template-implements IteratorAggregate */ +class AuthorCollection implements Countable, IteratorAggregate { /** @var Author[] */ private $authors = []; @@ -25,7 +31,7 @@ class AuthorCollection implements \Countable, \IteratorAggregate { } public function count(): int { - return \count($this->authors); + return count($this->authors); } public function getIterator(): AuthorCollectionIterator { diff --git a/Sources/vendor/phar-io/manifest/src/values/AuthorCollectionIterator.php b/Sources/vendor/phar-io/manifest/src/values/AuthorCollectionIterator.php index 4ff3c394..36fee9f7 100644 --- a/Sources/vendor/phar-io/manifest/src/values/AuthorCollectionIterator.php +++ b/Sources/vendor/phar-io/manifest/src/values/AuthorCollectionIterator.php @@ -2,14 +2,19 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; -class AuthorCollectionIterator implements \Iterator { +use Iterator; +use function count; + +/** @template-implements Iterator */ +class AuthorCollectionIterator implements Iterator { /** @var Author[] */ private $authors; @@ -25,7 +30,7 @@ class AuthorCollectionIterator implements \Iterator { } public function valid(): bool { - return $this->position < \count($this->authors); + return $this->position < count($this->authors); } public function key(): int { diff --git a/Sources/vendor/phar-io/manifest/src/values/BundledComponent.php b/Sources/vendor/phar-io/manifest/src/values/BundledComponent.php index ea77b440..58170368 100644 --- a/Sources/vendor/phar-io/manifest/src/values/BundledComponent.php +++ b/Sources/vendor/phar-io/manifest/src/values/BundledComponent.php @@ -2,10 +2,11 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; diff --git a/Sources/vendor/phar-io/manifest/src/values/BundledComponentCollection.php b/Sources/vendor/phar-io/manifest/src/values/BundledComponentCollection.php index b628eaa3..28aaa06c 100644 --- a/Sources/vendor/phar-io/manifest/src/values/BundledComponentCollection.php +++ b/Sources/vendor/phar-io/manifest/src/values/BundledComponentCollection.php @@ -2,14 +2,20 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; -class BundledComponentCollection implements \Countable, \IteratorAggregate { +use Countable; +use IteratorAggregate; +use function count; + +/** @template-implements IteratorAggregate */ +class BundledComponentCollection implements Countable, IteratorAggregate { /** @var BundledComponent[] */ private $bundledComponents = []; @@ -25,7 +31,7 @@ class BundledComponentCollection implements \Countable, \IteratorAggregate { } public function count(): int { - return \count($this->bundledComponents); + return count($this->bundledComponents); } public function getIterator(): BundledComponentCollectionIterator { diff --git a/Sources/vendor/phar-io/manifest/src/values/BundledComponentCollectionIterator.php b/Sources/vendor/phar-io/manifest/src/values/BundledComponentCollectionIterator.php index 462db45a..5c72817d 100644 --- a/Sources/vendor/phar-io/manifest/src/values/BundledComponentCollectionIterator.php +++ b/Sources/vendor/phar-io/manifest/src/values/BundledComponentCollectionIterator.php @@ -2,14 +2,19 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; -class BundledComponentCollectionIterator implements \Iterator { +use Iterator; +use function count; + +/** @template-implements Iterator */ +class BundledComponentCollectionIterator implements Iterator { /** @var BundledComponent[] */ private $bundledComponents; @@ -25,7 +30,7 @@ class BundledComponentCollectionIterator implements \Iterator { } public function valid(): bool { - return $this->position < \count($this->bundledComponents); + return $this->position < count($this->bundledComponents); } public function key(): int { diff --git a/Sources/vendor/phar-io/manifest/src/values/CopyrightInformation.php b/Sources/vendor/phar-io/manifest/src/values/CopyrightInformation.php index d26f9472..b4468ed7 100644 --- a/Sources/vendor/phar-io/manifest/src/values/CopyrightInformation.php +++ b/Sources/vendor/phar-io/manifest/src/values/CopyrightInformation.php @@ -2,10 +2,11 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; diff --git a/Sources/vendor/phar-io/manifest/src/values/Email.php b/Sources/vendor/phar-io/manifest/src/values/Email.php index 588348d8..dbaff84a 100644 --- a/Sources/vendor/phar-io/manifest/src/values/Email.php +++ b/Sources/vendor/phar-io/manifest/src/values/Email.php @@ -2,13 +2,17 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; +use const FILTER_VALIDATE_EMAIL; +use function filter_var; + class Email { /** @var string */ private $email; @@ -24,7 +28,7 @@ class Email { } private function ensureEmailIsValid(string $url): void { - if (\filter_var($url, \FILTER_VALIDATE_EMAIL) === false) { + if (filter_var($url, FILTER_VALIDATE_EMAIL) === false) { throw new InvalidEmailException; } } diff --git a/Sources/vendor/phar-io/manifest/src/values/Extension.php b/Sources/vendor/phar-io/manifest/src/values/Extension.php index 4c5726f8..abcd2f89 100644 --- a/Sources/vendor/phar-io/manifest/src/values/Extension.php +++ b/Sources/vendor/phar-io/manifest/src/values/Extension.php @@ -2,10 +2,11 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; diff --git a/Sources/vendor/phar-io/manifest/src/values/Library.php b/Sources/vendor/phar-io/manifest/src/values/Library.php index 21849e13..97c292dc 100644 --- a/Sources/vendor/phar-io/manifest/src/values/Library.php +++ b/Sources/vendor/phar-io/manifest/src/values/Library.php @@ -2,10 +2,11 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; diff --git a/Sources/vendor/phar-io/manifest/src/values/License.php b/Sources/vendor/phar-io/manifest/src/values/License.php index 39542fe8..c2d94299 100644 --- a/Sources/vendor/phar-io/manifest/src/values/License.php +++ b/Sources/vendor/phar-io/manifest/src/values/License.php @@ -2,10 +2,11 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; diff --git a/Sources/vendor/phar-io/manifest/src/values/Manifest.php b/Sources/vendor/phar-io/manifest/src/values/Manifest.php index 0140b842..36466820 100644 --- a/Sources/vendor/phar-io/manifest/src/values/Manifest.php +++ b/Sources/vendor/phar-io/manifest/src/values/Manifest.php @@ -2,10 +2,11 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; @@ -75,7 +76,7 @@ class Manifest { return $this->type->isExtension(); } - public function isExtensionFor(ApplicationName $application, Version $version = null): bool { + public function isExtensionFor(ApplicationName $application, ?Version $version = null): bool { if (!$this->isExtension()) { return false; } diff --git a/Sources/vendor/phar-io/manifest/src/values/PhpExtensionRequirement.php b/Sources/vendor/phar-io/manifest/src/values/PhpExtensionRequirement.php index 088f3858..f81bd259 100644 --- a/Sources/vendor/phar-io/manifest/src/values/PhpExtensionRequirement.php +++ b/Sources/vendor/phar-io/manifest/src/values/PhpExtensionRequirement.php @@ -2,10 +2,11 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; diff --git a/Sources/vendor/phar-io/manifest/src/values/PhpVersionRequirement.php b/Sources/vendor/phar-io/manifest/src/values/PhpVersionRequirement.php index f8d6f6d1..fb30c3b8 100644 --- a/Sources/vendor/phar-io/manifest/src/values/PhpVersionRequirement.php +++ b/Sources/vendor/phar-io/manifest/src/values/PhpVersionRequirement.php @@ -2,10 +2,11 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; diff --git a/Sources/vendor/phar-io/manifest/src/values/Requirement.php b/Sources/vendor/phar-io/manifest/src/values/Requirement.php index 8b845d6a..d4b46401 100644 --- a/Sources/vendor/phar-io/manifest/src/values/Requirement.php +++ b/Sources/vendor/phar-io/manifest/src/values/Requirement.php @@ -2,10 +2,11 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; diff --git a/Sources/vendor/phar-io/manifest/src/values/RequirementCollection.php b/Sources/vendor/phar-io/manifest/src/values/RequirementCollection.php index b82cd955..e4fe2a11 100644 --- a/Sources/vendor/phar-io/manifest/src/values/RequirementCollection.php +++ b/Sources/vendor/phar-io/manifest/src/values/RequirementCollection.php @@ -2,14 +2,20 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; -class RequirementCollection implements \Countable, \IteratorAggregate { +use Countable; +use IteratorAggregate; +use function count; + +/** @template-implements IteratorAggregate */ +class RequirementCollection implements Countable, IteratorAggregate { /** @var Requirement[] */ private $requirements = []; @@ -25,7 +31,7 @@ class RequirementCollection implements \Countable, \IteratorAggregate { } public function count(): int { - return \count($this->requirements); + return count($this->requirements); } public function getIterator(): RequirementCollectionIterator { diff --git a/Sources/vendor/phar-io/manifest/src/values/RequirementCollectionIterator.php b/Sources/vendor/phar-io/manifest/src/values/RequirementCollectionIterator.php index 5614eaf7..a587468c 100644 --- a/Sources/vendor/phar-io/manifest/src/values/RequirementCollectionIterator.php +++ b/Sources/vendor/phar-io/manifest/src/values/RequirementCollectionIterator.php @@ -2,14 +2,19 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; -class RequirementCollectionIterator implements \Iterator { +use Iterator; +use function count; + +/** @template-implements Iterator */ +class RequirementCollectionIterator implements Iterator { /** @var Requirement[] */ private $requirements; @@ -25,7 +30,7 @@ class RequirementCollectionIterator implements \Iterator { } public function valid(): bool { - return $this->position < \count($this->requirements); + return $this->position < count($this->requirements); } public function key(): int { diff --git a/Sources/vendor/phar-io/manifest/src/values/Type.php b/Sources/vendor/phar-io/manifest/src/values/Type.php index 23b28980..231e7fd9 100644 --- a/Sources/vendor/phar-io/manifest/src/values/Type.php +++ b/Sources/vendor/phar-io/manifest/src/values/Type.php @@ -2,10 +2,11 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; diff --git a/Sources/vendor/phar-io/manifest/src/values/Url.php b/Sources/vendor/phar-io/manifest/src/values/Url.php index 63952533..98061554 100644 --- a/Sources/vendor/phar-io/manifest/src/values/Url.php +++ b/Sources/vendor/phar-io/manifest/src/values/Url.php @@ -2,13 +2,17 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; +use const FILTER_VALIDATE_URL; +use function filter_var; + class Url { /** @var string */ private $url; @@ -24,12 +28,10 @@ class Url { } /** - * @param string $url - * * @throws InvalidUrlException */ - private function ensureUrlIsValid($url): void { - if (\filter_var($url, \FILTER_VALIDATE_URL) === false) { + private function ensureUrlIsValid(string $url): void { + if (filter_var($url, FILTER_VALIDATE_URL) === false) { throw new InvalidUrlException; } } diff --git a/Sources/vendor/phar-io/manifest/src/xml/AuthorElement.php b/Sources/vendor/phar-io/manifest/src/xml/AuthorElement.php index c454b271..b33eb3ca 100644 --- a/Sources/vendor/phar-io/manifest/src/xml/AuthorElement.php +++ b/Sources/vendor/phar-io/manifest/src/xml/AuthorElement.php @@ -2,10 +2,11 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; @@ -17,4 +18,8 @@ class AuthorElement extends ManifestElement { public function getEmail(): string { return $this->getAttributeValue('email'); } + + public function hasEMail(): bool { + return $this->hasAttribute('email'); + } } diff --git a/Sources/vendor/phar-io/manifest/src/xml/AuthorElementCollection.php b/Sources/vendor/phar-io/manifest/src/xml/AuthorElementCollection.php index a54147eb..0a2a2a38 100644 --- a/Sources/vendor/phar-io/manifest/src/xml/AuthorElementCollection.php +++ b/Sources/vendor/phar-io/manifest/src/xml/AuthorElementCollection.php @@ -2,10 +2,11 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; diff --git a/Sources/vendor/phar-io/manifest/src/xml/BundlesElement.php b/Sources/vendor/phar-io/manifest/src/xml/BundlesElement.php index eb2105ac..ef721a66 100644 --- a/Sources/vendor/phar-io/manifest/src/xml/BundlesElement.php +++ b/Sources/vendor/phar-io/manifest/src/xml/BundlesElement.php @@ -2,10 +2,11 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; diff --git a/Sources/vendor/phar-io/manifest/src/xml/ComponentElement.php b/Sources/vendor/phar-io/manifest/src/xml/ComponentElement.php index 7f6a5ec9..84373c47 100644 --- a/Sources/vendor/phar-io/manifest/src/xml/ComponentElement.php +++ b/Sources/vendor/phar-io/manifest/src/xml/ComponentElement.php @@ -2,10 +2,11 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; diff --git a/Sources/vendor/phar-io/manifest/src/xml/ComponentElementCollection.php b/Sources/vendor/phar-io/manifest/src/xml/ComponentElementCollection.php index 23bcbd2f..cd9ad5dd 100644 --- a/Sources/vendor/phar-io/manifest/src/xml/ComponentElementCollection.php +++ b/Sources/vendor/phar-io/manifest/src/xml/ComponentElementCollection.php @@ -2,10 +2,11 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; diff --git a/Sources/vendor/phar-io/manifest/src/xml/ContainsElement.php b/Sources/vendor/phar-io/manifest/src/xml/ContainsElement.php index ebef49d9..55a9c605 100644 --- a/Sources/vendor/phar-io/manifest/src/xml/ContainsElement.php +++ b/Sources/vendor/phar-io/manifest/src/xml/ContainsElement.php @@ -2,10 +2,11 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; diff --git a/Sources/vendor/phar-io/manifest/src/xml/CopyrightElement.php b/Sources/vendor/phar-io/manifest/src/xml/CopyrightElement.php index 3debe7dc..c11415a5 100644 --- a/Sources/vendor/phar-io/manifest/src/xml/CopyrightElement.php +++ b/Sources/vendor/phar-io/manifest/src/xml/CopyrightElement.php @@ -2,10 +2,11 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; diff --git a/Sources/vendor/phar-io/manifest/src/xml/ElementCollection.php b/Sources/vendor/phar-io/manifest/src/xml/ElementCollection.php index 26d9250f..9e1de569 100644 --- a/Sources/vendor/phar-io/manifest/src/xml/ElementCollection.php +++ b/Sources/vendor/phar-io/manifest/src/xml/ElementCollection.php @@ -2,17 +2,24 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; use DOMElement; use DOMNodeList; +use Iterator; +use ReturnTypeWillChange; +use function count; +use function get_class; +use function sprintf; -abstract class ElementCollection implements \Iterator { +/** @template-implements Iterator */ +abstract class ElementCollection implements Iterator { /** @var DOMElement[] */ private $nodes = []; @@ -24,7 +31,7 @@ abstract class ElementCollection implements \Iterator { $this->importNodes($nodeList); } - #[\ReturnTypeWillChange] + #[ReturnTypeWillChange] abstract public function current(); public function next(): void { @@ -36,7 +43,7 @@ abstract class ElementCollection implements \Iterator { } public function valid(): bool { - return $this->position < \count($this->nodes); + return $this->position < count($this->nodes); } public function rewind(): void { @@ -51,7 +58,7 @@ abstract class ElementCollection implements \Iterator { foreach ($nodeList as $node) { if (!$node instanceof DOMElement) { throw new ElementCollectionException( - \sprintf('\DOMElement expected, got \%s', \get_class($node)) + sprintf('\DOMElement expected, got \%s', get_class($node)) ); } diff --git a/Sources/vendor/phar-io/manifest/src/xml/ExtElement.php b/Sources/vendor/phar-io/manifest/src/xml/ExtElement.php index 257853c4..6a88a05d 100644 --- a/Sources/vendor/phar-io/manifest/src/xml/ExtElement.php +++ b/Sources/vendor/phar-io/manifest/src/xml/ExtElement.php @@ -2,10 +2,11 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; diff --git a/Sources/vendor/phar-io/manifest/src/xml/ExtElementCollection.php b/Sources/vendor/phar-io/manifest/src/xml/ExtElementCollection.php index 05977349..3eec9463 100644 --- a/Sources/vendor/phar-io/manifest/src/xml/ExtElementCollection.php +++ b/Sources/vendor/phar-io/manifest/src/xml/ExtElementCollection.php @@ -2,10 +2,11 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; diff --git a/Sources/vendor/phar-io/manifest/src/xml/ExtensionElement.php b/Sources/vendor/phar-io/manifest/src/xml/ExtensionElement.php index db067f99..22016a01 100644 --- a/Sources/vendor/phar-io/manifest/src/xml/ExtensionElement.php +++ b/Sources/vendor/phar-io/manifest/src/xml/ExtensionElement.php @@ -2,10 +2,11 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; diff --git a/Sources/vendor/phar-io/manifest/src/xml/LicenseElement.php b/Sources/vendor/phar-io/manifest/src/xml/LicenseElement.php index 658c3d1c..d9f4cb26 100644 --- a/Sources/vendor/phar-io/manifest/src/xml/LicenseElement.php +++ b/Sources/vendor/phar-io/manifest/src/xml/LicenseElement.php @@ -2,10 +2,11 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; diff --git a/Sources/vendor/phar-io/manifest/src/xml/ManifestDocument.php b/Sources/vendor/phar-io/manifest/src/xml/ManifestDocument.php index f88b2829..87458686 100644 --- a/Sources/vendor/phar-io/manifest/src/xml/ManifestDocument.php +++ b/Sources/vendor/phar-io/manifest/src/xml/ManifestDocument.php @@ -2,15 +2,24 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; use DOMDocument; use DOMElement; +use Throwable; +use function count; +use function file_get_contents; +use function is_file; +use function libxml_clear_errors; +use function libxml_get_errors; +use function libxml_use_internal_errors; +use function sprintf; class ManifestDocument { public const XMLNS = 'https://phar.io/xml/manifest/1.0'; @@ -19,28 +28,31 @@ class ManifestDocument { private $dom; public static function fromFile(string $filename): ManifestDocument { - if (!\file_exists($filename)) { + if (!is_file($filename)) { throw new ManifestDocumentException( - \sprintf('File "%s" not found', $filename) + sprintf('File "%s" not found', $filename) ); } return self::fromString( - \file_get_contents($filename) + file_get_contents($filename) ); } public static function fromString(string $xmlString): ManifestDocument { - $prev = \libxml_use_internal_errors(true); - \libxml_clear_errors(); - - $dom = new DOMDocument(); - $dom->loadXML($xmlString); - - $errors = \libxml_get_errors(); - \libxml_use_internal_errors($prev); + $prev = libxml_use_internal_errors(true); + libxml_clear_errors(); + + try { + $dom = new DOMDocument(); + $dom->loadXML($xmlString); + $errors = libxml_get_errors(); + libxml_use_internal_errors($prev); + } catch (Throwable $t) { + throw new ManifestDocumentException($t->getMessage(), 0, $t); + } - if (\count($errors) !== 0) { + if (count($errors) !== 0) { throw new ManifestDocumentLoadingException($errors); } @@ -94,7 +106,7 @@ class ManifestDocument { if (!$element instanceof DOMElement) { throw new ManifestDocumentException( - \sprintf('Element %s missing', $elementName) + sprintf('Element %s missing', $elementName) ); } diff --git a/Sources/vendor/phar-io/manifest/src/xml/ManifestElement.php b/Sources/vendor/phar-io/manifest/src/xml/ManifestElement.php index 1f57f547..461ba0c9 100644 --- a/Sources/vendor/phar-io/manifest/src/xml/ManifestElement.php +++ b/Sources/vendor/phar-io/manifest/src/xml/ManifestElement.php @@ -2,15 +2,17 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; use DOMElement; use DOMNodeList; +use function sprintf; class ManifestElement { public const XMLNS = 'https://phar.io/xml/manifest/1.0'; @@ -25,7 +27,7 @@ class ManifestElement { protected function getAttributeValue(string $name): string { if (!$this->element->hasAttribute($name)) { throw new ManifestElementException( - \sprintf( + sprintf( 'Attribute %s not set on element %s', $name, $this->element->localName @@ -36,12 +38,16 @@ class ManifestElement { return $this->element->getAttribute($name); } + protected function hasAttribute(string $name): bool { + return $this->element->hasAttribute($name); + } + protected function getChildByName(string $elementName): DOMElement { $element = $this->element->getElementsByTagNameNS(self::XMLNS, $elementName)->item(0); if (!$element instanceof DOMElement) { throw new ManifestElementException( - \sprintf('Element %s missing', $elementName) + sprintf('Element %s missing', $elementName) ); } @@ -53,7 +59,7 @@ class ManifestElement { if ($elementList->length === 0) { throw new ManifestElementException( - \sprintf('Element(s) %s missing', $elementName) + sprintf('Element(s) %s missing', $elementName) ); } diff --git a/Sources/vendor/phar-io/manifest/src/xml/PhpElement.php b/Sources/vendor/phar-io/manifest/src/xml/PhpElement.php index c5c906c9..9340c2e6 100644 --- a/Sources/vendor/phar-io/manifest/src/xml/PhpElement.php +++ b/Sources/vendor/phar-io/manifest/src/xml/PhpElement.php @@ -2,10 +2,11 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; diff --git a/Sources/vendor/phar-io/manifest/src/xml/RequiresElement.php b/Sources/vendor/phar-io/manifest/src/xml/RequiresElement.php index b7cd41ef..73ba54ca 100644 --- a/Sources/vendor/phar-io/manifest/src/xml/RequiresElement.php +++ b/Sources/vendor/phar-io/manifest/src/xml/RequiresElement.php @@ -2,10 +2,11 @@ /* * This file is part of PharIo\Manifest. * - * (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann + * Copyright (c) Arne Blankerts , Sebastian Heuer , Sebastian Bergmann and contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. + * */ namespace PharIo\Manifest; diff --git a/Sources/vendor/phpunit/php-code-coverage/ChangeLog-10.1.md b/Sources/vendor/phpunit/php-code-coverage/ChangeLog-10.1.md deleted file mode 100644 index b7299e7b..00000000 --- a/Sources/vendor/phpunit/php-code-coverage/ChangeLog-10.1.md +++ /dev/null @@ -1,97 +0,0 @@ -# ChangeLog - -All notable changes are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## [10.1.11] - 2023-12-21 - -### Changed - -* This component is now compatible with `nikic/php-parser` 5.0 - -## [10.1.10] - 2023-12-11 - -### Fixed - -* [#1023](https://github.com/sebastianbergmann/php-code-coverage/issues/1023): Branch Coverage and Path Coverage are not correctly reported for traits - -## [10.1.9] - 2023-11-23 - -### Fixed - -* [#1020](https://github.com/sebastianbergmann/php-code-coverage/issues/1020): Single line method is ignored - -## [10.1.8] - 2023-11-15 - -### Fixed - -* [#1018](https://github.com/sebastianbergmann/php-code-coverage/issues/1018): Interface methods are not ignored when their signature is split over multiple lines - -## [10.1.7] - 2023-10-04 - -### Fixed - -* [#1014](https://github.com/sebastianbergmann/php-code-coverage/issues/1014): Incorrect statement count in coverage report for constructor property promotion - -## [10.1.6] - 2023-09-19 - -### Fixed - -* [#1012](https://github.com/sebastianbergmann/php-code-coverage/issues/1012): Cobertura report pulls functions from report scope, not the individual element - -## [10.1.5] - 2023-09-12 - -### Changed - -* [#1011](https://github.com/sebastianbergmann/php-code-coverage/pull/1011): Avoid serialization of cache data in PHP report - -## [10.1.4] - 2023-08-31 - -### Fixed - -* Exceptions of type `SebastianBergmann\Template\Exception` are now properly handled - -## [10.1.3] - 2023-07-26 - -### Changed - -* The result of `CodeCoverage::getReport()` is now cached - -### Fixed - -* Static analysis cache keys do not include configuration settings that affect source code parsing -* The Clover, Cobertura, Crap4j, and PHP report writers no longer create a `php:` directory when they should write to `php://stdout`, for instance - -## [10.1.2] - 2023-05-22 - -### Fixed - -* [#998](https://github.com/sebastianbergmann/php-code-coverage/pull/998): Group Use Declarations are not handled properly - -## [10.1.1] - 2023-04-17 - -### Fixed - -* [#994](https://github.com/sebastianbergmann/php-code-coverage/issues/994): Argument `$linesToBeIgnored` of `CodeCoverage::stop()` has no effect for files that are not executed at all - -## [10.1.0] - 2023-04-13 - -### Added - -* [#982](https://github.com/sebastianbergmann/php-code-coverage/issues/982): Add option to ignore lines from code coverage - -### Deprecated - -* The `SebastianBergmann\CodeCoverage\Filter::includeDirectory()`, `SebastianBergmann\CodeCoverage\Filter::excludeDirectory()`, and `SebastianBergmann\CodeCoverage\Filter::excludeFile()` methods are now deprecated - -[10.1.11]: https://github.com/sebastianbergmann/php-code-coverage/compare/10.1.10...10.1.11 -[10.1.10]: https://github.com/sebastianbergmann/php-code-coverage/compare/10.1.9...10.1.10 -[10.1.9]: https://github.com/sebastianbergmann/php-code-coverage/compare/10.1.8...10.1.9 -[10.1.8]: https://github.com/sebastianbergmann/php-code-coverage/compare/10.1.7...10.1.8 -[10.1.7]: https://github.com/sebastianbergmann/php-code-coverage/compare/10.1.6...10.1.7 -[10.1.6]: https://github.com/sebastianbergmann/php-code-coverage/compare/10.1.5...10.1.6 -[10.1.5]: https://github.com/sebastianbergmann/php-code-coverage/compare/10.1.4...10.1.5 -[10.1.4]: https://github.com/sebastianbergmann/php-code-coverage/compare/10.1.3...10.1.4 -[10.1.3]: https://github.com/sebastianbergmann/php-code-coverage/compare/10.1.2...10.1.3 -[10.1.2]: https://github.com/sebastianbergmann/php-code-coverage/compare/10.1.1...10.1.2 -[10.1.1]: https://github.com/sebastianbergmann/php-code-coverage/compare/10.1.0...10.1.1 -[10.1.0]: https://github.com/sebastianbergmann/php-code-coverage/compare/10.0.2...10.1.0 diff --git a/Sources/vendor/phpunit/php-code-coverage/LICENSE b/Sources/vendor/phpunit/php-code-coverage/LICENSE index 80e09f7b..89f05309 100644 --- a/Sources/vendor/phpunit/php-code-coverage/LICENSE +++ b/Sources/vendor/phpunit/php-code-coverage/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2009-2023, Sebastian Bergmann +Copyright (c) 2009-2024, Sebastian Bergmann All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Sources/vendor/phpunit/php-code-coverage/composer.json b/Sources/vendor/phpunit/php-code-coverage/composer.json index 6e2ed05e..b4725422 100644 --- a/Sources/vendor/phpunit/php-code-coverage/composer.json +++ b/Sources/vendor/phpunit/php-code-coverage/composer.json @@ -22,29 +22,29 @@ }, "config": { "platform": { - "php": "8.1.0" + "php": "8.2.0" }, "optimize-autoloader": true, "sort-packages": true }, "prefer-stable": true, "require": { - "php": ">=8.1", + "php": ">=8.2", "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.18 || ^5.0", - "phpunit/php-file-iterator": "^4.0", - "phpunit/php-text-template": "^3.0", - "sebastian/code-unit-reverse-lookup": "^3.0", - "sebastian/complexity": "^3.0", - "sebastian/environment": "^6.0", - "sebastian/lines-of-code": "^2.0", - "sebastian/version": "^4.0", + "nikic/php-parser": "^5.0", + "phpunit/php-file-iterator": "^5.0", + "phpunit/php-text-template": "^4.0", + "sebastian/code-unit-reverse-lookup": "^4.0", + "sebastian/complexity": "^4.0", + "sebastian/environment": "^7.0", + "sebastian/lines-of-code": "^3.0", + "sebastian/version": "^5.0", "theseer/tokenizer": "^1.2.0" }, "require-dev": { - "phpunit/phpunit": "^10.1" + "phpunit/phpunit": "^11.0" }, "suggest": { "ext-pcov": "PHP extension that provides line coverage", @@ -63,7 +63,7 @@ }, "extra": { "branch-alias": { - "dev-main": "10.1-dev" + "dev-main": "11.0-dev" } } } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/CodeCoverage.php b/Sources/vendor/phpunit/php-code-coverage/src/CodeCoverage.php index f22b5f76..805fd822 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/CodeCoverage.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/CodeCoverage.php @@ -160,7 +160,7 @@ final class CodeCoverage $this->tests = $tests; } - public function start(string $id, TestSize $size = null, bool $clear = false): void + public function start(string $id, ?TestSize $size = null, bool $clear = false): void { if ($clear) { $this->clear(); @@ -177,13 +177,13 @@ final class CodeCoverage /** * @psalm-param array> $linesToBeIgnored */ - public function stop(bool $append = true, TestStatus $status = null, array|false $linesToBeCovered = [], array $linesToBeUsed = [], array $linesToBeIgnored = []): RawCodeCoverageData + public function stop(bool $append = true, ?TestStatus $status = null, array|false $linesToBeCovered = [], array $linesToBeUsed = [], array $linesToBeIgnored = []): RawCodeCoverageData { $data = $this->driver->stop(); $this->linesToBeIgnored = array_merge_recursive( $this->linesToBeIgnored, - $linesToBeIgnored + $linesToBeIgnored, ); $this->append($data, null, $append, $status, $linesToBeCovered, $linesToBeUsed, $linesToBeIgnored); @@ -202,7 +202,7 @@ final class CodeCoverage * @throws TestIdMissingException * @throws UnintentionallyCoveredCodeException */ - public function append(RawCodeCoverageData $rawData, string $id = null, bool $append = true, TestStatus $status = null, array|false $linesToBeCovered = [], array $linesToBeUsed = [], array $linesToBeIgnored = []): void + public function append(RawCodeCoverageData $rawData, ?string $id = null, bool $append = true, ?TestStatus $status = null, array|false $linesToBeCovered = [], array $linesToBeUsed = [], array $linesToBeIgnored = []): void { if ($id === null) { $id = $this->currentId; @@ -246,7 +246,7 @@ final class CodeCoverage $rawData, $linesToBeCovered, $linesToBeUsed, - $size + $size, ); if (empty($rawData->lineCoverage())) { @@ -267,7 +267,7 @@ final class CodeCoverage public function merge(self $that): void { $this->filter->includeFiles( - $that->filter()->files() + $that->filter()->files(), ); $this->data->merge($that->data); @@ -342,7 +342,7 @@ final class CodeCoverage { if (!$this->cachesStaticAnalysis()) { throw new StaticAnalysisCacheNotConfiguredException( - 'The static analysis cache is not configured' + 'The static analysis cache is not configured', ); } @@ -436,12 +436,12 @@ final class CodeCoverage $data->keepLineCoverageDataOnlyForLines( $filename, - array_keys($linesToBranchMap) + array_keys($linesToBranchMap), ); $data->markExecutableLineByBranch( $filename, - $linesToBranchMap + $linesToBranchMap, ); } } @@ -459,13 +459,13 @@ final class CodeCoverage if (isset($linesToBeIgnored[$filename])) { $data->removeCoverageDataForLines( $filename, - $linesToBeIgnored[$filename] + $linesToBeIgnored[$filename], ); } $data->removeCoverageDataForLines( $filename, - $this->analyser()->ignoredLinesFor($filename) + $this->analyser()->ignoredLinesFor($filename), ); } } @@ -477,7 +477,7 @@ final class CodeCoverage { $uncoveredFiles = array_diff( $this->filter->files(), - $this->data->coveredFiles() + $this->data->coveredFiles(), ); foreach ($uncoveredFiles as $uncoveredFile) { @@ -485,10 +485,10 @@ final class CodeCoverage $this->append( RawCodeCoverageData::fromUncoveredFile( $uncoveredFile, - $this->analyser() + $this->analyser(), ), self::UNCOVERED_FILES, - linesToBeIgnored: $this->linesToBeIgnored + linesToBeIgnored: $this->linesToBeIgnored, ); } } @@ -502,7 +502,7 @@ final class CodeCoverage { $allowedLines = $this->getAllowedLines( $linesToBeCovered, - $linesToBeUsed + $linesToBeUsed, ); $unintentionallyCoveredUnits = []; @@ -519,7 +519,7 @@ final class CodeCoverage if (!empty($unintentionallyCoveredUnits)) { throw new UnintentionallyCoveredCodeException( - $unintentionallyCoveredUnits + $unintentionallyCoveredUnits, ); } } @@ -535,7 +535,7 @@ final class CodeCoverage $allowedLines[$file] = array_merge( $allowedLines[$file], - $linesToBeCovered[$file] + $linesToBeCovered[$file], ); } @@ -546,13 +546,13 @@ final class CodeCoverage $allowedLines[$file] = array_merge( $allowedLines[$file], - $linesToBeUsed[$file] + $linesToBeUsed[$file], ); } foreach (array_keys($allowedLines) as $file) { $allowedLines[$file] = array_flip( - array_unique($allowedLines[$file]) + array_unique($allowedLines[$file]), ); } @@ -592,7 +592,7 @@ final class CodeCoverage throw new ReflectionException( $e->getMessage(), $e->getCode(), - $e + $e, ); } @@ -614,7 +614,7 @@ final class CodeCoverage $this->analyser = new ParsingFileAnalyser( $this->useAnnotationsForIgnoringCode, - $this->ignoreDeprecatedCode + $this->ignoreDeprecatedCode, ); if ($this->cachesStaticAnalysis()) { @@ -622,7 +622,7 @@ final class CodeCoverage $this->cacheDirectory, $this->analyser, $this->useAnnotationsForIgnoringCode, - $this->ignoreDeprecatedCode + $this->ignoreDeprecatedCode, ); } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Data/ProcessedCodeCoverageData.php b/Sources/vendor/phpunit/php-code-coverage/src/Data/ProcessedCodeCoverageData.php index 550c037a..28834c24 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Data/ProcessedCodeCoverageData.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Data/ProcessedCodeCoverageData.php @@ -164,8 +164,8 @@ final class ProcessedCodeCoverageData $compareLineNumbers = array_unique( array_merge( array_keys($this->lineCoverage[$file]), - array_keys($newData->lineCoverage[$file]) - ) + array_keys($newData->lineCoverage[$file]), + ), ); foreach ($compareLineNumbers as $line) { @@ -176,7 +176,7 @@ final class ProcessedCodeCoverageData $this->lineCoverage[$file][$line] = $newData->lineCoverage[$file][$line]; } elseif ($thatPriority === $thisPriority && is_array($this->lineCoverage[$file][$line])) { $this->lineCoverage[$file][$line] = array_unique( - array_merge($this->lineCoverage[$file][$line], $newData->lineCoverage[$file][$line]) + array_merge($this->lineCoverage[$file][$line], $newData->lineCoverage[$file][$line]), ); } } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Data/RawCodeCoverageData.php b/Sources/vendor/phpunit/php-code-coverage/src/Data/RawCodeCoverageData.php index da7522df..49cefbbe 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Data/RawCodeCoverageData.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Data/RawCodeCoverageData.php @@ -144,7 +144,7 @@ final class RawCodeCoverageData $this->lineCoverage[$filename] = array_intersect_key( $this->lineCoverage[$filename], - array_flip($lines) + array_flip($lines), ); } @@ -223,7 +223,7 @@ final class RawCodeCoverageData $this->lineCoverage[$filename] = array_diff_key( $this->lineCoverage[$filename], - array_flip($lines) + array_flip($lines), ); if (isset($this->functionCoverage[$filename])) { diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Driver/Driver.php b/Sources/vendor/phpunit/php-code-coverage/src/Driver/Driver.php index 31c4e644..cfbed9cf 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Driver/Driver.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Driver/Driver.php @@ -75,8 +75,8 @@ abstract class Driver throw new BranchAndPathCoverageNotSupportedException( sprintf( '%s does not support branch and path coverage', - $this->nameAndVersion() - ) + $this->nameAndVersion(), + ), ); } @@ -107,8 +107,8 @@ abstract class Driver throw new DeadCodeDetectionNotSupportedException( sprintf( '%s does not support dead code detection', - $this->nameAndVersion() - ) + $this->nameAndVersion(), + ), ); } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Driver/XdebugDriver.php b/Sources/vendor/phpunit/php-code-coverage/src/Driver/XdebugDriver.php index 3123de6e..37f4572d 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Driver/XdebugDriver.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Driver/XdebugDriver.php @@ -75,7 +75,7 @@ final class XdebugDriver extends Driver xdebug_set_filter( XDEBUG_FILTER_CODE_COVERAGE, XDEBUG_PATH_INCLUDE, - $filter->files() + $filter->files(), ); } } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Filter.php b/Sources/vendor/phpunit/php-code-coverage/src/Filter.php index f51eb3e1..975b28f1 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Filter.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Filter.php @@ -14,7 +14,6 @@ use function is_file; use function realpath; use function str_contains; use function str_starts_with; -use SebastianBergmann\FileIterator\Facade as FileIteratorFacade; final class Filter { @@ -28,16 +27,6 @@ final class Filter */ private array $isFileCache = []; - /** - * @deprecated - */ - public function includeDirectory(string $directory, string $suffix = '.php', string $prefix = ''): void - { - foreach ((new FileIteratorFacade)->getFilesAsArray($directory, $suffix, $prefix) as $file) { - $this->includeFile($file); - } - } - /** * @psalm-param list $files */ @@ -59,30 +48,6 @@ final class Filter $this->files[$filename] = true; } - /** - * @deprecated - */ - public function excludeDirectory(string $directory, string $suffix = '.php', string $prefix = ''): void - { - foreach ((new FileIteratorFacade)->getFilesAsArray($directory, $suffix, $prefix) as $file) { - $this->excludeFile($file); - } - } - - /** - * @deprecated - */ - public function excludeFile(string $filename): void - { - $filename = realpath($filename); - - if (!$filename || !isset($this->files[$filename])) { - return; - } - - unset($this->files[$filename]); - } - public function isFile(string $filename): bool { if (isset($this->isFileCache[$filename])) { diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Node/AbstractNode.php b/Sources/vendor/phpunit/php-code-coverage/src/Node/AbstractNode.php index 214258e7..3f21a50e 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Node/AbstractNode.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Node/AbstractNode.php @@ -33,7 +33,7 @@ abstract class AbstractNode implements Countable private readonly ?AbstractNode $parent; private string $id; - public function __construct(string $name, self $parent = null) + public function __construct(string $name, ?self $parent = null) { if (str_ends_with($name, DIRECTORY_SEPARATOR)) { $name = substr($name, 0, -1); @@ -131,7 +131,7 @@ abstract class AbstractNode implements Countable { return Percentage::fromFractionAndTotal( $this->numberOfExecutedBranches(), - $this->numberOfExecutableBranches() + $this->numberOfExecutableBranches(), ); } @@ -139,7 +139,7 @@ abstract class AbstractNode implements Countable { return Percentage::fromFractionAndTotal( $this->numberOfExecutedPaths(), - $this->numberOfExecutablePaths() + $this->numberOfExecutablePaths(), ); } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Node/Builder.php b/Sources/vendor/phpunit/php-code-coverage/src/Node/Builder.php index a2885752..5ed6f866 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Node/Builder.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Node/Builder.php @@ -45,13 +45,13 @@ final class Builder $commonPath = $this->reducePaths($data); $root = new Directory( $commonPath, - null + null, ); $this->addItems( $root, $this->buildDirectoryStructure($data), - $coverage->getTests() + $coverage->getTests(), ); return $root; @@ -80,8 +80,8 @@ final class Builder $this->analyser->classesIn($filename), $this->analyser->traitsIn($filename), $this->analyser->functionsIn($filename), - $this->analyser->linesOfCodeFor($filename) - ) + $this->analyser->linesOfCodeFor($filename), + ), ); } } else { diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Node/CrapIndex.php b/Sources/vendor/phpunit/php-code-coverage/src/Node/CrapIndex.php index 8992346c..7173276c 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Node/CrapIndex.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Node/CrapIndex.php @@ -37,7 +37,7 @@ final class CrapIndex return sprintf( '%01.2F', - $this->cyclomaticComplexity ** 2 * (1 - $this->codeCoverage / 100) ** 3 + $this->cyclomaticComplexity + $this->cyclomaticComplexity ** 2 * (1 - $this->codeCoverage / 100) ** 3 + $this->cyclomaticComplexity, ); } } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Node/Directory.php b/Sources/vendor/phpunit/php-code-coverage/src/Node/Directory.php index 8e71f646..176318bd 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Node/Directory.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Node/Directory.php @@ -76,7 +76,7 @@ final class Directory extends AbstractNode implements IteratorAggregate { return new RecursiveIteratorIterator( new Iterator($this), - RecursiveIteratorIterator::SELF_FIRST + RecursiveIteratorIterator::SELF_FIRST, ); } @@ -122,7 +122,7 @@ final class Directory extends AbstractNode implements IteratorAggregate foreach ($this->children as $child) { $this->classes = array_merge( $this->classes, - $child->classes() + $child->classes(), ); } } @@ -138,7 +138,7 @@ final class Directory extends AbstractNode implements IteratorAggregate foreach ($this->children as $child) { $this->traits = array_merge( $this->traits, - $child->traits() + $child->traits(), ); } } @@ -154,7 +154,7 @@ final class Directory extends AbstractNode implements IteratorAggregate foreach ($this->children as $child) { $this->functions = array_merge( $this->functions, - $child->functions() + $child->functions(), ); } } @@ -177,8 +177,8 @@ final class Directory extends AbstractNode implements IteratorAggregate foreach ($this->children as $child) { $childLinesOfCode = $child->linesOfCode(); - $this->linesOfCode['linesOfCode'] += $childLinesOfCode['linesOfCode']; - $this->linesOfCode['commentLinesOfCode'] += $childLinesOfCode['commentLinesOfCode']; + $this->linesOfCode['linesOfCode'] += $childLinesOfCode['linesOfCode']; + $this->linesOfCode['commentLinesOfCode'] += $childLinesOfCode['commentLinesOfCode']; $this->linesOfCode['nonCommentLinesOfCode'] += $childLinesOfCode['nonCommentLinesOfCode']; } } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Node/File.php b/Sources/vendor/phpunit/php-code-coverage/src/Node/File.php index 120ebd27..7029e8a5 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Node/File.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Node/File.php @@ -487,14 +487,14 @@ final class File extends AbstractNode $this->classes[$className]['methods'][$methodName] = $methodData; $this->classes[$className]['executableBranches'] += $methodData['executableBranches']; - $this->classes[$className]['executedBranches'] += $methodData['executedBranches']; - $this->classes[$className]['executablePaths'] += $methodData['executablePaths']; - $this->classes[$className]['executedPaths'] += $methodData['executedPaths']; + $this->classes[$className]['executedBranches'] += $methodData['executedBranches']; + $this->classes[$className]['executablePaths'] += $methodData['executablePaths']; + $this->classes[$className]['executedPaths'] += $methodData['executedPaths']; $this->numExecutableBranches += $methodData['executableBranches']; - $this->numExecutedBranches += $methodData['executedBranches']; - $this->numExecutablePaths += $methodData['executablePaths']; - $this->numExecutedPaths += $methodData['executedPaths']; + $this->numExecutedBranches += $methodData['executedBranches']; + $this->numExecutablePaths += $methodData['executablePaths']; + $this->numExecutedPaths += $methodData['executedPaths']; foreach (range($method['startLine'], $method['endLine']) as $lineNumber) { $this->codeUnitsByLine[$lineNumber] = [ @@ -536,14 +536,14 @@ final class File extends AbstractNode $this->traits[$traitName]['methods'][$methodName] = $methodData; $this->traits[$traitName]['executableBranches'] += $methodData['executableBranches']; - $this->traits[$traitName]['executedBranches'] += $methodData['executedBranches']; - $this->traits[$traitName]['executablePaths'] += $methodData['executablePaths']; - $this->traits[$traitName]['executedPaths'] += $methodData['executedPaths']; + $this->traits[$traitName]['executedBranches'] += $methodData['executedBranches']; + $this->traits[$traitName]['executablePaths'] += $methodData['executablePaths']; + $this->traits[$traitName]['executedPaths'] += $methodData['executedPaths']; $this->numExecutableBranches += $methodData['executableBranches']; - $this->numExecutedBranches += $methodData['executedBranches']; - $this->numExecutablePaths += $methodData['executablePaths']; - $this->numExecutedPaths += $methodData['executedPaths']; + $this->numExecutedBranches += $methodData['executedBranches']; + $this->numExecutablePaths += $methodData['executablePaths']; + $this->numExecutedPaths += $methodData['executedPaths']; foreach (range($method['startLine'], $method['endLine']) as $lineNumber) { $this->codeUnitsByLine[$lineNumber] = [ @@ -587,7 +587,7 @@ final class File extends AbstractNode if (isset($this->functionCoverageData[$functionName]['branches'])) { $this->functions[$functionName]['executableBranches'] = count( - $this->functionCoverageData[$functionName]['branches'] + $this->functionCoverageData[$functionName]['branches'], ); $this->functions[$functionName]['executedBranches'] = count( @@ -596,14 +596,14 @@ final class File extends AbstractNode static function (array $branch) { return (bool) $branch['hit']; - } - ) + }, + ), ); } if (isset($this->functionCoverageData[$functionName]['paths'])) { $this->functions[$functionName]['executablePaths'] = count( - $this->functionCoverageData[$functionName]['paths'] + $this->functionCoverageData[$functionName]['paths'], ); $this->functions[$functionName]['executedPaths'] = count( @@ -612,15 +612,15 @@ final class File extends AbstractNode static function (array $path) { return (bool) $path['hit']; - } - ) + }, + ), ); } $this->numExecutableBranches += $this->functions[$functionName]['executableBranches']; - $this->numExecutedBranches += $this->functions[$functionName]['executedBranches']; - $this->numExecutablePaths += $this->functions[$functionName]['executablePaths']; - $this->numExecutedPaths += $this->functions[$functionName]['executedPaths']; + $this->numExecutedBranches += $this->functions[$functionName]['executedBranches']; + $this->numExecutablePaths += $this->functions[$functionName]['executablePaths']; + $this->numExecutedPaths += $this->functions[$functionName]['executedPaths']; } } @@ -653,7 +653,7 @@ final class File extends AbstractNode if (isset($this->functionCoverageData[$key]['branches'])) { $methodData['executableBranches'] = count( - $this->functionCoverageData[$key]['branches'] + $this->functionCoverageData[$key]['branches'], ); $methodData['executedBranches'] = count( @@ -662,14 +662,14 @@ final class File extends AbstractNode static function (array $branch) { return (bool) $branch['hit']; - } - ) + }, + ), ); } if (isset($this->functionCoverageData[$key]['paths'])) { $methodData['executablePaths'] = count( - $this->functionCoverageData[$key]['paths'] + $this->functionCoverageData[$key]['paths'], ); $methodData['executedPaths'] = count( @@ -678,8 +678,8 @@ final class File extends AbstractNode static function (array $path) { return (bool) $path['hit']; - } - ) + }, + ), ); } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Report/Clover.php b/Sources/vendor/phpunit/php-code-coverage/src/Report/Clover.php index 08ba148b..8a24236f 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Report/Clover.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Report/Clover.php @@ -16,7 +16,7 @@ use function is_string; use function ksort; use function max; use function range; -use function strpos; +use function str_contains; use function time; use DOMDocument; use SebastianBergmann\CodeCoverage\CodeCoverage; @@ -79,7 +79,7 @@ final class Clover } $classMethods++; - $classStatements += $method['executableLines']; + $classStatements += $method['executableLines']; $coveredClassStatements += $method['executedLines']; if ($method['coverage'] == 100) { @@ -115,28 +115,28 @@ final class Clover if (!empty($class['package']['fullPackage'])) { $xmlClass->setAttribute( 'fullPackage', - $class['package']['fullPackage'] + $class['package']['fullPackage'], ); } if (!empty($class['package']['category'])) { $xmlClass->setAttribute( 'category', - $class['package']['category'] + $class['package']['category'], ); } if (!empty($class['package']['package'])) { $xmlClass->setAttribute( 'package', - $class['package']['package'] + $class['package']['package'], ); } if (!empty($class['package']['subpackage'])) { $xmlClass->setAttribute( 'subpackage', - $class['package']['subpackage'] + $class['package']['subpackage'], ); } @@ -213,7 +213,7 @@ final class Clover } else { if (!isset($packages[$namespace])) { $packages[$namespace] = $xmlDocument->createElement( - 'package' + 'package', ); $packages[$namespace]->setAttribute('name', $namespace); @@ -244,7 +244,7 @@ final class Clover $buffer = $xmlDocument->saveXML(); if ($target !== null) { - if (!strpos($target, '://') !== false) { + if (!str_contains($target, '://')) { Filesystem::createDirectory(dirname($target)); } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Report/Cobertura.php b/Sources/vendor/phpunit/php-code-coverage/src/Report/Cobertura.php index 0ac267a0..7ff5582d 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Report/Cobertura.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Report/Cobertura.php @@ -15,8 +15,8 @@ use function dirname; use function file_put_contents; use function preg_match; use function range; +use function str_contains; use function str_replace; -use function strpos; use function time; use DOMImplementation; use SebastianBergmann\CodeCoverage\CodeCoverage; @@ -40,7 +40,7 @@ final class Cobertura $documentType = $implementation->createDocumentType( 'coverage', '', - 'http://cobertura.sourceforge.net/xml/coverage-04.dtd' + 'http://cobertura.sourceforge.net/xml/coverage-04.dtd', ); $document = $implementation->createDocument('', '', $documentType); @@ -114,7 +114,7 @@ final class Cobertura $coverageData = $item->lineCoverageData(); foreach ($classes as $className => $class) { - $complexity += $class['ccn']; + $complexity += $class['ccn']; $packageComplexity += $class['ccn']; if (!empty($class['package']['namespace'])) { @@ -225,22 +225,22 @@ final class Cobertura continue; } - $complexity += $function['ccn']; - $packageComplexity += $function['ccn']; + $complexity += $function['ccn']; + $packageComplexity += $function['ccn']; $functionsComplexity += $function['ccn']; $linesValid = $function['executableLines']; $linesCovered = $function['executedLines']; $lineRate = $linesValid === 0 ? 0 : ($linesCovered / $linesValid); - $functionsLinesValid += $linesValid; + $functionsLinesValid += $linesValid; $functionsLinesCovered += $linesCovered; $branchesValid = $function['executableBranches']; $branchesCovered = $function['executedBranches']; $branchRate = $branchesValid === 0 ? 0 : ($branchesCovered / $branchesValid); - $functionsBranchesValid += $branchesValid; + $functionsBranchesValid += $branchesValid; $functionsBranchesCovered += $branchesValid; $methodElement = $document->createElement('method'); @@ -295,7 +295,7 @@ final class Cobertura $buffer = $document->saveXML(); if ($target !== null) { - if (!strpos($target, '://') !== false) { + if (!str_contains($target, '://')) { Filesystem::createDirectory(dirname($target)); } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Report/Crap4j.php b/Sources/vendor/phpunit/php-code-coverage/src/Report/Crap4j.php index 305e7e12..cb1bde60 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Report/Crap4j.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Report/Crap4j.php @@ -15,7 +15,7 @@ use function file_put_contents; use function htmlspecialchars; use function is_string; use function round; -use function strpos; +use function str_contains; use DOMDocument; use SebastianBergmann\CodeCoverage\CodeCoverage; use SebastianBergmann\CodeCoverage\Driver\WriteOperationFailedException; @@ -73,7 +73,7 @@ final class Crap4j foreach ($class['methods'] as $methodName => $method) { $crapLoad = $this->crapLoad((float) $method['crap'], $method['ccn'], $method['coverage']); - $fullCrap += $method['crap']; + $fullCrap += $method['crap']; $fullCrapLoad += $crapLoad; $fullMethodCount++; @@ -122,7 +122,7 @@ final class Crap4j $buffer = $document->saveXML(); if ($target !== null) { - if (!strpos($target, '://') !== false) { + if (!str_contains($target, '://')) { Filesystem::createDirectory(dirname($target)); } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Report/Html/CustomCssFile.php b/Sources/vendor/phpunit/php-code-coverage/src/Report/Html/CustomCssFile.php index 2e0a4fef..70a7230c 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Report/Html/CustomCssFile.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Report/Html/CustomCssFile.php @@ -31,7 +31,7 @@ final class CustomCssFile { if (!is_file($path)) { throw new InvalidArgumentException( - '$path does not exist' + '$path does not exist', ); } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Report/Html/Facade.php b/Sources/vendor/phpunit/php-code-coverage/src/Report/Html/Facade.php index ee8f1c31..b376eb5d 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Report/Html/Facade.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Report/Html/Facade.php @@ -50,7 +50,7 @@ final class Facade $this->generator, $date, $this->thresholds, - $coverage->collectsBranchAndPathCoverage() + $coverage->collectsBranchAndPathCoverage(), ); $directory = new Directory( @@ -58,7 +58,7 @@ final class Facade $this->generator, $date, $this->thresholds, - $coverage->collectsBranchAndPathCoverage() + $coverage->collectsBranchAndPathCoverage(), ); $file = new File( @@ -66,7 +66,7 @@ final class Facade $this->generator, $date, $this->thresholds, - $coverage->collectsBranchAndPathCoverage() + $coverage->collectsBranchAndPathCoverage(), ); $directory->render($report, $target . 'index.html'); @@ -126,7 +126,7 @@ final class Facade 'success-high' => $this->colors->successHigh(), 'warning' => $this->colors->warning(), 'danger' => $this->colors->danger(), - ] + ], ); try { @@ -135,7 +135,7 @@ final class Facade throw new FileCouldNotBeWrittenException( $e->getMessage(), $e->getCode(), - $e + $e, ); } } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer.php b/Sources/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer.php index cfc403e8..6ce7b8fe 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer.php @@ -55,7 +55,7 @@ abstract class Renderer $data['numClasses']; $classesBar = $this->coverageBar( - $data['testedClassesPercent'] + $data['testedClassesPercent'], ); } else { $classesLevel = ''; @@ -71,7 +71,7 @@ abstract class Renderer $data['numMethods']; $methodsBar = $this->coverageBar( - $data['testedMethodsPercent'] + $data['testedMethodsPercent'], ); } else { $methodsLevel = ''; @@ -87,7 +87,7 @@ abstract class Renderer $data['numExecutableLines']; $linesBar = $this->coverageBar( - $data['linesExecutedPercent'] + $data['linesExecutedPercent'], ); } else { $linesLevel = ''; @@ -103,7 +103,7 @@ abstract class Renderer $data['numExecutablePaths']; $pathsBar = $this->coverageBar( - $data['pathsExecutedPercent'] + $data['pathsExecutedPercent'], ); } else { $pathsLevel = ''; @@ -119,7 +119,7 @@ abstract class Renderer $data['numExecutableBranches']; $branchesBar = $this->coverageBar( - $data['branchesExecutedPercent'] + $data['branchesExecutedPercent'], ); } else { $branchesLevel = ''; @@ -153,7 +153,7 @@ abstract class Renderer 'classes_tested_percent' => $data['testedClassesPercentAsString'] ?? '', 'classes_level' => $classesLevel, 'classes_number' => $classesNumber, - ] + ], ); return $template->render(); @@ -173,7 +173,7 @@ abstract class Renderer 'generator' => $this->generator, 'low_upper_bound' => $this->thresholds->lowUpperBound(), 'high_lower_bound' => $this->thresholds->highLowerBound(), - ] + ], ); } @@ -196,7 +196,7 @@ abstract class Renderer if ($step !== $node) { $breadcrumbs .= $this->inactiveBreadcrumb( $step, - array_pop($pathToRoot) + array_pop($pathToRoot), ); } else { $breadcrumbs .= $this->activeBreadcrumb($step); @@ -210,7 +210,7 @@ abstract class Renderer { $buffer = sprintf( ' ' . "\n", - $node->name() + $node->name(), ); if ($node instanceof DirectoryNode) { @@ -225,7 +225,7 @@ abstract class Renderer return sprintf( ' ' . "\n", $pathToRoot, - $node->name() + $node->name(), ); } @@ -250,7 +250,7 @@ abstract class Renderer $template = new Template( $templateName, '{{', - '}}' + '}}', ); $template->setVar(['level' => $level, 'percent' => sprintf('%.2F', $percent)]); @@ -280,7 +280,7 @@ abstract class Renderer '%s %s', $runtime->getVendorUrl(), $runtime->getName(), - $runtime->getVersion() + $runtime->getVersion(), ); } } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Dashboard.php b/Sources/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Dashboard.php index 4cb220e8..cf21cf9d 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Dashboard.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Dashboard.php @@ -36,7 +36,7 @@ final class Dashboard extends Renderer $template = new Template( $templateName, '{{', - '}}' + '}}', ); $this->setCommonTemplateVariables($template, $node); @@ -57,7 +57,7 @@ final class Dashboard extends Renderer 'complexity_method' => $complexity['method'], 'class_coverage_distribution' => $coverageDistribution['class'], 'method_coverage_distribution' => $coverageDistribution['method'], - ] + ], ); try { @@ -66,7 +66,7 @@ final class Dashboard extends Renderer throw new FileCouldNotBeWrittenException( $e->getMessage(), $e->getCode(), - $e + $e, ); } } @@ -76,7 +76,7 @@ final class Dashboard extends Renderer return sprintf( ' ' . "\n" . ' ' . "\n", - $node->name() + $node->name(), ); } @@ -99,7 +99,7 @@ final class Dashboard extends Renderer sprintf( '%s', str_replace($baseLink, '', $method['link']), - $methodName + $methodName, ), ]; } @@ -110,7 +110,7 @@ final class Dashboard extends Renderer sprintf( '%s', str_replace($baseLink, '', $class['link']), - $className + $className, ), ]; } @@ -222,7 +222,7 @@ final class Dashboard extends Renderer ' %s%d%%' . "\n", str_replace($baseLink, '', $classes[$className]['link']), $className, - $coverage + $coverage, ); } @@ -234,7 +234,7 @@ final class Dashboard extends Renderer str_replace($baseLink, '', $classes[$class]['methods'][$method]['link']), $methodName, $method, - $coverage + $coverage, ); } @@ -277,7 +277,7 @@ final class Dashboard extends Renderer ' %s%d' . "\n", str_replace($baseLink, '', $classes[$className]['link']), $className, - $crap + $crap, ); } @@ -289,7 +289,7 @@ final class Dashboard extends Renderer str_replace($baseLink, '', $classes[$class]['methods'][$method]['link']), $methodName, $method, - $crap + $crap, ); } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Directory.php b/Sources/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Directory.php index c6f885f2..1d7334b3 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Directory.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Directory.php @@ -44,7 +44,7 @@ final class Directory extends Renderer [ 'id' => $node->id(), 'items' => $items, - ] + ], ); try { @@ -53,7 +53,7 @@ final class Directory extends Renderer throw new FileCouldNotBeWrittenException( $e->getMessage(), $e->getCode(), - $e + $e, ); } } @@ -93,7 +93,7 @@ final class Directory extends Renderer $data['name'] = sprintf( '%s', $node->name(), - $node->name() + $node->name(), ); $data['icon'] = sprintf('', $up); } elseif ($this->hasBranchCoverage) { @@ -102,13 +102,13 @@ final class Directory extends Renderer $node->name(), $node->name(), $node->name(), - $node->name() + $node->name(), ); } else { $data['name'] = sprintf( '%s', $node->name(), - $node->name() + $node->name(), ); } } @@ -117,7 +117,7 @@ final class Directory extends Renderer return $this->renderItemTemplate( new Template($templateName, '{{', '}}'), - $data + $data, ); } } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/File.php b/Sources/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/File.php index eb98623d..005c1db3 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/File.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/File.php @@ -196,7 +196,7 @@ final class File extends Renderer 'lines' => $this->renderSourceWithLineCoverage($node), 'legend' => '

Covered by small (and larger) testsCovered by medium (and large) testsCovered by large tests (and tests of unknown size)Not coveredNot coverable

', 'structure' => '', - ] + ], ); try { @@ -205,7 +205,7 @@ final class File extends Renderer throw new FileCouldNotBeWrittenException( $e->getMessage(), $e->getCode(), - $e + $e, ); } @@ -216,7 +216,7 @@ final class File extends Renderer 'lines' => $this->renderSourceWithBranchCoverage($node), 'legend' => '

Fully coveredPartially coveredNot covered

', 'structure' => $this->renderBranchStructure($node), - ] + ], ); try { @@ -225,7 +225,7 @@ final class File extends Renderer throw new FileCouldNotBeWrittenException( $e->getMessage(), $e->getCode(), - $e + $e, ); } @@ -235,7 +235,7 @@ final class File extends Renderer 'lines' => $this->renderSourceWithPathCoverage($node), 'legend' => '

Fully coveredPartially coveredNot covered

', 'structure' => $this->renderPathStructure($node), - ] + ], ); try { @@ -244,7 +244,7 @@ final class File extends Renderer throw new FileCouldNotBeWrittenException( $e->getMessage(), $e->getCode(), - $e + $e, ); } } @@ -259,7 +259,7 @@ final class File extends Renderer $methodItemTemplate = new Template( $methodTemplateName, '{{', - '}}' + '}}', ); $items = $this->renderItemTemplate( @@ -287,24 +287,24 @@ final class File extends Renderer 'testedClassesPercent' => $node->percentageOfTestedClassesAndTraits()->asFloat(), 'testedClassesPercentAsString' => $node->percentageOfTestedClassesAndTraits()->asString(), 'crap' => 'CRAP', - ] + ], ); $items .= $this->renderFunctionItems( $node->functions(), - $methodItemTemplate + $methodItemTemplate, ); $items .= $this->renderTraitOrClassItems( $node->traits(), $template, - $methodItemTemplate + $methodItemTemplate, ); $items .= $this->renderTraitOrClassItems( $node->classes(), $template, - $methodItemTemplate + $methodItemTemplate, ); return $items; @@ -337,15 +337,15 @@ final class File extends Renderer $numTestedClasses = $numTestedMethods === $numMethods ? 1 : 0; $linesExecutedPercentAsString = Percentage::fromFractionAndTotal( $item['executedLines'], - $item['executableLines'] + $item['executableLines'], )->asString(); $branchesExecutedPercentAsString = Percentage::fromFractionAndTotal( $item['executedBranches'], - $item['executableBranches'] + $item['executableBranches'], )->asString(); $pathsExecutedPercentAsString = Percentage::fromFractionAndTotal( $item['executedPaths'], - $item['executablePaths'] + $item['executablePaths'], )->asString(); } else { $numClasses = 0; @@ -357,12 +357,12 @@ final class File extends Renderer $testedMethodsPercentage = Percentage::fromFractionAndTotal( $numTestedMethods, - $numMethods + $numMethods, ); $testedClassesPercentage = Percentage::fromFractionAndTotal( $numTestedMethods === $numMethods ? 1 : 0, - 1 + 1, ); $buffer .= $this->renderItemTemplate( @@ -389,7 +389,7 @@ final class File extends Renderer 'numExecutableBranches' => $item['executableBranches'], 'pathsExecutedPercent' => Percentage::fromFractionAndTotal( $item['executedPaths'], - $item['executablePaths'] + $item['executablePaths'], )->asFloat(), 'pathsExecutedPercentAsString' => $pathsExecutedPercentAsString, 'numExecutedPaths' => $item['executedPaths'], @@ -399,14 +399,14 @@ final class File extends Renderer 'testedClassesPercent' => $testedClassesPercentage->asFloat(), 'testedClassesPercentAsString' => $testedClassesPercentage->asString(), 'crap' => $item['crap'], - ] + ], ); foreach ($item['methods'] as $method) { $buffer .= $this->renderFunctionOrMethodItem( $methodItemTemplate, $method, - ' ' + ' ', ); } } @@ -425,7 +425,7 @@ final class File extends Renderer foreach ($functions as $function) { $buffer .= $this->renderFunctionOrMethodItem( $template, - $function + $function, ); } @@ -447,22 +447,22 @@ final class File extends Renderer $executedLinesPercentage = Percentage::fromFractionAndTotal( $item['executedLines'], - $item['executableLines'] + $item['executableLines'], ); $executedBranchesPercentage = Percentage::fromFractionAndTotal( $item['executedBranches'], - $item['executableBranches'] + $item['executableBranches'], ); $executedPathsPercentage = Percentage::fromFractionAndTotal( $item['executedPaths'], - $item['executablePaths'] + $item['executablePaths'], ); $testedMethodsPercentage = Percentage::fromFractionAndTotal( $numTestedMethods, - 1 + 1, ); return $this->renderItemTemplate( @@ -473,7 +473,7 @@ final class File extends Renderer $indent, $item['startLine'], htmlspecialchars($item['signature'], $this->htmlSpecialCharsFlags), - $item['functionName'] ?? $item['methodName'] + $item['functionName'] ?? $item['methodName'], ), 'numMethods' => $numMethods, 'numTestedMethods' => $numTestedMethods, @@ -492,7 +492,7 @@ final class File extends Renderer 'testedMethodsPercent' => $testedMethodsPercentage->asFloat(), 'testedMethodsPercentAsString' => $testedMethodsPercentage->asString(), 'crap' => $item['crap'], - ] + ], ); } @@ -550,7 +550,7 @@ final class File extends Renderer $popover = sprintf( ' data-title="%s" data-content="%s" data-placement="top" data-html="true"', $popoverTitle, - htmlspecialchars($popoverContent, $this->htmlSpecialCharsFlags) + htmlspecialchars($popoverContent, $this->htmlSpecialCharsFlags), ); } @@ -637,7 +637,7 @@ final class File extends Renderer $popover = sprintf( ' data-title="%s" data-content="%s" data-placement="top" data-html="true"', $popoverTitle, - htmlspecialchars($popoverContent, $this->htmlSpecialCharsFlags) + htmlspecialchars($popoverContent, $this->htmlSpecialCharsFlags), ); } @@ -727,7 +727,7 @@ final class File extends Renderer $popover = sprintf( ' data-title="%s" data-content="%s" data-placement="top" data-html="true"', $popoverTitle, - htmlspecialchars($popoverContent, $this->htmlSpecialCharsFlags) + htmlspecialchars($popoverContent, $this->htmlSpecialCharsFlags), ); } @@ -825,7 +825,7 @@ final class File extends Renderer $popover = sprintf( ' data-title="%s" data-content="%s" data-placement="top" data-html="true"', $popoverTitle, - htmlspecialchars($popoverContent, $this->htmlSpecialCharsFlags) + htmlspecialchars($popoverContent, $this->htmlSpecialCharsFlags), ); } @@ -940,7 +940,7 @@ final class File extends Renderer $popover = sprintf( ' data-title="%s" data-content="%s" data-placement="top" data-html="true"', $popoverTitle, - htmlspecialchars($popoverContent, $this->htmlSpecialCharsFlags) + htmlspecialchars($popoverContent, $this->htmlSpecialCharsFlags), ); } @@ -965,7 +965,7 @@ final class File extends Renderer 'lineContent' => $lineContent, 'class' => $class, 'popover' => $popover, - ] + ], ); return $template->render(); @@ -991,14 +991,14 @@ final class File extends Renderer if ($token === '"' && $tokens[$j - 1] !== '\\') { $result[$i] .= sprintf( '%s', - htmlspecialchars($token, $this->htmlSpecialCharsFlags) + htmlspecialchars($token, $this->htmlSpecialCharsFlags), ); $stringFlag = !$stringFlag; } else { $result[$i] .= sprintf( '%s', - htmlspecialchars($token, $this->htmlSpecialCharsFlags) + htmlspecialchars($token, $this->htmlSpecialCharsFlags), ); } @@ -1010,7 +1010,7 @@ final class File extends Renderer $value = str_replace( ["\t", ' '], ['    ', ' '], - htmlspecialchars($value, $this->htmlSpecialCharsFlags) + htmlspecialchars($value, $this->htmlSpecialCharsFlags), ); if ($value === "\n") { @@ -1039,7 +1039,7 @@ final class File extends Renderer $result[$i] .= sprintf( '%s', $colour, - $line + $line, ); } @@ -1067,7 +1067,7 @@ final class File extends Renderer $className = sprintf( '%s', $className, - array_pop($tmp) + array_pop($tmp), ); } @@ -1109,7 +1109,7 @@ final class File extends Renderer return sprintf( '%s', $testCSS, - htmlspecialchars($test, $this->htmlSpecialCharsFlags) + htmlspecialchars($test, $this->htmlSpecialCharsFlags), ); } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Report/PHP.php b/Sources/vendor/phpunit/php-code-coverage/src/Report/PHP.php index 1f8186d0..6f46f990 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Report/PHP.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Report/PHP.php @@ -12,7 +12,7 @@ namespace SebastianBergmann\CodeCoverage\Report; use function dirname; use function file_put_contents; use function serialize; -use function strpos; +use function str_contains; use SebastianBergmann\CodeCoverage\CodeCoverage; use SebastianBergmann\CodeCoverage\Driver\WriteOperationFailedException; use SebastianBergmann\CodeCoverage\Util\Filesystem; @@ -27,7 +27,7 @@ final class PHP return \unserialize(<<<'END_OF_COVERAGE_SERIALIZATION'" . PHP_EOL . serialize($coverage) . PHP_EOL . 'END_OF_COVERAGE_SERIALIZATION' . PHP_EOL . ');'; if ($target !== null) { - if (!strpos($target, '://') !== false) { + if (!str_contains($target, '://')) { Filesystem::createDirectory(dirname($target)); } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Report/Text.php b/Sources/vendor/phpunit/php-code-coverage/src/Report/Text.php index 6f73dc16..a307aa4b 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Report/Text.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Report/Text.php @@ -78,27 +78,27 @@ final class Text if ($showColors) { $colors['classes'] = $this->coverageColor( $report->numberOfTestedClassesAndTraits(), - $report->numberOfClassesAndTraits() + $report->numberOfClassesAndTraits(), ); $colors['methods'] = $this->coverageColor( $report->numberOfTestedMethods(), - $report->numberOfMethods() + $report->numberOfMethods(), ); $colors['lines'] = $this->coverageColor( $report->numberOfExecutedLines(), - $report->numberOfExecutableLines() + $report->numberOfExecutableLines(), ); $colors['branches'] = $this->coverageColor( $report->numberOfExecutedBranches(), - $report->numberOfExecutableBranches() + $report->numberOfExecutableBranches(), ); $colors['paths'] = $this->coverageColor( $report->numberOfExecutedPaths(), - $report->numberOfExecutablePaths() + $report->numberOfExecutablePaths(), ); $colors['reset'] = self::COLOR_RESET; @@ -109,10 +109,10 @@ final class Text ' Classes: %6s (%d/%d)', Percentage::fromFractionAndTotal( $report->numberOfTestedClassesAndTraits(), - $report->numberOfClassesAndTraits() + $report->numberOfClassesAndTraits(), )->asString(), $report->numberOfTestedClassesAndTraits(), - $report->numberOfClassesAndTraits() + $report->numberOfClassesAndTraits(), ); $methods = sprintf( @@ -122,7 +122,7 @@ final class Text $report->numberOfMethods(), )->asString(), $report->numberOfTestedMethods(), - $report->numberOfMethods() + $report->numberOfMethods(), ); $paths = ''; @@ -136,7 +136,7 @@ final class Text $report->numberOfExecutablePaths(), )->asString(), $report->numberOfExecutedPaths(), - $report->numberOfExecutablePaths() + $report->numberOfExecutablePaths(), ); $branches = sprintf( @@ -146,7 +146,7 @@ final class Text $report->numberOfExecutableBranches(), )->asString(), $report->numberOfExecutedBranches(), - $report->numberOfExecutableBranches() + $report->numberOfExecutableBranches(), ); } @@ -157,7 +157,7 @@ final class Text $report->numberOfExecutableLines(), )->asString(), $report->numberOfExecutedLines(), - $report->numberOfExecutableLines() + $report->numberOfExecutableLines(), ); $padding = max(array_map('strlen', [$classes, $methods, $lines])); @@ -215,12 +215,12 @@ final class Text } $classMethods++; - $classExecutableLines += $method['executableLines']; - $classExecutedLines += $method['executedLines']; + $classExecutableLines += $method['executableLines']; + $classExecutedLines += $method['executedLines']; $classExecutableBranches += $method['executableBranches']; - $classExecutedBranches += $method['executedBranches']; - $classExecutablePaths += $method['executablePaths']; - $classExecutedPaths += $method['executedPaths']; + $classExecutedBranches += $method['executedBranches']; + $classExecutablePaths += $method['executablePaths']; + $classExecutedPaths += $method['executedPaths']; if ($method['coverage'] == 100) { $coveredMethods++; @@ -278,7 +278,7 @@ final class Text { $coverage = Percentage::fromFractionAndTotal( $numberOfCoveredElements, - $totalNumberOfElements + $totalNumberOfElements, ); if ($coverage->asFloat() >= $this->thresholds->highLowerBound()) { @@ -298,16 +298,18 @@ final class Text return Percentage::fromFractionAndTotal( $numberOfCoveredElements, - $totalNumberOfElements + $totalNumberOfElements, )->asFixedWidthString() . ' (' . sprintf($format, $numberOfCoveredElements) . '/' . sprintf($format, $totalNumberOfElements) . ')'; } - private function format(string $color, int $padding, string|false $string): string + private function format(string $color, int $padding, false|string $string): string { - $reset = $color ? self::COLOR_RESET : ''; + if ($color === '') { + return (string) $string . PHP_EOL; + } - return $color . str_pad((string) $string, $padding) . $reset . PHP_EOL; + return $color . str_pad((string) $string, $padding) . self::COLOR_RESET . PHP_EOL; } } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Report/Thresholds.php b/Sources/vendor/phpunit/php-code-coverage/src/Report/Thresholds.php index a1fa6e9f..af6c6ce5 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Report/Thresholds.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Report/Thresholds.php @@ -31,7 +31,7 @@ final class Thresholds { if ($lowUpperBound > $highLowerBound) { throw new InvalidArgumentException( - '$lowUpperBound must not be larger than $highLowerBound' + '$lowUpperBound must not be larger than $highLowerBound', ); } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/BuildInformation.php b/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/BuildInformation.php index fac06ff4..264bf713 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/BuildInformation.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/BuildInformation.php @@ -62,15 +62,15 @@ final class BuildInformation { $node = $this->contextNode->getElementsByTagNameNS( 'https://schema.phpunit.de/coverage/1.0', - $name + $name, )->item(0); if (!$node) { $node = $this->contextNode->appendChild( $this->contextNode->ownerDocument->createElementNS( 'https://schema.phpunit.de/coverage/1.0', - $name - ) + $name, + ), ); } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Coverage.php b/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Coverage.php index 9c853ec2..bb41dfb5 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Coverage.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Coverage.php @@ -55,7 +55,7 @@ final class Coverage $this->contextNode->parentNode->replaceChild( $fragment, - $this->contextNode + $this->contextNode, ); $this->finalized = true; diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Facade.php b/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Facade.php index 8788200c..3264718c 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Facade.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Facade.php @@ -64,7 +64,7 @@ final class Facade $report = $coverage->getReport(); $this->project = new Project( - $coverage->getReport()->name() + $coverage->getReport()->name(), ); $this->setBuildInformation(); @@ -132,14 +132,14 @@ final class Facade { $fileObject = $context->addFile( $file->name(), - $file->id() . '.xml' + $file->id() . '.xml', ); $this->setTotals($file, $fileObject->totals()); $path = substr( $file->pathAsString(), - strlen($this->project->projectSourceDirectory()) + strlen($this->project->projectSourceDirectory()), ); $fileReport = new Report($path); @@ -169,7 +169,7 @@ final class Facade } $fileReport->source()->setSourceCode( - file_get_contents($file->pathAsString()) + file_get_contents($file->pathAsString()), ); $this->saveDocument($fileReport->asDom(), $file->id()); @@ -186,7 +186,7 @@ final class Facade $unitObject->setLines( $unit['startLine'], $unit['executableLines'], - $unit['executedLines'] + $unit['executedLines'], ); $unitObject->setCrap((float) $unit['crap']); @@ -200,7 +200,7 @@ final class Facade $methodObject->setTotals( (string) $method['executableLines'], (string) $method['executedLines'], - (string) $method['coverage'] + (string) $method['coverage'], ); } } @@ -233,27 +233,27 @@ final class Facade $loc['commentLinesOfCode'], $loc['nonCommentLinesOfCode'], $node->numberOfExecutableLines(), - $node->numberOfExecutedLines() + $node->numberOfExecutedLines(), ); $totals->setNumClasses( $node->numberOfClasses(), - $node->numberOfTestedClasses() + $node->numberOfTestedClasses(), ); $totals->setNumTraits( $node->numberOfTraits(), - $node->numberOfTestedTraits() + $node->numberOfTestedTraits(), ); $totals->setNumMethods( $node->numberOfMethods(), - $node->numberOfTestedMethods() + $node->numberOfTestedMethods(), ); $totals->setNumFunctions( $node->numberOfFunctions(), - $node->numberOfTestedFunctions() + $node->numberOfTestedFunctions(), ); } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/File.php b/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/File.php index a1da30a7..69b27510 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/File.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/File.php @@ -34,8 +34,8 @@ class File $totalsContainer = $this->contextNode->appendChild( $this->dom->createElementNS( 'https://schema.phpunit.de/coverage/1.0', - 'totals' - ) + 'totals', + ), ); } @@ -46,23 +46,23 @@ class File { $coverage = $this->contextNode->getElementsByTagNameNS( 'https://schema.phpunit.de/coverage/1.0', - 'coverage' + 'coverage', )->item(0); if (!$coverage) { $coverage = $this->contextNode->appendChild( $this->dom->createElementNS( 'https://schema.phpunit.de/coverage/1.0', - 'coverage' - ) + 'coverage', + ), ); } $lineNode = $coverage->appendChild( $this->dom->createElementNS( 'https://schema.phpunit.de/coverage/1.0', - 'line' - ) + 'line', + ), ); return new Coverage($lineNode, $line); diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Node.php b/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Node.php index bd14c8d6..b2ba54b2 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Node.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Node.php @@ -38,8 +38,8 @@ abstract class Node $totalsContainer = $this->contextNode()->appendChild( $this->dom->createElementNS( 'https://schema.phpunit.de/coverage/1.0', - 'totals' - ) + 'totals', + ), ); } @@ -50,7 +50,7 @@ abstract class Node { $dirNode = $this->dom()->createElementNS( 'https://schema.phpunit.de/coverage/1.0', - 'directory' + 'directory', ); $dirNode->setAttribute('name', $name); @@ -63,7 +63,7 @@ abstract class Node { $fileNode = $this->dom()->createElementNS( 'https://schema.phpunit.de/coverage/1.0', - 'file' + 'file', ); $fileNode->setAttribute('name', $name); diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Project.php b/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Project.php index b566bce0..b450beb4 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Project.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Project.php @@ -31,15 +31,15 @@ final class Project extends Node { $buildNode = $this->dom()->getElementsByTagNameNS( 'https://schema.phpunit.de/coverage/1.0', - 'build' + 'build', )->item(0); if (!$buildNode) { $buildNode = $this->dom()->documentElement->appendChild( $this->dom()->createElementNS( 'https://schema.phpunit.de/coverage/1.0', - 'build' - ) + 'build', + ), ); } @@ -50,15 +50,15 @@ final class Project extends Node { $testsNode = $this->contextNode()->getElementsByTagNameNS( 'https://schema.phpunit.de/coverage/1.0', - 'tests' + 'tests', )->item(0); if (!$testsNode) { $testsNode = $this->contextNode()->appendChild( $this->dom()->createElementNS( 'https://schema.phpunit.de/coverage/1.0', - 'tests' - ) + 'tests', + ), ); } @@ -78,8 +78,8 @@ final class Project extends Node $this->setContextNode( $dom->getElementsByTagNameNS( 'https://schema.phpunit.de/coverage/1.0', - 'project' - )->item(0) + 'project', + )->item(0), ); } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Report.php b/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Report.php index 7f2badae..09d10341 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Report.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Report.php @@ -25,7 +25,7 @@ final class Report extends File $contextNode = $dom->getElementsByTagNameNS( 'https://schema.phpunit.de/coverage/1.0', - 'file' + 'file', )->item(0); parent::__construct($contextNode); @@ -43,8 +43,8 @@ final class Report extends File $node = $this->contextNode()->appendChild( $this->dom()->createElementNS( 'https://schema.phpunit.de/coverage/1.0', - 'function' - ) + 'function', + ), ); return new Method($node, $name); @@ -64,15 +64,15 @@ final class Report extends File { $source = $this->contextNode()->getElementsByTagNameNS( 'https://schema.phpunit.de/coverage/1.0', - 'source' + 'source', )->item(0); if (!$source) { $source = $this->contextNode()->appendChild( $this->dom()->createElementNS( 'https://schema.phpunit.de/coverage/1.0', - 'source' - ) + 'source', + ), ); } @@ -90,8 +90,8 @@ final class Report extends File $node = $this->contextNode()->appendChild( $this->dom()->createElementNS( 'https://schema.phpunit.de/coverage/1.0', - $tagName - ) + $tagName, + ), ); return new Unit($node, $name); diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Source.php b/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Source.php index f6171f8e..cd1fb90c 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Source.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Source.php @@ -35,7 +35,7 @@ final class Source $context->parentNode->replaceChild( $context->ownerDocument->importNode($srcDom->documentElement, true), - $context + $context, ); } } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Tests.php b/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Tests.php index e56df70e..44d6010b 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Tests.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Tests.php @@ -33,8 +33,8 @@ final class Tests $node = $this->contextNode->appendChild( $this->contextNode->ownerDocument->createElementNS( 'https://schema.phpunit.de/coverage/1.0', - 'test' - ) + 'test', + ), ); $node->setAttribute('name', $test); diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Totals.php b/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Totals.php index d4f8f795..239f6d43 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Totals.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Totals.php @@ -33,27 +33,27 @@ final class Totals $this->linesNode = $dom->createElementNS( 'https://schema.phpunit.de/coverage/1.0', - 'lines' + 'lines', ); $this->methodsNode = $dom->createElementNS( 'https://schema.phpunit.de/coverage/1.0', - 'methods' + 'methods', ); $this->functionsNode = $dom->createElementNS( 'https://schema.phpunit.de/coverage/1.0', - 'functions' + 'functions', ); $this->classesNode = $dom->createElementNS( 'https://schema.phpunit.de/coverage/1.0', - 'classes' + 'classes', ); $this->traitsNode = $dom->createElementNS( 'https://schema.phpunit.de/coverage/1.0', - 'traits' + 'traits', ); $container->appendChild($this->linesNode); @@ -77,7 +77,7 @@ final class Totals $this->linesNode->setAttribute('executed', (string) $executed); $this->linesNode->setAttribute( 'percent', - $executable === 0 ? '0' : sprintf('%01.2F', Percentage::fromFractionAndTotal($executed, $executable)->asFloat()) + $executable === 0 ? '0' : sprintf('%01.2F', Percentage::fromFractionAndTotal($executed, $executable)->asFloat()), ); } @@ -87,7 +87,7 @@ final class Totals $this->classesNode->setAttribute('tested', (string) $tested); $this->classesNode->setAttribute( 'percent', - $count === 0 ? '0' : sprintf('%01.2F', Percentage::fromFractionAndTotal($tested, $count)->asFloat()) + $count === 0 ? '0' : sprintf('%01.2F', Percentage::fromFractionAndTotal($tested, $count)->asFloat()), ); } @@ -97,7 +97,7 @@ final class Totals $this->traitsNode->setAttribute('tested', (string) $tested); $this->traitsNode->setAttribute( 'percent', - $count === 0 ? '0' : sprintf('%01.2F', Percentage::fromFractionAndTotal($tested, $count)->asFloat()) + $count === 0 ? '0' : sprintf('%01.2F', Percentage::fromFractionAndTotal($tested, $count)->asFloat()), ); } @@ -107,7 +107,7 @@ final class Totals $this->methodsNode->setAttribute('tested', (string) $tested); $this->methodsNode->setAttribute( 'percent', - $count === 0 ? '0' : sprintf('%01.2F', Percentage::fromFractionAndTotal($tested, $count)->asFloat()) + $count === 0 ? '0' : sprintf('%01.2F', Percentage::fromFractionAndTotal($tested, $count)->asFloat()), ); } @@ -117,7 +117,7 @@ final class Totals $this->functionsNode->setAttribute('tested', (string) $tested); $this->functionsNode->setAttribute( 'percent', - $count === 0 ? '0' : sprintf('%01.2F', Percentage::fromFractionAndTotal($tested, $count)->asFloat()) + $count === 0 ? '0' : sprintf('%01.2F', Percentage::fromFractionAndTotal($tested, $count)->asFloat()), ); } } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Unit.php b/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Unit.php index 2a4feb99..ea1a47f2 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Unit.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Report/Xml/Unit.php @@ -41,15 +41,15 @@ final class Unit { $node = $this->contextNode->getElementsByTagNameNS( 'https://schema.phpunit.de/coverage/1.0', - 'namespace' + 'namespace', )->item(0); if (!$node) { $node = $this->contextNode->appendChild( $this->contextNode->ownerDocument->createElementNS( 'https://schema.phpunit.de/coverage/1.0', - 'namespace' - ) + 'namespace', + ), ); } @@ -61,8 +61,8 @@ final class Unit $node = $this->contextNode->appendChild( $this->contextNode->ownerDocument->createElementNS( 'https://schema.phpunit.de/coverage/1.0', - 'method' - ) + 'method', + ), ); return new Method($node, $name); diff --git a/Sources/vendor/phpunit/php-code-coverage/src/StaticAnalysis/CacheWarmer.php b/Sources/vendor/phpunit/php-code-coverage/src/StaticAnalysis/CacheWarmer.php index 6f8a0449..47cc756c 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/StaticAnalysis/CacheWarmer.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/StaticAnalysis/CacheWarmer.php @@ -19,7 +19,7 @@ final class CacheWarmer $cacheDirectory, new ParsingFileAnalyser( $useAnnotationsForIgnoringCode, - $ignoreDeprecatedCode + $ignoreDeprecatedCode, ), $useAnnotationsForIgnoringCode, $ignoreDeprecatedCode, diff --git a/Sources/vendor/phpunit/php-code-coverage/src/StaticAnalysis/CachingFileAnalyser.php b/Sources/vendor/phpunit/php-code-coverage/src/StaticAnalysis/CachingFileAnalyser.php index 879f569e..2ce4d604 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/StaticAnalysis/CachingFileAnalyser.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/StaticAnalysis/CachingFileAnalyser.php @@ -132,7 +132,7 @@ final class CachingFileAnalyser implements FileAnalyser return unserialize( file_get_contents($cacheFile), - ['allowed_classes' => false] + ['allowed_classes' => false], ); } @@ -140,7 +140,7 @@ final class CachingFileAnalyser implements FileAnalyser { file_put_contents( $this->cacheFile($filename), - serialize($data) + serialize($data), ); } @@ -155,8 +155,8 @@ final class CachingFileAnalyser implements FileAnalyser self::cacheVersion(), $this->useAnnotationsForIgnoringCode, $this->ignoreDeprecatedCode, - ] - ) + ], + ), ); return $this->directory . DIRECTORY_SEPARATOR . $cacheKey; diff --git a/Sources/vendor/phpunit/php-code-coverage/src/StaticAnalysis/CodeUnitFindingVisitor.php b/Sources/vendor/phpunit/php-code-coverage/src/StaticAnalysis/CodeUnitFindingVisitor.php index 265c151e..5530221d 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/StaticAnalysis/CodeUnitFindingVisitor.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/StaticAnalysis/CodeUnitFindingVisitor.php @@ -193,7 +193,7 @@ final class CodeUnitFindingVisitor extends NodeVisitorAbstract return $signature; } - private function type(Identifier|Name|ComplexType $type): string + private function type(ComplexType|Identifier|Name $type): string { if ($type instanceof NullableType) { return '?' . $type->type; diff --git a/Sources/vendor/phpunit/php-code-coverage/src/StaticAnalysis/ExecutableLinesFindingVisitor.php b/Sources/vendor/phpunit/php-code-coverage/src/StaticAnalysis/ExecutableLinesFindingVisitor.php index 8d6a5c25..8585919c 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/StaticAnalysis/ExecutableLinesFindingVisitor.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/StaticAnalysis/ExecutableLinesFindingVisitor.php @@ -117,21 +117,6 @@ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract return; } - /* - * nikic/php-parser ^4.18 represents throw statements - * as Stmt\Throw_ objects - */ - if ($node instanceof Node\Stmt\Throw_) { - $this->setLineBranch($node->expr->getEndLine(), $node->expr->getEndLine(), ++$this->nextBranch); - - return; - } - - /* - * nikic/php-parser ^5 represents throw statements - * as Stmt\Expression objects that contain an - * Expr\Throw_ object - */ if ($node instanceof Node\Stmt\Expression && $node->expr instanceof Node\Expr\Throw_) { $this->setLineBranch($node->expr->expr->getEndLine(), $node->expr->expr->getEndLine(), ++$this->nextBranch); @@ -206,7 +191,7 @@ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract if ($node instanceof Node\Expr\ArrowFunction) { $startLine = max( $node->getStartLine() + 1, - $node->expr->getStartLine() + $node->expr->getStartLine(), ); $endLine = $node->expr->getEndLine(); @@ -251,7 +236,7 @@ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract $this->setLineBranch( $node->cond->getStartLine(), $node->cond->getStartLine(), - ++$this->nextBranch + ++$this->nextBranch, ); return; @@ -302,7 +287,7 @@ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract $this->setLineBranch( $startLine, $endLine, - ++$this->nextBranch + ++$this->nextBranch, ); return; @@ -312,7 +297,7 @@ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract $this->setLineBranch( $node->expr->getStartLine(), $node->valueVar->getEndLine(), - ++$this->nextBranch + ++$this->nextBranch, ); return; @@ -323,7 +308,7 @@ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract $this->setLineBranch( $node->cond->getStartLine(), $node->cond->getEndLine(), - ++$this->nextBranch + ++$this->nextBranch, ); return; @@ -338,7 +323,7 @@ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract $this->setLineBranch( $startLine, $endLine, - ++$this->nextBranch + ++$this->nextBranch, ); return; @@ -381,7 +366,7 @@ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract $this->executableLinesGroupedByBranch = array_diff_key( $this->executableLinesGroupedByBranch, - $this->unsets + $this->unsets, ); } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/StaticAnalysis/IgnoredLinesFindingVisitor.php b/Sources/vendor/phpunit/php-code-coverage/src/StaticAnalysis/IgnoredLinesFindingVisitor.php index 7480e6fb..a3be120b 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/StaticAnalysis/IgnoredLinesFindingVisitor.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/StaticAnalysis/IgnoredLinesFindingVisitor.php @@ -15,6 +15,7 @@ use PhpParser\Node; use PhpParser\Node\Attribute; use PhpParser\Node\Stmt\Class_; use PhpParser\Node\Stmt\ClassMethod; +use PhpParser\Node\Stmt\Enum_; use PhpParser\Node\Stmt\Function_; use PhpParser\Node\Stmt\Interface_; use PhpParser\Node\Stmt\Trait_; @@ -43,6 +44,7 @@ final class IgnoredLinesFindingVisitor extends NodeVisitorAbstract if (!$node instanceof Class_ && !$node instanceof Trait_ && !$node instanceof Interface_ && + !$node instanceof Enum_ && !$node instanceof ClassMethod && !$node instanceof Function_ && !$node instanceof Attribute) { diff --git a/Sources/vendor/phpunit/php-code-coverage/src/StaticAnalysis/ParsingFileAnalyser.php b/Sources/vendor/phpunit/php-code-coverage/src/StaticAnalysis/ParsingFileAnalyser.php index 3190bb4e..ae2619fa 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/StaticAnalysis/ParsingFileAnalyser.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/StaticAnalysis/ParsingFileAnalyser.php @@ -167,10 +167,10 @@ final class ParsingFileAnalyser implements FileAnalyser sprintf( 'Cannot parse %s: %s', $filename, - $error->getMessage() + $error->getMessage(), ), $error->getCode(), - $error + $error, ); } // @codeCoverageIgnoreEnd @@ -186,8 +186,8 @@ final class ParsingFileAnalyser implements FileAnalyser $this->ignoredLines[$filename] = array_unique( array_merge( $this->ignoredLines[$filename], - $ignoredLinesFindingVisitor->ignoredLines() - ) + $ignoredLinesFindingVisitor->ignoredLines(), + ), ); sort($this->ignoredLines[$filename]); @@ -239,7 +239,7 @@ final class ParsingFileAnalyser implements FileAnalyser $this->ignoredLines[$filename] = array_merge( $this->ignoredLines[$filename], - range($start, $token[2]) + range($start, $token[2]), ); } } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Util/Filesystem.php b/Sources/vendor/phpunit/php-code-coverage/src/Util/Filesystem.php index ff0e16ae..0e99b159 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Util/Filesystem.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Util/Filesystem.php @@ -23,14 +23,14 @@ final class Filesystem */ public static function createDirectory(string $directory): void { - $success = !(!is_dir($directory) && !@mkdir($directory, 0777, true) && !is_dir($directory)); + $success = !(!is_dir($directory) && !@mkdir($directory, 0o777, true) && !is_dir($directory)); if (!$success) { throw new DirectoryCouldNotBeCreatedException( sprintf( 'Directory "%s" could not be created', - $directory - ) + $directory, + ), ); } } diff --git a/Sources/vendor/phpunit/php-code-coverage/src/Version.php b/Sources/vendor/phpunit/php-code-coverage/src/Version.php index c7739dc6..ab5e5053 100644 --- a/Sources/vendor/phpunit/php-code-coverage/src/Version.php +++ b/Sources/vendor/phpunit/php-code-coverage/src/Version.php @@ -19,7 +19,7 @@ final class Version public static function id(): string { if (self::$version === '') { - self::$version = (new VersionId('10.1.11', dirname(__DIR__)))->asString(); + self::$version = (new VersionId('11.0.3', dirname(__DIR__)))->asString(); } return self::$version; diff --git a/Sources/vendor/phpunit/php-file-iterator/ChangeLog.md b/Sources/vendor/phpunit/php-file-iterator/ChangeLog.md index e2ddc646..959ce0ba 100644 --- a/Sources/vendor/phpunit/php-file-iterator/ChangeLog.md +++ b/Sources/vendor/phpunit/php-file-iterator/ChangeLog.md @@ -2,6 +2,12 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [5.0.0] - 2024-02-02 + +### Removed + +* This component is no longer supported on PHP 8.1 + ## [4.1.0] - 2023-08-31 ### Added @@ -150,6 +156,7 @@ No changes * [#23](https://github.com/sebastianbergmann/php-file-iterator/pull/23): Added support for wildcards (glob) in exclude +[5.0.0]: https://github.com/sebastianbergmann/php-file-iterator/compare/4.1...5.0.0 [4.1.0]: https://github.com/sebastianbergmann/php-file-iterator/compare/4.0.2...4.1.0 [4.0.2]: https://github.com/sebastianbergmann/php-file-iterator/compare/4.0.1...4.0.2 [4.0.1]: https://github.com/sebastianbergmann/php-file-iterator/compare/4.0.0...4.0.1 diff --git a/Sources/vendor/phpunit/php-file-iterator/LICENSE b/Sources/vendor/phpunit/php-file-iterator/LICENSE index 80e09f7b..89f05309 100644 --- a/Sources/vendor/phpunit/php-file-iterator/LICENSE +++ b/Sources/vendor/phpunit/php-file-iterator/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2009-2023, Sebastian Bergmann +Copyright (c) 2009-2024, Sebastian Bergmann All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Sources/vendor/phpunit/php-file-iterator/composer.json b/Sources/vendor/phpunit/php-file-iterator/composer.json index 3f0089c2..525526d4 100644 --- a/Sources/vendor/phpunit/php-file-iterator/composer.json +++ b/Sources/vendor/phpunit/php-file-iterator/composer.json @@ -21,17 +21,17 @@ }, "config": { "platform": { - "php": "8.1.0" + "php": "8.2.0" }, "optimize-autoloader": true, "sort-packages": true }, "prefer-stable": true, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "autoload": { "classmap": [ @@ -40,7 +40,7 @@ }, "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } } } diff --git a/Sources/vendor/phpunit/php-file-iterator/src/ExcludeIterator.php b/Sources/vendor/phpunit/php-file-iterator/src/ExcludeIterator.php index a928b4ba..23c9335e 100644 --- a/Sources/vendor/phpunit/php-file-iterator/src/ExcludeIterator.php +++ b/Sources/vendor/phpunit/php-file-iterator/src/ExcludeIterator.php @@ -65,7 +65,7 @@ final class ExcludeIterator extends RecursiveFilterIterator { return new self( $this->getInnerIterator()->getChildren(), - $this->exclude + $this->exclude, ); } diff --git a/Sources/vendor/phpunit/php-file-iterator/src/Factory.php b/Sources/vendor/phpunit/php-file-iterator/src/Factory.php index 35f9ca08..7a0f0b12 100644 --- a/Sources/vendor/phpunit/php-file-iterator/src/Factory.php +++ b/Sources/vendor/phpunit/php-file-iterator/src/Factory.php @@ -74,7 +74,7 @@ final class Factory ), $suffixes, $prefixes, - ) + ), ); } } diff --git a/Sources/vendor/phpunit/php-file-iterator/src/Iterator.php b/Sources/vendor/phpunit/php-file-iterator/src/Iterator.php index d071205a..52dd22d7 100644 --- a/Sources/vendor/phpunit/php-file-iterator/src/Iterator.php +++ b/Sources/vendor/phpunit/php-file-iterator/src/Iterator.php @@ -28,7 +28,7 @@ final class Iterator extends FilterIterator { public const PREFIX = 0; public const SUFFIX = 1; - private string|false $basePath; + private false|string $basePath; /** * @psalm-var list diff --git a/Sources/vendor/phpunit/php-invoker/.psalm/baseline.xml b/Sources/vendor/phpunit/php-invoker/.psalm/baseline.xml index 7aaad59d..eb79571d 100644 --- a/Sources/vendor/phpunit/php-invoker/.psalm/baseline.xml +++ b/Sources/vendor/phpunit/php-invoker/.psalm/baseline.xml @@ -1,8 +1,2 @@ - - - - $timeout - - - + diff --git a/Sources/vendor/phpunit/php-invoker/.psalm/config.xml b/Sources/vendor/phpunit/php-invoker/.psalm/config.xml index a2312368..343cc8e3 100644 --- a/Sources/vendor/phpunit/php-invoker/.psalm/config.xml +++ b/Sources/vendor/phpunit/php-invoker/.psalm/config.xml @@ -5,6 +5,8 @@ xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd" resolveFromConfigFile="false" errorBaseline=".psalm/baseline.xml" + findUnusedBaselineEntry="true" + findUnusedCode="false" > diff --git a/Sources/vendor/phpunit/php-invoker/ChangeLog.md b/Sources/vendor/phpunit/php-invoker/ChangeLog.md index c6e815d8..4803c5fb 100644 --- a/Sources/vendor/phpunit/php-invoker/ChangeLog.md +++ b/Sources/vendor/phpunit/php-invoker/ChangeLog.md @@ -2,6 +2,12 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](https://keepachangelog.com/) principles. +## [5.0.0] - 2024-02-02 + +### Removed + +* This component is no longer supported on PHP 8.1 + ## [4.0.0] - 2023-02-03 ### Removed @@ -47,6 +53,7 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](htt * This component is no longer supported on PHP 7.1 and PHP 7.2 +[5.0.0]: https://github.com/sebastianbergmann/php-invoker/compare/4.0...5.0.0 [4.0.0]: https://github.com/sebastianbergmann/php-invoker/compare/3.1.1...4.0.0 [3.1.1]: https://github.com/sebastianbergmann/php-invoker/compare/3.1.0...3.1.1 [3.1.0]: https://github.com/sebastianbergmann/php-invoker/compare/3.0.2...3.1.0 diff --git a/Sources/vendor/phpunit/php-invoker/LICENSE b/Sources/vendor/phpunit/php-invoker/LICENSE index 45301310..ecc634d5 100644 --- a/Sources/vendor/phpunit/php-invoker/LICENSE +++ b/Sources/vendor/phpunit/php-invoker/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2011-2023, Sebastian Bergmann +Copyright (c) 2011-2024, Sebastian Bergmann All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Sources/vendor/phpunit/php-invoker/SECURITY.md b/Sources/vendor/phpunit/php-invoker/SECURITY.md index d4ee967b..d88ff001 100644 --- a/Sources/vendor/phpunit/php-invoker/SECURITY.md +++ b/Sources/vendor/phpunit/php-invoker/SECURITY.md @@ -1,9 +1,30 @@ # Security Policy -This library is intended to be used in development environments only. For instance, it is used by the testing framework PHPUnit. There is no reason why this library should be installed on a webserver. +If you believe you have found a security vulnerability in the library that is developed in this repository, please report it to us through coordinated disclosure. -**If you upload this library to a webserver then your deployment process is broken. On a more general note, if your `vendor` directory is publicly accessible on your webserver then your deployment process is also broken.** +**Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests.** -## Security Contact Information +Instead, please email `sebastian@phpunit.de`. + +Please include as much of the information listed below as you can to help us better understand and resolve the issue: + +* The type of issue +* Full paths of source file(s) related to the manifestation of the issue +* The location of the affected source code (tag/branch/commit or direct URL) +* Any special configuration required to reproduce the issue +* Step-by-step instructions to reproduce the issue +* Proof-of-concept or exploit code (if possible) +* Impact of the issue, including how an attacker might exploit the issue + +This information will help us triage your report more quickly. + +## Web Context + +The library that is developed in this repository was either extracted from [PHPUnit](https://github.com/sebastianbergmann/phpunit) or developed specifically as a dependency for PHPUnit. + +The library is developed with a focus on development environments and the command-line. No specific testing or hardening with regard to using the library in an HTTP or web context or with untrusted input data is performed. The library might also contain functionality that intentionally exposes internal application data for debugging purposes. + +If the library is used in a web application, the application developer is responsible for filtering inputs or escaping outputs as necessary and for verifying that the used functionality is safe for use within the intended context. + +Vulnerabilities specific to the use outside a development context will be fixed as applicable, provided that the fix does not have an averse effect on the primary use case for development purposes. -After the above, if you still would like to report a security vulnerability, please email `sebastian@phpunit.de`. diff --git a/Sources/vendor/phpunit/php-invoker/composer.json b/Sources/vendor/phpunit/php-invoker/composer.json index c3dc5acb..cbe9e8ea 100644 --- a/Sources/vendor/phpunit/php-invoker/composer.json +++ b/Sources/vendor/phpunit/php-invoker/composer.json @@ -15,22 +15,23 @@ } ], "support": { - "issues": "https://github.com/sebastianbergmann/php-invoker/issues" + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "security": "https://github.com/sebastianbergmann/php-invoker/security/policy" }, "prefer-stable": true, "config": { "platform": { - "php": "8.1.0" + "php": "8.2.0" }, "optimize-autoloader": true, "sort-packages": true }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { "ext-pcntl": "*", - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "autoload": { "classmap": [ @@ -47,7 +48,7 @@ }, "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } } } diff --git a/Sources/vendor/phpunit/php-invoker/src/Invoker.php b/Sources/vendor/phpunit/php-invoker/src/Invoker.php index d5765219..2d74d350 100644 --- a/Sources/vendor/phpunit/php-invoker/src/Invoker.php +++ b/Sources/vendor/phpunit/php-invoker/src/Invoker.php @@ -11,6 +11,7 @@ namespace SebastianBergmann\Invoker; use const SIGALRM; use function call_user_func_array; +use function extension_loaded; use function function_exists; use function pcntl_alarm; use function pcntl_async_signals; @@ -20,36 +21,31 @@ use Throwable; final class Invoker { - private int $timeout; - /** * @throws Throwable */ public function invoke(callable $callable, array $arguments, int $timeout): mixed { if (!$this->canInvokeWithTimeout()) { - throw new ProcessControlExtensionNotLoadedException( - 'The pcntl (process control) extension for PHP is required' - ); + // @codeCoverageIgnoreStart + throw new ProcessControlExtensionNotLoadedException; + // @codeCoverageIgnoreEnd } pcntl_signal( SIGALRM, - function (): void + static function () use ($timeout): void { throw new TimeoutException( sprintf( 'Execution aborted after %d second%s', - $this->timeout, - $this->timeout === 1 ? '' : 's' - ) + $timeout, + $timeout === 1 ? '' : 's', + ), ); }, - true ); - $this->timeout = $timeout; - pcntl_async_signals(true); pcntl_alarm($timeout); @@ -62,6 +58,6 @@ final class Invoker public function canInvokeWithTimeout(): bool { - return function_exists('pcntl_signal') && function_exists('pcntl_async_signals') && function_exists('pcntl_alarm'); + return extension_loaded('pcntl') && function_exists('pcntl_signal') && function_exists('pcntl_async_signals') && function_exists('pcntl_alarm'); } } diff --git a/Sources/vendor/phpunit/php-invoker/src/exceptions/ProcessControlExtensionNotLoadedException.php b/Sources/vendor/phpunit/php-invoker/src/exceptions/ProcessControlExtensionNotLoadedException.php index ef42fd19..c8649821 100644 --- a/Sources/vendor/phpunit/php-invoker/src/exceptions/ProcessControlExtensionNotLoadedException.php +++ b/Sources/vendor/phpunit/php-invoker/src/exceptions/ProcessControlExtensionNotLoadedException.php @@ -9,8 +9,33 @@ */ namespace SebastianBergmann\Invoker; +use function extension_loaded; +use function function_exists; +use function implode; use RuntimeException; final class ProcessControlExtensionNotLoadedException extends RuntimeException implements Exception { + public function __construct() + { + $message = []; + + if (!extension_loaded('pcntl')) { + $message[] = 'The pcntl (process control) extension for PHP must be loaded.'; + } + + if (!function_exists('pcntl_signal')) { + $message[] = 'The pcntl_signal() function must not be disabled.'; + } + + if (!function_exists('pcntl_async_signals')) { + $message[] = 'The pcntl_async_signals() function must not be disabled.'; + } + + if (!function_exists('pcntl_alarm')) { + $message[] = 'The pcntl_alarm() function must not be disabled.'; + } + + parent::__construct(implode(PHP_EOL, $message)); + } } diff --git a/Sources/vendor/phpunit/php-text-template/ChangeLog.md b/Sources/vendor/phpunit/php-text-template/ChangeLog.md index 012f02b2..9d28f635 100644 --- a/Sources/vendor/phpunit/php-text-template/ChangeLog.md +++ b/Sources/vendor/phpunit/php-text-template/ChangeLog.md @@ -2,6 +2,13 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. +## [4.0.0] - 2024-02-02 + +### Removed + +* The `SebastianBergmann\Template\Template::setFile()` method has been removed +* This component is no longer supported on PHP 8.1 + ## [3.0.1] - 2023-08-31 ### Changed @@ -48,6 +55,7 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](htt * Removed support for PHP 5.3, PHP 5.4, PHP 5.5, PHP 5.6, PHP 7.0, PHP 7.1, and PHP 7.2 +[4.0.0]: https://github.com/sebastianbergmann/php-text-template/compare/3.0...4.0.0 [3.0.1]: https://github.com/sebastianbergmann/php-text-template/compare/3.0.0...3.0.1 [3.0.0]: https://github.com/sebastianbergmann/php-text-template/compare/2.0.4...3.0.0 [2.0.4]: https://github.com/sebastianbergmann/php-text-template/compare/2.0.3...2.0.4 diff --git a/Sources/vendor/phpunit/php-text-template/LICENSE b/Sources/vendor/phpunit/php-text-template/LICENSE index 80e09f7b..89f05309 100644 --- a/Sources/vendor/phpunit/php-text-template/LICENSE +++ b/Sources/vendor/phpunit/php-text-template/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2009-2023, Sebastian Bergmann +Copyright (c) 2009-2024, Sebastian Bergmann All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Sources/vendor/phpunit/php-text-template/composer.json b/Sources/vendor/phpunit/php-text-template/composer.json index cd6cf754..0f47249f 100644 --- a/Sources/vendor/phpunit/php-text-template/composer.json +++ b/Sources/vendor/phpunit/php-text-template/composer.json @@ -20,17 +20,17 @@ }, "config": { "platform": { - "php": "8.1.0" + "php": "8.2.0" }, "optimize-autoloader": true, "sort-packages": true }, "prefer-stable": true, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "autoload": { "classmap": [ @@ -39,7 +39,7 @@ }, "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } } } diff --git a/Sources/vendor/phpunit/php-text-template/src/Template.php b/Sources/vendor/phpunit/php-text-template/src/Template.php index 167e2385..99c4c40c 100644 --- a/Sources/vendor/phpunit/php-text-template/src/Template.php +++ b/Sources/vendor/phpunit/php-text-template/src/Template.php @@ -14,56 +14,44 @@ use function array_merge; use function file_get_contents; use function file_put_contents; use function is_file; +use function is_string; use function sprintf; use function str_replace; final class Template { - private string $template = ''; - private string $openDelimiter; - private string $closeDelimiter; + /** + * @psalm-var non-empty-string + */ + private readonly string $template; /** - * @psalm-var array + * @psalm-var non-empty-string */ - private array $values = []; + private readonly string $openDelimiter; /** - * @throws InvalidArgumentException + * @psalm-var non-empty-string */ - public function __construct(string $file = '', string $openDelimiter = '{', string $closeDelimiter = '}') - { - $this->setFile($file); + private readonly string $closeDelimiter; - $this->openDelimiter = $openDelimiter; - $this->closeDelimiter = $closeDelimiter; - } + /** + * @psalm-var array + */ + private array $values = []; /** + * @psalm-param non-empty-string $templateFile + * @psalm-param non-empty-string $openDelimiter + * @psalm-param non-empty-string $closeDelimiter + * * @throws InvalidArgumentException */ - public function setFile(string $file): void + public function __construct(string $templateFile, string $openDelimiter = '{', string $closeDelimiter = '}') { - if (is_file($file)) { - $this->template = file_get_contents($file); - - return; - } - - $distFile = $file . '.dist'; - - if (is_file($distFile)) { - $this->template = file_get_contents($distFile); - - return; - } - - throw new InvalidArgumentException( - sprintf( - 'Failed to load template "%s"', - $file - ) - ); + $this->template = $this->loadTemplateFile($templateFile); + $this->openDelimiter = $openDelimiter; + $this->closeDelimiter = $closeDelimiter; } /** @@ -100,9 +88,44 @@ final class Template throw new RuntimeException( sprintf( 'Writing rendered result to "%s" failed', - $target - ) + $target, + ), ); } } + + /** + * @psalm-param non-empty-string $file + * + * @psalm-return non-empty-string + * + * @throws InvalidArgumentException + */ + private function loadTemplateFile(string $file): string + { + if (is_file($file)) { + $template = file_get_contents($file); + + if (is_string($template) && !empty($template)) { + return $template; + } + } + + $distFile = $file . '.dist'; + + if (is_file($distFile)) { + $template = file_get_contents($distFile); + + if (is_string($template) && !empty($template)) { + return $template; + } + } + + throw new InvalidArgumentException( + sprintf( + 'Failed to load template "%s"', + $file, + ), + ); + } } diff --git a/Sources/vendor/phpunit/php-timer/ChangeLog.md b/Sources/vendor/phpunit/php-timer/ChangeLog.md index 2814b007..25a756f9 100644 --- a/Sources/vendor/phpunit/php-timer/ChangeLog.md +++ b/Sources/vendor/phpunit/php-timer/ChangeLog.md @@ -2,6 +2,12 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. +## [7.0.0] - 2024-02-02 + +### Removed + +* This component is no longer supported on PHP 8.1 + ## [6.0.0] - 2023-02-03 ### Removed @@ -127,6 +133,7 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](htt * This component is no longer supported on PHP 5.3, PHP 5.4, PHP 5.5, PHP 5.6, and PHP 7.0 +[7.0.0]: https://github.com/sebastianbergmann/php-timer/compare/6.0...7.0.0 [6.0.0]: https://github.com/sebastianbergmann/php-timer/compare/5.0.3...6.0.0 [5.0.3]: https://github.com/sebastianbergmann/php-timer/compare/5.0.2...5.0.3 [5.0.2]: https://github.com/sebastianbergmann/php-timer/compare/5.0.1...5.0.2 diff --git a/Sources/vendor/phpunit/php-timer/LICENSE b/Sources/vendor/phpunit/php-timer/LICENSE index bf96e0e8..60a032d2 100644 --- a/Sources/vendor/phpunit/php-timer/LICENSE +++ b/Sources/vendor/phpunit/php-timer/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2010-2023, Sebastian Bergmann +Copyright (c) 2010-2024, Sebastian Bergmann All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Sources/vendor/phpunit/php-timer/SECURITY.md b/Sources/vendor/phpunit/php-timer/SECURITY.md index d4ee967b..d88ff001 100644 --- a/Sources/vendor/phpunit/php-timer/SECURITY.md +++ b/Sources/vendor/phpunit/php-timer/SECURITY.md @@ -1,9 +1,30 @@ # Security Policy -This library is intended to be used in development environments only. For instance, it is used by the testing framework PHPUnit. There is no reason why this library should be installed on a webserver. +If you believe you have found a security vulnerability in the library that is developed in this repository, please report it to us through coordinated disclosure. -**If you upload this library to a webserver then your deployment process is broken. On a more general note, if your `vendor` directory is publicly accessible on your webserver then your deployment process is also broken.** +**Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests.** -## Security Contact Information +Instead, please email `sebastian@phpunit.de`. + +Please include as much of the information listed below as you can to help us better understand and resolve the issue: + +* The type of issue +* Full paths of source file(s) related to the manifestation of the issue +* The location of the affected source code (tag/branch/commit or direct URL) +* Any special configuration required to reproduce the issue +* Step-by-step instructions to reproduce the issue +* Proof-of-concept or exploit code (if possible) +* Impact of the issue, including how an attacker might exploit the issue + +This information will help us triage your report more quickly. + +## Web Context + +The library that is developed in this repository was either extracted from [PHPUnit](https://github.com/sebastianbergmann/phpunit) or developed specifically as a dependency for PHPUnit. + +The library is developed with a focus on development environments and the command-line. No specific testing or hardening with regard to using the library in an HTTP or web context or with untrusted input data is performed. The library might also contain functionality that intentionally exposes internal application data for debugging purposes. + +If the library is used in a web application, the application developer is responsible for filtering inputs or escaping outputs as necessary and for verifying that the used functionality is safe for use within the intended context. + +Vulnerabilities specific to the use outside a development context will be fixed as applicable, provided that the fix does not have an averse effect on the primary use case for development purposes. -After the above, if you still would like to report a security vulnerability, please email `sebastian@phpunit.de`. diff --git a/Sources/vendor/phpunit/php-timer/composer.json b/Sources/vendor/phpunit/php-timer/composer.json index 6f5880b6..f4991e43 100644 --- a/Sources/vendor/phpunit/php-timer/composer.json +++ b/Sources/vendor/phpunit/php-timer/composer.json @@ -15,18 +15,19 @@ } ], "support": { - "issues": "https://github.com/sebastianbergmann/php-timer/issues" + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "security": "https://github.com/sebastianbergmann/php-timer/security/policy" }, "prefer-stable": true, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "config": { "platform": { - "php": "8.1.0" + "php": "8.2.0" }, "optimize-autoloader": true, "sort-packages": true @@ -38,7 +39,7 @@ }, "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.0-dev" } } } diff --git a/Sources/vendor/phpunit/php-timer/src/Duration.php b/Sources/vendor/phpunit/php-timer/src/Duration.php index ef3f3bee..8b878736 100644 --- a/Sources/vendor/phpunit/php-timer/src/Duration.php +++ b/Sources/vendor/phpunit/php-timer/src/Duration.php @@ -15,13 +15,13 @@ use function sprintf; /** * @psalm-immutable */ -final class Duration +final readonly class Duration { - private readonly float $nanoseconds; - private readonly int $hours; - private readonly int $minutes; - private readonly int $seconds; - private readonly int $milliseconds; + private float $nanoseconds; + private int $hours; + private int $minutes; + private int $seconds; + private int $milliseconds; public static function fromMicroseconds(float $microseconds): self { diff --git a/Sources/vendor/phpunit/php-timer/src/ResourceUsageFormatter.php b/Sources/vendor/phpunit/php-timer/src/ResourceUsageFormatter.php index 0c94b9b3..4ac09dd4 100644 --- a/Sources/vendor/phpunit/php-timer/src/ResourceUsageFormatter.php +++ b/Sources/vendor/phpunit/php-timer/src/ResourceUsageFormatter.php @@ -30,7 +30,7 @@ final class ResourceUsageFormatter return sprintf( 'Time: %s, Memory: %s', $duration->asString(), - $this->bytesToString(memory_get_peak_usage(true)) + $this->bytesToString(memory_get_peak_usage(true)), ); } @@ -41,20 +41,20 @@ final class ResourceUsageFormatter { if (!isset($_SERVER['REQUEST_TIME_FLOAT'])) { throw new TimeSinceStartOfRequestNotAvailableException( - 'Cannot determine time at which the request started because $_SERVER[\'REQUEST_TIME_FLOAT\'] is not available' + 'Cannot determine time at which the request started because $_SERVER[\'REQUEST_TIME_FLOAT\'] is not available', ); } if (!is_float($_SERVER['REQUEST_TIME_FLOAT'])) { throw new TimeSinceStartOfRequestNotAvailableException( - 'Cannot determine time at which the request started because $_SERVER[\'REQUEST_TIME_FLOAT\'] is not of type float' + 'Cannot determine time at which the request started because $_SERVER[\'REQUEST_TIME_FLOAT\'] is not of type float', ); } return $this->resourceUsage( Duration::fromMicroseconds( - (1000000 * (microtime(true) - $_SERVER['REQUEST_TIME_FLOAT'])) - ) + (1000000 * (microtime(true) - $_SERVER['REQUEST_TIME_FLOAT'])), + ), ); } diff --git a/Sources/vendor/phpunit/php-timer/src/Timer.php b/Sources/vendor/phpunit/php-timer/src/Timer.php index ead26181..13109d05 100644 --- a/Sources/vendor/phpunit/php-timer/src/Timer.php +++ b/Sources/vendor/phpunit/php-timer/src/Timer.php @@ -31,7 +31,7 @@ final class Timer { if (empty($this->startTimes)) { throw new NoActiveTimerException( - 'Timer::start() has to be called before Timer::stop()' + 'Timer::start() has to be called before Timer::stop()', ); } diff --git a/Sources/vendor/phpunit/phpunit/ChangeLog-10.5.md b/Sources/vendor/phpunit/phpunit/ChangeLog-10.5.md deleted file mode 100644 index af8e7071..00000000 --- a/Sources/vendor/phpunit/phpunit/ChangeLog-10.5.md +++ /dev/null @@ -1,70 +0,0 @@ -# Changes in PHPUnit 10.5 - -All notable changes of the PHPUnit 10.5 release series are documented in this file using the [Keep a CHANGELOG](https://keepachangelog.com/) principles. - -## [10.5.5] - 2023-12-27 - -### Fixed - -* [#5619](https://github.com/sebastianbergmann/phpunit/pull/5619): Reverted change introduced in PHPUnit 10.5.4 that broke backward compatibility - -## [10.5.4] - 2023-12-27 - -### Fixed - -* [#5592](https://github.com/sebastianbergmann/phpunit/issues/5592): Error Handler prevents `error_get_last()` usage in tests -* [#5592](https://github.com/sebastianbergmann/phpunit/issues/5592): `E_USER_ERROR` does not abort test execution -* [#5612](https://github.com/sebastianbergmann/phpunit/issues/5612): Empty `` element in XML configuration after migrating configuration -* [#5616](https://github.com/sebastianbergmann/phpunit/issues/5616): Values from data provider are not shown for failed test -* [#5619](https://github.com/sebastianbergmann/phpunit/pull/5619): Check and restore error/exception global handlers -* [#5621](https://github.com/sebastianbergmann/phpunit/issues/5621): Name of data set is missing from TeamCity output - -## [10.5.3] - 2023-12-13 - -### Deprecated - -* `Test\AssertionFailed` and `Test\AssertionSucceeded` events -* `PHPUnit\Runner\Extension\Facade::requireExportOfObjects()` and `PHPUnit\Runner\Extension\Facade::requiresExportOfObjects()` -* `registerMockObjectsFromTestArgumentsRecursively` attribute on the `` element of the XML configuration file -* `PHPUnit\TextUI\Configuration\Configuration::registerMockObjectsFromTestArgumentsRecursively()` - -### Fixed - -* [#5614](https://github.com/sebastianbergmann/phpunit/issues/5614): Infinite recursion when data provider provides recursive array - -## [10.5.2] - 2023-12-05 - -### Fixed - -* [#5561](https://github.com/sebastianbergmann/phpunit/issues/5561): JUnit XML logger does not handle assertion failures in before-test methods -* [#5567](https://github.com/sebastianbergmann/phpunit/issues/5567): Infinite recursion when recursive / self-referencing arrays are checked whether they contain only scalar values - -## [10.5.1] - 2023-12-01 - -### Fixed - -* [#5593](https://github.com/sebastianbergmann/phpunit/issues/5593): Return Value Generator fails to correctly create test stub for method with `static` return type declaration when used recursively -* [#5596](https://github.com/sebastianbergmann/phpunit/issues/5596): `PHPUnit\Framework\TestCase` has `@internal` annotation in PHAR - -## [10.5.0] - 2023-12-01 - -### Added - -* [#5532](https://github.com/sebastianbergmann/phpunit/issues/5532): `#[IgnoreDeprecations]` attribute to ignore `E_(USER_)DEPRECATED` issues on test class and test method level -* [#5551](https://github.com/sebastianbergmann/phpunit/issues/5551): Support for omitting parameter default values for `willReturnMap()` -* [#5577](https://github.com/sebastianbergmann/phpunit/issues/5577): `--composer-lock` CLI option for PHAR binary that displays the `composer.lock` used to build the PHAR - -### Changed - -* `MockBuilder::disableAutoReturnValueGeneration()` and `MockBuilder::enableAutoReturnValueGeneration()` are no longer deprecated - -### Fixed - -* [#5563](https://github.com/sebastianbergmann/phpunit/issues/5563): `createMockForIntersectionOfInterfaces()` does not automatically register mock object for expectation verification - -[10.5.5]: https://github.com/sebastianbergmann/phpunit/compare/10.5.4...10.5.5 -[10.5.4]: https://github.com/sebastianbergmann/phpunit/compare/10.5.3...10.5.4 -[10.5.3]: https://github.com/sebastianbergmann/phpunit/compare/10.5.2...10.5.3 -[10.5.2]: https://github.com/sebastianbergmann/phpunit/compare/10.5.1...10.5.2 -[10.5.1]: https://github.com/sebastianbergmann/phpunit/compare/10.5.0...10.5.1 -[10.5.0]: https://github.com/sebastianbergmann/phpunit/compare/10.4.2...10.5.0 diff --git a/Sources/vendor/phpunit/phpunit/DEPRECATIONS.md b/Sources/vendor/phpunit/phpunit/DEPRECATIONS.md index d66cef7e..97c794c4 100644 --- a/Sources/vendor/phpunit/phpunit/DEPRECATIONS.md +++ b/Sources/vendor/phpunit/phpunit/DEPRECATIONS.md @@ -1,8 +1,8 @@ # Deprecations -## Soft Deprecations +## Hard Deprecations -This functionality is currently [soft-deprecated](https://phpunit.de/backward-compatibility.html#soft-deprecation): +This functionality is currently [hard-deprecated](https://phpunit.de/backward-compatibility.html#hard-deprecation): ### Writing Tests @@ -15,77 +15,38 @@ This functionality is currently [soft-deprecated](https://phpunit.de/backward-co #### Test Double API -| Issue | Description | Since | Replacement | -|-------------------------------------------------------------------|---------------------------------------------------|--------|-----------------------------------------------------------------------------------------| -| [#5240](https://github.com/sebastianbergmann/phpunit/issues/5240) | `TestCase::createTestProxy()` | 10.1.0 | | -| [#5241](https://github.com/sebastianbergmann/phpunit/issues/5241) | `TestCase::getMockForAbstractClass()` | 10.1.0 | | -| [#5242](https://github.com/sebastianbergmann/phpunit/issues/5242) | `TestCase::getMockFromWsdl()` | 10.1.0 | | -| [#5243](https://github.com/sebastianbergmann/phpunit/issues/5243) | `TestCase::getMockForTrait()` | 10.1.0 | | -| [#5244](https://github.com/sebastianbergmann/phpunit/issues/5244) | `TestCase::getObjectForTrait()` | 10.1.0 | | -| [#5305](https://github.com/sebastianbergmann/phpunit/issues/5305) | `MockBuilder::getMockForAbstractClass()` | 10.1.0 | | -| [#5306](https://github.com/sebastianbergmann/phpunit/issues/5306) | `MockBuilder::getMockForTrait()` | 10.1.0 | | -| [#5307](https://github.com/sebastianbergmann/phpunit/issues/5307) | `MockBuilder::disableProxyingToOriginalMethods()` | 10.1.0 | | -| [#5307](https://github.com/sebastianbergmann/phpunit/issues/5307) | `MockBuilder::enableProxyingToOriginalMethods()` | 10.1.0 | | -| [#5307](https://github.com/sebastianbergmann/phpunit/issues/5307) | `MockBuilder::setProxyTarget()` | 10.1.0 | | -| [#5308](https://github.com/sebastianbergmann/phpunit/issues/5308) | `MockBuilder::allowMockingUnknownTypes()` | 10.1.0 | | -| [#5308](https://github.com/sebastianbergmann/phpunit/issues/5308) | `MockBuilder::disallowMockingUnknownTypes()` | 10.1.0 | | -| [#5309](https://github.com/sebastianbergmann/phpunit/issues/5309) | `MockBuilder::disableAutoload()` | 10.1.0 | | -| [#5309](https://github.com/sebastianbergmann/phpunit/issues/5309) | `MockBuilder::enableAutoload()` | 10.1.0 | | -| [#5315](https://github.com/sebastianbergmann/phpunit/issues/5315) | `MockBuilder::disableArgumentCloning()` | 10.1.0 | | -| [#5315](https://github.com/sebastianbergmann/phpunit/issues/5315) | `MockBuilder::enableArgumentCloning()` | 10.1.0 | | -| [#5320](https://github.com/sebastianbergmann/phpunit/issues/5320) | `MockBuilder::addMethods()` | 10.1.0 | | -| [#5423](https://github.com/sebastianbergmann/phpunit/issues/5423) | `TestCase::onConsecutiveCalls()` | 10.3.0 | Use `$double->willReturn()` instead of `$double->will($this->onConsecutiveCalls())` | -| [#5423](https://github.com/sebastianbergmann/phpunit/issues/5423) | `TestCase::returnArgument()` | 10.3.0 | Use `$double->willReturnArgument()` instead of `$double->will($this->returnArgument())` | -| [#5423](https://github.com/sebastianbergmann/phpunit/issues/5423) | `TestCase::returnCallback()` | 10.3.0 | Use `$double->willReturnCallback()` instead of `$double->will($this->returnCallback())` | -| [#5423](https://github.com/sebastianbergmann/phpunit/issues/5423) | `TestCase::returnSelf()` | 10.3.0 | Use `$double->willReturnSelf()` instead of `$double->will($this->returnSelf())` | -| [#5423](https://github.com/sebastianbergmann/phpunit/issues/5423) | `TestCase::returnValue()` | 10.3.0 | Use `$double->willReturn()` instead of `$double->will($this->returnValue())` | -| [#5423](https://github.com/sebastianbergmann/phpunit/issues/5423) | `TestCase::returnValueMap()` | 10.3.0 | Use `$double->willReturnMap()` instead of `$double->will($this->returnValueMap())` | - -#### Miscellaneous - -| Issue | Description | Since | Replacement | -|-------------------------------------------------------------------|----------------------------------------------------------------|--------|--------------------------------------------------------------------| -| [#5236](https://github.com/sebastianbergmann/phpunit/issues/5236) | `PHPUnit\Framework\Attributes\CodeCoverageIgnore()` | 10.1.0 | | -| [#5214](https://github.com/sebastianbergmann/phpunit/issues/5214) | `TestCase::iniSet()` | 10.3.0 | | -| [#5216](https://github.com/sebastianbergmann/phpunit/issues/5216) | `TestCase::setLocale()` | 10.3.0 | | -| [#5236](https://github.com/sebastianbergmann/phpunit/issues/5513) | `PHPUnit\Framework\Attributes\IgnoreClassForCodeCoverage()` | 10.4.0 | Use `@codeCoverageIgnore` annotation in the class' doc-comment | -| [#5236](https://github.com/sebastianbergmann/phpunit/issues/5513) | `PHPUnit\Framework\Attributes\IgnoreMethodForCodeCoverage()` | 10.4.0 | Use `@codeCoverageIgnore` annotation in the method's doc-comment | -| [#5236](https://github.com/sebastianbergmann/phpunit/issues/5513) | `PHPUnit\Framework\Attributes\IgnoreFunctionForCodeCoverage()` | 10.4.0 | Use `@codeCoverageIgnore` annotation in the function's doc-comment | - -### Running Tests - -| Issue | Description | Since | Replacement | -|-------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------|--------|-------------| -| [#5481](https://github.com/sebastianbergmann/phpunit/issues/5481) | `dataSet` attribute for `testCaseMethod` elements in the XML document generated by `--list-tests-xml` | 10.4.0 | | - -### Extending PHPUnit - -| Issue | Description | Since | Replacement | -|-------|------------------------------------------------------------------------------------------------------------------------------|--------|--------------------------------------------------------------------------------| -| | `PHPUnit\TextUI\Configuration\Configuration::coverageExcludeDirectories()` | 10.2.0 | `PHPUnit\TextUI\Configuration\Configuration::source()->excludeDirectories()` | -| | `PHPUnit\TextUI\Configuration\Configuration::coverageExcludeFiles()` | 10.2.0 | `PHPUnit\TextUI\Configuration\Configuration::source()->excludeFiles()` | -| | `PHPUnit\TextUI\Configuration\Configuration::coverageIncludeDirectories()` | 10.2.0 | `PHPUnit\TextUI\Configuration\Configuration::source()->includeDirectories()` | -| | `PHPUnit\TextUI\Configuration\Configuration::coverageIncludeFiles()` | 10.2.0 | `PHPUnit\TextUI\Configuration\Configuration::source()->includeFiles()` | -| | `PHPUnit\TextUI\Configuration\Configuration::loadPharExtensions()` | 10.2.0 | `PHPUnit\TextUI\Configuration\Configuration::noExtensions()` | -| | `PHPUnit\TextUI\Configuration\Configuration::hasNonEmptyListOfFilesToBeIncludedInCodeCoverageReport()` | 10.2.0 | `PHPUnit\TextUI\Configuration\Configuration::source()->notEmpty()` | -| | `PHPUnit\TextUI\Configuration\Configuration::restrictDeprecations()` | 10.2.0 | `PHPUnit\TextUI\Configuration\Configuration::source()->restrictDeprecations()` | -| | `PHPUnit\TextUI\Configuration\Configuration::restrictNotices()` | 10.2.0 | `PHPUnit\TextUI\Configuration\Configuration::source()->restrictNotices()` | -| | `PHPUnit\TextUI\Configuration\Configuration::restrictWarnings()` | 10.2.0 | `PHPUnit\TextUI\Configuration\Configuration::source()->restrictWarnings()` | -| | `PHPUnit\TextUI\Configuration\Configuration::cliArgument()` | 10.4.0 | `PHPUnit\TextUI\Configuration\Configuration::cliArguments()[0]` | -| | `PHPUnit\TextUI\Configuration\Configuration::hasCliArgument()` | 10.4.0 | `PHPUnit\TextUI\Configuration\Configuration::hasCliArguments()` | -| | `PHPUnit\Framework\Constraint\Constraint::exporter()` | 10.4.0 | | -| | `PHPUnit\TextUI\Configuration\Configuration::registerMockObjectsFromTestArgumentsRecursively()` | 10.5.3 | | -| | `Test\AssertionFailed` and `Test\AssertionSucceeded` events | 10.5.3 | | -| | `PHPUnit\Runner\Extension\Facade::requireExportOfObjects()` and `PHPUnit\Runner\Extension\Facade::requiresExportOfObjects()` | 10.5.3 | | - -## Hard Deprecations - -This functionality is currently [hard-deprecated](https://phpunit.de/backward-compatibility.html#hard-deprecation): - -### Writing Tests +| Issue | Description | Since | Replacement | +|-------------------------------------------------------------------|--------------------------------------------------------------------------------|--------|-----------------------------------------------------------------------------------------| +| [#5240](https://github.com/sebastianbergmann/phpunit/issues/5240) | `TestCase::createTestProxy()` | 10.1.0 | | +| [#5241](https://github.com/sebastianbergmann/phpunit/issues/5241) | `TestCase::getMockForAbstractClass()` | 10.1.0 | | +| [#5242](https://github.com/sebastianbergmann/phpunit/issues/5242) | `TestCase::getMockFromWsdl()` | 10.1.0 | | +| [#5243](https://github.com/sebastianbergmann/phpunit/issues/5243) | `TestCase::getMockForTrait()` | 10.1.0 | | +| [#5244](https://github.com/sebastianbergmann/phpunit/issues/5244) | `TestCase::getObjectForTrait()` | 10.1.0 | | +| [#5305](https://github.com/sebastianbergmann/phpunit/issues/5305) | `MockBuilder::getMockForAbstractClass()` | 10.1.0 | | +| [#5306](https://github.com/sebastianbergmann/phpunit/issues/5306) | `MockBuilder::getMockForTrait()` | 10.1.0 | | +| [#5307](https://github.com/sebastianbergmann/phpunit/issues/5307) | `MockBuilder::disableProxyingToOriginalMethods()` | 10.1.0 | | +| [#5307](https://github.com/sebastianbergmann/phpunit/issues/5307) | `MockBuilder::enableProxyingToOriginalMethods()` | 10.1.0 | | +| [#5307](https://github.com/sebastianbergmann/phpunit/issues/5307) | `MockBuilder::setProxyTarget()` | 10.1.0 | | +| [#5308](https://github.com/sebastianbergmann/phpunit/issues/5308) | `MockBuilder::allowMockingUnknownTypes()` | 10.1.0 | | +| [#5308](https://github.com/sebastianbergmann/phpunit/issues/5308) | `MockBuilder::disallowMockingUnknownTypes()` | 10.1.0 | | +| [#5309](https://github.com/sebastianbergmann/phpunit/issues/5309) | `MockBuilder::disableAutoload()` | 10.1.0 | | +| [#5309](https://github.com/sebastianbergmann/phpunit/issues/5309) | `MockBuilder::enableAutoload()` | 10.1.0 | | +| [#5315](https://github.com/sebastianbergmann/phpunit/issues/5315) | `MockBuilder::disableArgumentCloning()` | 10.1.0 | | +| [#5315](https://github.com/sebastianbergmann/phpunit/issues/5315) | `MockBuilder::enableArgumentCloning()` | 10.1.0 | | +| [#5320](https://github.com/sebastianbergmann/phpunit/issues/5320) | `MockBuilder::addMethods()` | 10.1.0 | | +| [#5415](https://github.com/sebastianbergmann/phpunit/issues/5415) | Support for doubling interfaces (or classes) that have a method named `method` | 11.0.0 | | +| [#5423](https://github.com/sebastianbergmann/phpunit/issues/5423) | `TestCase::onConsecutiveCalls()` | 10.3.0 | Use `$double->willReturn()` instead of `$double->will($this->onConsecutiveCalls())` | +| [#5423](https://github.com/sebastianbergmann/phpunit/issues/5423) | `TestCase::returnArgument()` | 10.3.0 | Use `$double->willReturnArgument()` instead of `$double->will($this->returnArgument())` | +| [#5423](https://github.com/sebastianbergmann/phpunit/issues/5423) | `TestCase::returnCallback()` | 10.3.0 | Use `$double->willReturnCallback()` instead of `$double->will($this->returnCallback())` | +| [#5423](https://github.com/sebastianbergmann/phpunit/issues/5423) | `TestCase::returnSelf()` | 10.3.0 | Use `$double->willReturnSelf()` instead of `$double->will($this->returnSelf())` | +| [#5423](https://github.com/sebastianbergmann/phpunit/issues/5423) | `TestCase::returnValue()` | 10.3.0 | Use `$double->willReturn()` instead of `$double->will($this->returnValue())` | +| [#5423](https://github.com/sebastianbergmann/phpunit/issues/5423) | `TestCase::returnValueMap()` | 10.3.0 | Use `$double->willReturnMap()` instead of `$double->will($this->returnValueMap())` | +| [#5535](https://github.com/sebastianbergmann/phpunit/issues/5525) | Configuring expectations using `expects()` on test stubs | 11.0.0 | Create a mock object when you need to configure expectations on a test double | #### Miscellaneous -| Issue | Description | Since | Replacement | -|-------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------|--------|-------------| -| [#5100](https://github.com/sebastianbergmann/phpunit/issues/5100) | Support for non-static data provider methods, non-public data provider methods, and data provider methods that declare parameters | 10.0.0 | | +| Issue | Description | Since | Replacement | +|-------------------------------------------------------------------|--------------------------|--------|------------------------| +| [#4505](https://github.com/sebastianbergmann/phpunit/issues/4505) | Metadata in doc-comments | 10.3.0 | Metadata in attributes | +| [#5214](https://github.com/sebastianbergmann/phpunit/issues/5214) | `TestCase::iniSet()` | 10.3.0 | | +| [#5216](https://github.com/sebastianbergmann/phpunit/issues/5216) | `TestCase::setLocale()` | 10.3.0 | | diff --git a/Sources/vendor/phpunit/phpunit/LICENSE b/Sources/vendor/phpunit/phpunit/LICENSE index 73e95512..bdb57ec6 100644 --- a/Sources/vendor/phpunit/phpunit/LICENSE +++ b/Sources/vendor/phpunit/phpunit/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2001-2023, Sebastian Bergmann +Copyright (c) 2001-2024, Sebastian Bergmann All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Sources/vendor/phpunit/phpunit/README.md b/Sources/vendor/phpunit/phpunit/README.md index 1ec859a1..d18fbc75 100644 --- a/Sources/vendor/phpunit/phpunit/README.md +++ b/Sources/vendor/phpunit/phpunit/README.md @@ -19,7 +19,7 @@ $ php phpunit-X.Y.phar --version Please replace `X.Y` with the version of PHPUnit you are interested in. -Alternatively, you may use [Composer](https://getcomposer.org/) to download and install PHPUnit as well as its dependencies. Please refer to the "[Getting Started](https://phpunit.de/getting-started-with-phpunit.html)" guide for details on how to install PHPUnit. +Alternatively, you may use [Composer](https://getcomposer.org/) to download and install PHPUnit as well as its dependencies. Please refer to the [documentation](https://phpunit.de/documentation.html) for details on how to install PHPUnit. ## Contribute diff --git a/Sources/vendor/phpunit/phpunit/composer.json b/Sources/vendor/phpunit/phpunit/composer.json index 4f81fae0..f91b4ccd 100644 --- a/Sources/vendor/phpunit/phpunit/composer.json +++ b/Sources/vendor/phpunit/phpunit/composer.json @@ -22,7 +22,7 @@ }, "prefer-stable": true, "require": { - "php": ">=8.1", + "php": ">=8.2", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", @@ -32,26 +32,25 @@ "myclabs/deep-copy": "^1.10.1", "phar-io/manifest": "^2.0.3", "phar-io/version": "^3.0.2", - "phpunit/php-code-coverage": "^10.1.5", - "phpunit/php-file-iterator": "^4.0", - "phpunit/php-invoker": "^4.0", - "phpunit/php-text-template": "^3.0", - "phpunit/php-timer": "^6.0", - "sebastian/cli-parser": "^2.0", - "sebastian/code-unit": "^2.0", - "sebastian/comparator": "^5.0", - "sebastian/diff": "^5.0", - "sebastian/environment": "^6.0", - "sebastian/exporter": "^5.1", - "sebastian/global-state": "^6.0.1", - "sebastian/object-enumerator": "^5.0", - "sebastian/recursion-context": "^5.0", - "sebastian/type": "^4.0", - "sebastian/version": "^4.0" + "phpunit/php-code-coverage": "^11.0", + "phpunit/php-file-iterator": "^5.0", + "phpunit/php-invoker": "^5.0", + "phpunit/php-text-template": "^4.0", + "phpunit/php-timer": "^7.0", + "sebastian/cli-parser": "^3.0", + "sebastian/code-unit": "^3.0", + "sebastian/comparator": "^6.0", + "sebastian/diff": "^6.0", + "sebastian/environment": "^7.0", + "sebastian/exporter": "^6.0", + "sebastian/global-state": "^7.0", + "sebastian/object-enumerator": "^6.0", + "sebastian/type": "^5.0", + "sebastian/version": "^5.0" }, "config": { "platform": { - "php": "8.1.0" + "php": "8.2.0" }, "optimize-autoloader": true, "sort-packages": true @@ -78,13 +77,12 @@ "tests/_files/CoverageNamespacedFunctionTest.php", "tests/_files/CoveredFunction.php", "tests/_files/Generator.php", - "tests/_files/NamespaceCoveredFunction.php", - "tests/end-to-end/code-coverage/ignore-function-using-attribute/src/CoveredFunction.php" + "tests/_files/NamespaceCoveredFunction.php" ] }, "extra": { "branch-alias": { - "dev-main": "10.5-dev" + "dev-main": "11.0-dev" } } } diff --git a/Sources/vendor/phpunit/phpunit/composer.lock b/Sources/vendor/phpunit/phpunit/composer.lock index d41087fd..bb4c3c33 100644 --- a/Sources/vendor/phpunit/phpunit/composer.lock +++ b/Sources/vendor/phpunit/phpunit/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "e06728e5442edec84af96f94a889b4a7", + "content-hash": "79e6845f5698b01602e13b6c9ca92dff", "packages": [ { "name": "myclabs/deep-copy", @@ -67,25 +67,27 @@ }, { "name": "nikic/php-parser", - "version": "v4.18.0", + "version": "v5.0.2", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999" + "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/1bcbb2179f97633e98bbbc87044ee2611c7d7999", - "reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13", + "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13", "shasum": "" }, "require": { + "ext-ctype": "*", + "ext-json": "*", "ext-tokenizer": "*", - "php": ">=7.0" + "php": ">=7.4" }, "require-dev": { "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" }, "bin": [ "bin/php-parse" @@ -93,7 +95,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.9-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -117,26 +119,27 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.18.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2" }, - "time": "2023-12-10T21:03:43+00:00" + "time": "2024-03-05T20:51:40+00:00" }, { "name": "phar-io/manifest", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53" + "reference": "54750ef60c58e43759730615a392c31c80e23176" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", + "reference": "54750ef60c58e43759730615a392c31c80e23176", "shasum": "" }, "require": { "ext-dom": "*", + "ext-libxml": "*", "ext-phar": "*", "ext-xmlwriter": "*", "phar-io/version": "^3.0.1", @@ -177,9 +180,15 @@ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", "support": { "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.3" + "source": "https://github.com/phar-io/manifest/tree/2.0.4" }, - "time": "2021-07-20T11:28:43+00:00" + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:33:53+00:00" }, { "name": "phar-io/version", @@ -234,35 +243,35 @@ }, { "name": "phpunit/php-code-coverage", - "version": "10.1.11", + "version": "11.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "78c3b7625965c2513ee96569a4dbb62601784145" + "reference": "7e35a2cbcabac0e6865fd373742ea432a3c34f92" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/78c3b7625965c2513ee96569a4dbb62601784145", - "reference": "78c3b7625965c2513ee96569a4dbb62601784145", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7e35a2cbcabac0e6865fd373742ea432a3c34f92", + "reference": "7e35a2cbcabac0e6865fd373742ea432a3c34f92", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=8.1", - "phpunit/php-file-iterator": "^4.0", - "phpunit/php-text-template": "^3.0", - "sebastian/code-unit-reverse-lookup": "^3.0", - "sebastian/complexity": "^3.0", - "sebastian/environment": "^6.0", - "sebastian/lines-of-code": "^2.0", - "sebastian/version": "^4.0", + "nikic/php-parser": "^5.0", + "php": ">=8.2", + "phpunit/php-file-iterator": "^5.0", + "phpunit/php-text-template": "^4.0", + "sebastian/code-unit-reverse-lookup": "^4.0", + "sebastian/complexity": "^4.0", + "sebastian/environment": "^7.0", + "sebastian/lines-of-code": "^3.0", + "sebastian/version": "^5.0", "theseer/tokenizer": "^1.2.0" }, "require-dev": { - "phpunit/phpunit": "^10.1" + "phpunit/phpunit": "^11.0" }, "suggest": { "ext-pcov": "PHP extension that provides line coverage", @@ -271,7 +280,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.1-dev" + "dev-main": "11.0-dev" } }, "autoload": { @@ -300,7 +309,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.11" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.3" }, "funding": [ { @@ -308,32 +317,32 @@ "type": "github" } ], - "time": "2023-12-21T15:38:30+00:00" + "time": "2024-03-12T15:35:40+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "4.1.0", + "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c" + "reference": "99e95c94ad9500daca992354fa09d7b99abe2210" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c", - "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/99e95c94ad9500daca992354fa09d7b99abe2210", + "reference": "99e95c94ad9500daca992354fa09d7b99abe2210", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -361,7 +370,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0" + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.0.0" }, "funding": [ { @@ -369,28 +378,28 @@ "type": "github" } ], - "time": "2023-08-31T06:24:48+00:00" + "time": "2024-02-02T06:05:04+00:00" }, { "name": "phpunit/php-invoker", - "version": "4.0.0", + "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7" + "reference": "5d8d9355a16d8cc5a1305b0a85342cfa420612be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", - "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5d8d9355a16d8cc5a1305b0a85342cfa420612be", + "reference": "5d8d9355a16d8cc5a1305b0a85342cfa420612be", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { "ext-pcntl": "*", - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "suggest": { "ext-pcntl": "*" @@ -398,7 +407,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -424,7 +433,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0" + "security": "https://github.com/sebastianbergmann/php-invoker/security/policy", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.0" }, "funding": [ { @@ -432,32 +442,32 @@ "type": "github" } ], - "time": "2023-02-03T06:56:09+00:00" + "time": "2024-02-02T06:05:50+00:00" }, { "name": "phpunit/php-text-template", - "version": "3.0.1", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748" + "reference": "d38f6cbff1cdb6f40b03c9811421561668cc133e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748", - "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/d38f6cbff1cdb6f40b03c9811421561668cc133e", + "reference": "d38f6cbff1cdb6f40b03c9811421561668cc133e", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -484,7 +494,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-text-template/issues", "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1" + "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.0" }, "funding": [ { @@ -492,32 +502,32 @@ "type": "github" } ], - "time": "2023-08-31T14:07:24+00:00" + "time": "2024-02-02T06:06:56+00:00" }, { "name": "phpunit/php-timer", - "version": "6.0.0", + "version": "7.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d" + "reference": "8a59d9e25720482ee7fcdf296595e08795b84dc5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d", - "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8a59d9e25720482ee7fcdf296595e08795b84dc5", + "reference": "8a59d9e25720482ee7fcdf296595e08795b84dc5", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -543,7 +553,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0" + "security": "https://github.com/sebastianbergmann/php-timer/security/policy", + "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.0" }, "funding": [ { @@ -551,32 +562,32 @@ "type": "github" } ], - "time": "2023-02-03T06:57:52+00:00" + "time": "2024-02-02T06:08:01+00:00" }, { "name": "sebastian/cli-parser", - "version": "2.0.0", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae" + "reference": "00a74d5568694711f0222e54fb281e1d15fdf04a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/efdc130dbbbb8ef0b545a994fd811725c5282cae", - "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/00a74d5568694711f0222e54fb281e1d15fdf04a", + "reference": "00a74d5568694711f0222e54fb281e1d15fdf04a", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -599,7 +610,8 @@ "homepage": "https://github.com/sebastianbergmann/cli-parser", "support": { "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.0" + "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.1" }, "funding": [ { @@ -607,32 +619,32 @@ "type": "github" } ], - "time": "2023-02-03T06:58:15+00:00" + "time": "2024-03-02T07:26:58+00:00" }, { "name": "sebastian/code-unit", - "version": "2.0.0", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "a81fee9eef0b7a76af11d121767abc44c104e503" + "reference": "6634549cb8d702282a04a774e36a7477d2bd9015" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503", - "reference": "a81fee9eef0b7a76af11d121767abc44c104e503", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/6634549cb8d702282a04a774e36a7477d2bd9015", + "reference": "6634549cb8d702282a04a774e36a7477d2bd9015", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -655,7 +667,8 @@ "homepage": "https://github.com/sebastianbergmann/code-unit", "support": { "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0" + "security": "https://github.com/sebastianbergmann/code-unit/security/policy", + "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.0" }, "funding": [ { @@ -663,32 +676,32 @@ "type": "github" } ], - "time": "2023-02-03T06:58:43+00:00" + "time": "2024-02-02T05:50:41+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", - "version": "3.0.0", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d" + "reference": "df80c875d3e459b45c6039e4d9b71d4fbccae25d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", - "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/df80c875d3e459b45c6039e4d9b71d4fbccae25d", + "reference": "df80c875d3e459b45c6039e4d9b71d4fbccae25d", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -710,7 +723,8 @@ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", "support": { "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0" + "security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.0" }, "funding": [ { @@ -718,36 +732,36 @@ "type": "github" } ], - "time": "2023-02-03T06:59:15+00:00" + "time": "2024-02-02T05:52:17+00:00" }, { "name": "sebastian/comparator", - "version": "5.0.1", + "version": "6.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2db5010a484d53ebf536087a70b4a5423c102372" + "reference": "bd0f2fa5b9257c69903537b266ccb80fcf940db8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2db5010a484d53ebf536087a70b4a5423c102372", - "reference": "2db5010a484d53ebf536087a70b4a5423c102372", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/bd0f2fa5b9257c69903537b266ccb80fcf940db8", + "reference": "bd0f2fa5b9257c69903537b266ccb80fcf940db8", "shasum": "" }, "require": { "ext-dom": "*", "ext-mbstring": "*", - "php": ">=8.1", - "sebastian/diff": "^5.0", - "sebastian/exporter": "^5.0" + "php": ">=8.2", + "sebastian/diff": "^6.0", + "sebastian/exporter": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^10.3" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -787,7 +801,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.1" + "source": "https://github.com/sebastianbergmann/comparator/tree/6.0.0" }, "funding": [ { @@ -795,33 +809,33 @@ "type": "github" } ], - "time": "2023-08-14T13:18:12+00:00" + "time": "2024-02-02T05:53:45+00:00" }, { "name": "sebastian/complexity", - "version": "3.2.0", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "68ff824baeae169ec9f2137158ee529584553799" + "reference": "88a434ad86150e11a606ac4866b09130712671f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799", - "reference": "68ff824baeae169ec9f2137158ee529584553799", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/88a434ad86150e11a606ac4866b09130712671f0", + "reference": "88a434ad86150e11a606ac4866b09130712671f0", "shasum": "" }, "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=8.1" + "nikic/php-parser": "^5.0", + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.2-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -845,7 +859,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", "security": "https://github.com/sebastianbergmann/complexity/security/policy", - "source": "https://github.com/sebastianbergmann/complexity/tree/3.2.0" + "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.0" }, "funding": [ { @@ -853,33 +867,33 @@ "type": "github" } ], - "time": "2023-12-21T08:37:17+00:00" + "time": "2024-02-02T05:55:19+00:00" }, { "name": "sebastian/diff", - "version": "5.1.0", + "version": "6.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "fbf413a49e54f6b9b17e12d900ac7f6101591b7f" + "reference": "ab83243ecc233de5655b76f577711de9f842e712" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/fbf413a49e54f6b9b17e12d900ac7f6101591b7f", - "reference": "fbf413a49e54f6b9b17e12d900ac7f6101591b7f", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ab83243ecc233de5655b76f577711de9f842e712", + "reference": "ab83243ecc233de5655b76f577711de9f842e712", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0", + "phpunit/phpunit": "^11.0", "symfony/process": "^4.2 || ^5" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.1-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -912,7 +926,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", "security": "https://github.com/sebastianbergmann/diff/security/policy", - "source": "https://github.com/sebastianbergmann/diff/tree/5.1.0" + "source": "https://github.com/sebastianbergmann/diff/tree/6.0.1" }, "funding": [ { @@ -920,27 +934,27 @@ "type": "github" } ], - "time": "2023-12-22T10:55:06+00:00" + "time": "2024-03-02T07:30:33+00:00" }, { "name": "sebastian/environment", - "version": "6.0.1", + "version": "7.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951" + "reference": "100d8b855d7180f79f9a9a5c483f2d960581c3ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/43c751b41d74f96cbbd4e07b7aec9675651e2951", - "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/100d8b855d7180f79f9a9a5c483f2d960581c3ea", + "reference": "100d8b855d7180f79f9a9a5c483f2d960581c3ea", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "suggest": { "ext-posix": "*" @@ -948,7 +962,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -976,7 +990,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", "security": "https://github.com/sebastianbergmann/environment/security/policy", - "source": "https://github.com/sebastianbergmann/environment/tree/6.0.1" + "source": "https://github.com/sebastianbergmann/environment/tree/7.0.0" }, "funding": [ { @@ -984,34 +998,34 @@ "type": "github" } ], - "time": "2023-04-11T05:39:26+00:00" + "time": "2024-02-02T05:57:54+00:00" }, { "name": "sebastian/exporter", - "version": "5.1.1", + "version": "6.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc" + "reference": "f291e5a317c321c0381fa9ecc796fa2d21b186da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/64f51654862e0f5e318db7e9dcc2292c63cdbddc", - "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/f291e5a317c321c0381fa9ecc796fa2d21b186da", + "reference": "f291e5a317c321c0381fa9ecc796fa2d21b186da", "shasum": "" }, "require": { "ext-mbstring": "*", - "php": ">=8.1", - "sebastian/recursion-context": "^5.0" + "php": ">=8.2", + "sebastian/recursion-context": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.1-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -1054,7 +1068,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", "security": "https://github.com/sebastianbergmann/exporter/security/policy", - "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.1" + "source": "https://github.com/sebastianbergmann/exporter/tree/6.0.1" }, "funding": [ { @@ -1062,35 +1076,35 @@ "type": "github" } ], - "time": "2023-09-24T13:22:09+00:00" + "time": "2024-03-02T07:28:20+00:00" }, { "name": "sebastian/global-state", - "version": "6.0.1", + "version": "7.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4" + "reference": "c3a307e832f2e69c7ef869e31fc644fde0e7cb3e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/7ea9ead78f6d380d2a667864c132c2f7b83055e4", - "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/c3a307e832f2e69c7ef869e31fc644fde0e7cb3e", + "reference": "c3a307e832f2e69c7ef869e31fc644fde0e7cb3e", "shasum": "" }, "require": { - "php": ">=8.1", - "sebastian/object-reflector": "^3.0", - "sebastian/recursion-context": "^5.0" + "php": ">=8.2", + "sebastian/object-reflector": "^4.0", + "sebastian/recursion-context": "^6.0" }, "require-dev": { "ext-dom": "*", - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -1109,14 +1123,14 @@ } ], "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", + "homepage": "https://www.github.com/sebastianbergmann/global-state", "keywords": [ "global state" ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", "security": "https://github.com/sebastianbergmann/global-state/security/policy", - "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.1" + "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.1" }, "funding": [ { @@ -1124,33 +1138,33 @@ "type": "github" } ], - "time": "2023-07-19T07:19:23+00:00" + "time": "2024-03-02T07:32:10+00:00" }, { "name": "sebastian/lines-of-code", - "version": "2.0.2", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0" + "reference": "376c5b3f6b43c78fdc049740bca76a7c846706c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/856e7f6a75a84e339195d48c556f23be2ebf75d0", - "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/376c5b3f6b43c78fdc049740bca76a7c846706c0", + "reference": "376c5b3f6b43c78fdc049740bca76a7c846706c0", "shasum": "" }, "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=8.1" + "nikic/php-parser": "^5.0", + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -1174,7 +1188,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.2" + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.0" }, "funding": [ { @@ -1182,34 +1196,34 @@ "type": "github" } ], - "time": "2023-12-21T08:38:20+00:00" + "time": "2024-02-02T06:00:36+00:00" }, { "name": "sebastian/object-enumerator", - "version": "5.0.0", + "version": "6.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906" + "reference": "f75f6c460da0bbd9668f43a3dde0ec0ba7faa678" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906", - "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f75f6c460da0bbd9668f43a3dde0ec0ba7faa678", + "reference": "f75f6c460da0bbd9668f43a3dde0ec0ba7faa678", "shasum": "" }, "require": { - "php": ">=8.1", - "sebastian/object-reflector": "^3.0", - "sebastian/recursion-context": "^5.0" + "php": ">=8.2", + "sebastian/object-reflector": "^4.0", + "sebastian/recursion-context": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -1231,7 +1245,8 @@ "homepage": "https://github.com/sebastianbergmann/object-enumerator/", "support": { "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0" + "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.0" }, "funding": [ { @@ -1239,32 +1254,32 @@ "type": "github" } ], - "time": "2023-02-03T07:08:32+00:00" + "time": "2024-02-02T06:01:29+00:00" }, { "name": "sebastian/object-reflector", - "version": "3.0.0", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "24ed13d98130f0e7122df55d06c5c4942a577957" + "reference": "bb2a6255d30853425fd38f032eb64ced9f7f132d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957", - "reference": "24ed13d98130f0e7122df55d06c5c4942a577957", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/bb2a6255d30853425fd38f032eb64ced9f7f132d", + "reference": "bb2a6255d30853425fd38f032eb64ced9f7f132d", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -1286,7 +1301,8 @@ "homepage": "https://github.com/sebastianbergmann/object-reflector/", "support": { "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0" + "security": "https://github.com/sebastianbergmann/object-reflector/security/policy", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.0" }, "funding": [ { @@ -1294,32 +1310,32 @@ "type": "github" } ], - "time": "2023-02-03T07:06:18+00:00" + "time": "2024-02-02T06:02:18+00:00" }, { "name": "sebastian/recursion-context", - "version": "5.0.0", + "version": "6.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "05909fb5bc7df4c52992396d0116aed689f93712" + "reference": "b75224967b5a466925c6d54e68edd0edf8dd4ed4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712", - "reference": "05909fb5bc7df4c52992396d0116aed689f93712", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b75224967b5a466925c6d54e68edd0edf8dd4ed4", + "reference": "b75224967b5a466925c6d54e68edd0edf8dd4ed4", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -1349,7 +1365,8 @@ "homepage": "https://github.com/sebastianbergmann/recursion-context", "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0" + "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.0" }, "funding": [ { @@ -1357,32 +1374,32 @@ "type": "github" } ], - "time": "2023-02-03T07:05:40+00:00" + "time": "2024-02-02T06:08:48+00:00" }, { "name": "sebastian/type", - "version": "4.0.0", + "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "462699a16464c3944eefc02ebdd77882bd3925bf" + "reference": "b8502785eb3523ca0dd4afe9ca62235590020f3f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf", - "reference": "462699a16464c3944eefc02ebdd77882bd3925bf", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b8502785eb3523ca0dd4afe9ca62235590020f3f", + "reference": "b8502785eb3523ca0dd4afe9ca62235590020f3f", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -1405,7 +1422,8 @@ "homepage": "https://github.com/sebastianbergmann/type", "support": { "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/4.0.0" + "security": "https://github.com/sebastianbergmann/type/security/policy", + "source": "https://github.com/sebastianbergmann/type/tree/5.0.0" }, "funding": [ { @@ -1413,29 +1431,29 @@ "type": "github" } ], - "time": "2023-02-03T07:10:45+00:00" + "time": "2024-02-02T06:09:34+00:00" }, { "name": "sebastian/version", - "version": "4.0.1", + "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17" + "reference": "13999475d2cb1ab33cb73403ba356a814fdbb001" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17", - "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/13999475d2cb1ab33cb73403ba356a814fdbb001", + "reference": "13999475d2cb1ab33cb73403ba356a814fdbb001", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -1458,7 +1476,8 @@ "homepage": "https://github.com/sebastianbergmann/version", "support": { "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/4.0.1" + "security": "https://github.com/sebastianbergmann/version/security/policy", + "source": "https://github.com/sebastianbergmann/version/tree/5.0.0" }, "funding": [ { @@ -1466,20 +1485,20 @@ "type": "github" } ], - "time": "2023-02-07T11:34:05+00:00" + "time": "2024-02-02T06:10:47+00:00" }, { "name": "theseer/tokenizer", - "version": "1.2.2", + "version": "1.2.3", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96" + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b2ad5003ca10d4ee50a12da31de12a5774ba6b96", - "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", "shasum": "" }, "require": { @@ -1508,7 +1527,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.2" + "source": "https://github.com/theseer/tokenizer/tree/1.2.3" }, "funding": [ { @@ -1516,7 +1535,7 @@ "type": "github" } ], - "time": "2023-11-20T00:12:19+00:00" + "time": "2024-03-03T12:36:25+00:00" } ], "packages-dev": [], @@ -1526,7 +1545,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": ">=8.1", + "php": ">=8.2", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", @@ -1536,7 +1555,7 @@ }, "platform-dev": [], "platform-overrides": { - "php": "8.1.0" + "php": "8.2.0" }, "plugin-api-version": "2.6.0" } diff --git a/Sources/vendor/phpunit/phpunit/phpunit b/Sources/vendor/phpunit/phpunit/phpunit index 624c8b4d..6fa992b8 100755 --- a/Sources/vendor/phpunit/phpunit/phpunit +++ b/Sources/vendor/phpunit/phpunit/phpunit @@ -24,11 +24,11 @@ if (!version_compare(PHP_VERSION, PHP_VERSION, '=')) { die(1); } -if (version_compare('8.1.0', PHP_VERSION, '>')) { +if (version_compare('8.2.0', PHP_VERSION, '>')) { fwrite( STDERR, sprintf( - 'This version of PHPUnit requires PHP >= 8.1.' . PHP_EOL . + 'This version of PHPUnit requires PHP >= 8.2.' . PHP_EOL . 'You are using PHP %s (%s).' . PHP_EOL, PHP_VERSION, PHP_BINARY @@ -38,31 +38,6 @@ if (version_compare('8.1.0', PHP_VERSION, '>')) { die(1); } -$requiredExtensions = ['dom', 'json', 'libxml', 'mbstring', 'tokenizer', 'xml', 'xmlwriter']; - -$unavailableExtensions = array_filter( - $requiredExtensions, - static function ($extension) { - return !extension_loaded($extension); - } -); - -if ([] !== $unavailableExtensions) { - fwrite( - STDERR, - sprintf( - 'PHPUnit requires the "%s" extensions, but the "%s" %s not available.' . PHP_EOL, - implode('", "', $requiredExtensions), - implode('", "', $unavailableExtensions), - count($unavailableExtensions) === 1 ? 'extension is' : 'extensions are' - ) - ); - - die(1); -} - -unset($requiredExtensions, $unavailableExtensions); - if (!ini_get('date.timezone')) { ini_set('date.timezone', 'UTC'); } @@ -96,4 +71,34 @@ if (!defined('PHPUNIT_COMPOSER_INSTALL')) { require PHPUNIT_COMPOSER_INSTALL; +$requiredExtensions = ['dom', 'json', 'libxml', 'mbstring', 'tokenizer', 'xml', 'xmlwriter']; + +$unavailableExtensions = array_filter( + $requiredExtensions, + static function ($extension) { + return !extension_loaded($extension); + } +); + +// Workaround for https://github.com/sebastianbergmann/phpunit/issues/5662 +if (!function_exists('ctype_alnum')) { + $unavailableExtensions[] = 'ctype'; +} + +if ([] !== $unavailableExtensions) { + fwrite( + STDERR, + sprintf( + 'PHPUnit requires the "%s" extensions, but the "%s" %s not available.' . PHP_EOL, + implode('", "', $requiredExtensions), + implode('", "', $unavailableExtensions), + count($unavailableExtensions) === 1 ? 'extension is' : 'extensions are' + ) + ); + + die(1); +} + +unset($requiredExtensions, $unavailableExtensions); + exit((new PHPUnit\TextUI\Application)->run($_SERVER['argv'])); diff --git a/Sources/vendor/phpunit/phpunit/phpunit.xsd b/Sources/vendor/phpunit/phpunit/phpunit.xsd index 42a84489..a6e7cb8c 100644 --- a/Sources/vendor/phpunit/phpunit/phpunit.xsd +++ b/Sources/vendor/phpunit/phpunit/phpunit.xsd @@ -2,7 +2,7 @@ - This Schema file defines the rules by which the XML configuration file of PHPUnit 10.5 may be structured. + This Schema file defines the rules by which the XML configuration file of PHPUnit 11.0 may be structured. @@ -207,7 +207,6 @@ - @@ -260,6 +259,7 @@ + @@ -267,6 +267,7 @@ + diff --git a/Sources/vendor/phpunit/phpunit/schema/8.5.xsd b/Sources/vendor/phpunit/phpunit/schema/8.5.xsd index 5881bafe..75e22289 100644 --- a/Sources/vendor/phpunit/phpunit/schema/8.5.xsd +++ b/Sources/vendor/phpunit/phpunit/schema/8.5.xsd @@ -244,7 +244,7 @@ - + @@ -309,8 +309,10 @@ - - + + + + diff --git a/Sources/vendor/phpunit/phpunit/schema/9.2.xsd b/Sources/vendor/phpunit/phpunit/schema/9.2.xsd index 883f21bc..d770e8b0 100644 --- a/Sources/vendor/phpunit/phpunit/schema/9.2.xsd +++ b/Sources/vendor/phpunit/phpunit/schema/9.2.xsd @@ -163,7 +163,7 @@ - + @@ -248,7 +248,7 @@ - + @@ -282,7 +282,7 @@ - + @@ -310,7 +310,7 @@ - + diff --git a/Sources/vendor/phpunit/phpunit/schema/9.5.xsd b/Sources/vendor/phpunit/phpunit/schema/9.5.xsd index a25d683a..eabefac3 100644 --- a/Sources/vendor/phpunit/phpunit/schema/9.5.xsd +++ b/Sources/vendor/phpunit/phpunit/schema/9.5.xsd @@ -213,7 +213,7 @@ - + @@ -279,8 +279,10 @@ - - + + + + diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Dispatcher/DirectDispatcher.php b/Sources/vendor/phpunit/phpunit/src/Event/Dispatcher/DirectDispatcher.php index 042b2418..8176229d 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Dispatcher/DirectDispatcher.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Dispatcher/DirectDispatcher.php @@ -86,9 +86,11 @@ final class DirectDispatcher implements SubscribableDispatcher foreach ($this->tracers as $tracer) { try { $tracer->trace($event); + // @codeCoverageIgnoreStart } catch (Throwable $t) { $this->handleThrowable($t); } + // @codeCoverageIgnoreEnd } if (!array_key_exists($eventClassName, $this->subscribers)) { @@ -122,7 +124,9 @@ final class DirectDispatcher implements SubscribableDispatcher return; } + // @codeCoverageIgnoreStart throw $t; + // @codeCoverageIgnoreEnd } private function isThrowableFromThirdPartySubscriber(Throwable $t): bool diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Emitter/DispatchingEmitter.php b/Sources/vendor/phpunit/phpunit/src/Event/Emitter/DispatchingEmitter.php index 254b7225..97d54b49 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Emitter/DispatchingEmitter.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Emitter/DispatchingEmitter.php @@ -9,8 +9,12 @@ */ namespace PHPUnit\Event; +use function assert; use PHPUnit\Event\Code\ClassMethod; use PHPUnit\Event\Code\ComparisonFailure; +use PHPUnit\Event\Code\NoTestCaseObjectOnCallStackException; +use PHPUnit\Event\Code\TestMethod; +use PHPUnit\Event\Code\TestMethodBuilder; use PHPUnit\Event\Code\Throwable; use PHPUnit\Event\Test\DataProviderMethodCalled; use PHPUnit\Event\Test\DataProviderMethodFinished; @@ -21,9 +25,8 @@ use PHPUnit\Event\TestSuite\Skipped as TestSuiteSkipped; use PHPUnit\Event\TestSuite\Sorted as TestSuiteSorted; use PHPUnit\Event\TestSuite\Started as TestSuiteStarted; use PHPUnit\Event\TestSuite\TestSuite; -use PHPUnit\Framework\Constraint; use PHPUnit\TextUI\Configuration\Configuration; -use PHPUnit\Util\Exporter; +use SebastianBergmann\Exporter\Exporter; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit @@ -34,7 +37,6 @@ final class DispatchingEmitter implements Emitter private readonly Telemetry\System $system; private readonly Telemetry\Snapshot $startSnapshot; private Telemetry\Snapshot $previousSnapshot; - private bool $exportObjects = false; public function __construct(Dispatcher $dispatcher, Telemetry\System $system) { @@ -42,23 +44,7 @@ final class DispatchingEmitter implements Emitter $this->system = $system; $this->startSnapshot = $system->snapshot(); - $this->previousSnapshot = $system->snapshot(); - } - - /** - * @deprecated - */ - public function exportObjects(): void - { - $this->exportObjects = true; - } - - /** - * @deprecated - */ - public function exportsObjects(): bool - { - return $this->exportObjects; + $this->previousSnapshot = $this->startSnapshot; } /** @@ -336,7 +322,7 @@ final class DispatchingEmitter implements Emitter * @throws InvalidArgumentException * @throws UnknownEventTypeException */ - public function testBeforeFirstTestMethodCalled(string $testClassName, Code\ClassMethod $calledMethod): void + public function testBeforeFirstTestMethodCalled(string $testClassName, ClassMethod $calledMethod): void { $this->dispatcher->dispatch( new Test\BeforeFirstTestMethodCalled( @@ -353,7 +339,7 @@ final class DispatchingEmitter implements Emitter * @throws InvalidArgumentException * @throws UnknownEventTypeException */ - public function testBeforeFirstTestMethodErrored(string $testClassName, Code\ClassMethod $calledMethod, Throwable $throwable): void + public function testBeforeFirstTestMethodErrored(string $testClassName, ClassMethod $calledMethod, Throwable $throwable): void { $this->dispatcher->dispatch( new Test\BeforeFirstTestMethodErrored( @@ -371,7 +357,7 @@ final class DispatchingEmitter implements Emitter * @throws InvalidArgumentException * @throws UnknownEventTypeException */ - public function testBeforeFirstTestMethodFinished(string $testClassName, Code\ClassMethod ...$calledMethods): void + public function testBeforeFirstTestMethodFinished(string $testClassName, ClassMethod ...$calledMethods): void { $this->dispatcher->dispatch( new Test\BeforeFirstTestMethodFinished( @@ -388,7 +374,7 @@ final class DispatchingEmitter implements Emitter * @throws InvalidArgumentException * @throws UnknownEventTypeException */ - public function testBeforeTestMethodCalled(string $testClassName, Code\ClassMethod $calledMethod): void + public function testBeforeTestMethodCalled(string $testClassName, ClassMethod $calledMethod): void { $this->dispatcher->dispatch( new Test\BeforeTestMethodCalled( @@ -405,7 +391,7 @@ final class DispatchingEmitter implements Emitter * @throws InvalidArgumentException * @throws UnknownEventTypeException */ - public function testBeforeTestMethodFinished(string $testClassName, Code\ClassMethod ...$calledMethods): void + public function testBeforeTestMethodFinished(string $testClassName, ClassMethod ...$calledMethods): void { $this->dispatcher->dispatch( new Test\BeforeTestMethodFinished( @@ -422,7 +408,7 @@ final class DispatchingEmitter implements Emitter * @throws InvalidArgumentException * @throws UnknownEventTypeException */ - public function testPreConditionCalled(string $testClassName, Code\ClassMethod $calledMethod): void + public function testPreConditionCalled(string $testClassName, ClassMethod $calledMethod): void { $this->dispatcher->dispatch( new Test\PreConditionCalled( @@ -439,7 +425,7 @@ final class DispatchingEmitter implements Emitter * @throws InvalidArgumentException * @throws UnknownEventTypeException */ - public function testPreConditionFinished(string $testClassName, Code\ClassMethod ...$calledMethods): void + public function testPreConditionFinished(string $testClassName, ClassMethod ...$calledMethods): void { $this->dispatcher->dispatch( new Test\PreConditionFinished( @@ -480,44 +466,6 @@ final class DispatchingEmitter implements Emitter ); } - /** - * @throws InvalidArgumentException - * @throws UnknownEventTypeException - * - * @deprecated - */ - public function testAssertionSucceeded(mixed $value, Constraint\Constraint $constraint, string $message): void - { - $this->dispatcher->dispatch( - new Test\AssertionSucceeded( - $this->telemetryInfo(), - Exporter::export($value, $this->exportObjects), - $constraint->toString($this->exportObjects), - $constraint->count(), - $message, - ), - ); - } - - /** - * @throws InvalidArgumentException - * @throws UnknownEventTypeException - * - * @deprecated - */ - public function testAssertionFailed(mixed $value, Constraint\Constraint $constraint, string $message): void - { - $this->dispatcher->dispatch( - new Test\AssertionFailed( - $this->telemetryInfo(), - Exporter::export($value, $this->exportObjects), - $constraint->toString($this->exportObjects), - $constraint->count(), - $message, - ), - ); - } - /** * @psalm-param class-string $className * @@ -633,7 +581,7 @@ final class DispatchingEmitter implements Emitter new Test\TestProxyCreated( $this->telemetryInfo(), $className, - Exporter::export($constructorArguments, $this->exportObjects), + (new Exporter)->export($constructorArguments), ), ); } @@ -764,10 +712,23 @@ final class DispatchingEmitter implements Emitter * @psalm-param non-empty-string $message * * @throws InvalidArgumentException + * @throws NoTestCaseObjectOnCallStackException * @throws UnknownEventTypeException */ - public function testTriggeredPhpunitDeprecation(Code\Test $test, string $message): void + public function testTriggeredPhpunitDeprecation(?Code\Test $test, string $message): void { + if ($test === null) { + $test = TestMethodBuilder::fromCallStack(); + } + + if ($test->isTestMethod()) { + assert($test instanceof TestMethod); + + if ($test->metadata()->isIgnorePhpunitDeprecations()->isNotEmpty()) { + return; + } + } + $this->dispatcher->dispatch( new Test\PhpunitDeprecationTriggered( $this->telemetryInfo(), @@ -1010,7 +971,7 @@ final class DispatchingEmitter implements Emitter * @throws InvalidArgumentException * @throws UnknownEventTypeException */ - public function testPostConditionCalled(string $testClassName, Code\ClassMethod $calledMethod): void + public function testPostConditionCalled(string $testClassName, ClassMethod $calledMethod): void { $this->dispatcher->dispatch( new Test\PostConditionCalled( @@ -1027,7 +988,7 @@ final class DispatchingEmitter implements Emitter * @throws InvalidArgumentException * @throws UnknownEventTypeException */ - public function testPostConditionFinished(string $testClassName, Code\ClassMethod ...$calledMethods): void + public function testPostConditionFinished(string $testClassName, ClassMethod ...$calledMethods): void { $this->dispatcher->dispatch( new Test\PostConditionFinished( @@ -1044,7 +1005,7 @@ final class DispatchingEmitter implements Emitter * @throws InvalidArgumentException * @throws UnknownEventTypeException */ - public function testAfterTestMethodCalled(string $testClassName, Code\ClassMethod $calledMethod): void + public function testAfterTestMethodCalled(string $testClassName, ClassMethod $calledMethod): void { $this->dispatcher->dispatch( new Test\AfterTestMethodCalled( @@ -1061,7 +1022,7 @@ final class DispatchingEmitter implements Emitter * @throws InvalidArgumentException * @throws UnknownEventTypeException */ - public function testAfterTestMethodFinished(string $testClassName, Code\ClassMethod ...$calledMethods): void + public function testAfterTestMethodFinished(string $testClassName, ClassMethod ...$calledMethods): void { $this->dispatcher->dispatch( new Test\AfterTestMethodFinished( @@ -1078,7 +1039,7 @@ final class DispatchingEmitter implements Emitter * @throws InvalidArgumentException * @throws UnknownEventTypeException */ - public function testAfterLastTestMethodCalled(string $testClassName, Code\ClassMethod $calledMethod): void + public function testAfterLastTestMethodCalled(string $testClassName, ClassMethod $calledMethod): void { $this->dispatcher->dispatch( new Test\AfterLastTestMethodCalled( @@ -1095,7 +1056,7 @@ final class DispatchingEmitter implements Emitter * @throws InvalidArgumentException * @throws UnknownEventTypeException */ - public function testAfterLastTestMethodFinished(string $testClassName, Code\ClassMethod ...$calledMethods): void + public function testAfterLastTestMethodFinished(string $testClassName, ClassMethod ...$calledMethods): void { $this->dispatcher->dispatch( new Test\AfterLastTestMethodFinished( diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Emitter/Emitter.php b/Sources/vendor/phpunit/phpunit/src/Event/Emitter/Emitter.php index f56d64b8..8fa6aa34 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Emitter/Emitter.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Emitter/Emitter.php @@ -13,7 +13,6 @@ use PHPUnit\Event\Code\ClassMethod; use PHPUnit\Event\Code\ComparisonFailure; use PHPUnit\Event\Code\Throwable; use PHPUnit\Event\TestSuite\TestSuite; -use PHPUnit\Framework\Constraint; use PHPUnit\TextUI\Configuration\Configuration; /** @@ -21,16 +20,6 @@ use PHPUnit\TextUI\Configuration\Configuration; */ interface Emitter { - /** - * @deprecated - */ - public function exportObjects(): void; - - /** - * @deprecated - */ - public function exportsObjects(): bool; - public function applicationStarted(): void; public function testRunnerStarted(): void; @@ -76,37 +65,37 @@ interface Emitter /** * @psalm-param class-string $testClassName */ - public function testBeforeFirstTestMethodCalled(string $testClassName, Code\ClassMethod $calledMethod): void; + public function testBeforeFirstTestMethodCalled(string $testClassName, ClassMethod $calledMethod): void; /** * @psalm-param class-string $testClassName */ - public function testBeforeFirstTestMethodErrored(string $testClassName, Code\ClassMethod $calledMethod, Throwable $throwable): void; + public function testBeforeFirstTestMethodErrored(string $testClassName, ClassMethod $calledMethod, Throwable $throwable): void; /** * @psalm-param class-string $testClassName */ - public function testBeforeFirstTestMethodFinished(string $testClassName, Code\ClassMethod ...$calledMethods): void; + public function testBeforeFirstTestMethodFinished(string $testClassName, ClassMethod ...$calledMethods): void; /** * @psalm-param class-string $testClassName */ - public function testBeforeTestMethodCalled(string $testClassName, Code\ClassMethod $calledMethod): void; + public function testBeforeTestMethodCalled(string $testClassName, ClassMethod $calledMethod): void; /** * @psalm-param class-string $testClassName */ - public function testBeforeTestMethodFinished(string $testClassName, Code\ClassMethod ...$calledMethods): void; + public function testBeforeTestMethodFinished(string $testClassName, ClassMethod ...$calledMethods): void; /** * @psalm-param class-string $testClassName */ - public function testPreConditionCalled(string $testClassName, Code\ClassMethod $calledMethod): void; + public function testPreConditionCalled(string $testClassName, ClassMethod $calledMethod): void; /** * @psalm-param class-string $testClassName */ - public function testPreConditionFinished(string $testClassName, Code\ClassMethod ...$calledMethods): void; + public function testPreConditionFinished(string $testClassName, ClassMethod ...$calledMethods): void; public function testPrepared(Code\Test $test): void; @@ -115,16 +104,6 @@ interface Emitter */ public function testRegisteredComparator(string $className): void; - /** - * @deprecated - */ - public function testAssertionSucceeded(mixed $value, Constraint\Constraint $constraint, string $message): void; - - /** - * @deprecated - */ - public function testAssertionFailed(mixed $value, Constraint\Constraint $constraint, string $message): void; - /** * @psalm-param class-string $className */ @@ -192,7 +171,7 @@ interface Emitter /** * @psalm-param non-empty-string $message */ - public function testTriggeredPhpunitDeprecation(Code\Test $test, string $message): void; + public function testTriggeredPhpunitDeprecation(?Code\Test $test, string $message): void; /** * @psalm-param non-empty-string $message @@ -263,32 +242,32 @@ interface Emitter /** * @psalm-param class-string $testClassName */ - public function testPostConditionCalled(string $testClassName, Code\ClassMethod $calledMethod): void; + public function testPostConditionCalled(string $testClassName, ClassMethod $calledMethod): void; /** * @psalm-param class-string $testClassName */ - public function testPostConditionFinished(string $testClassName, Code\ClassMethod ...$calledMethods): void; + public function testPostConditionFinished(string $testClassName, ClassMethod ...$calledMethods): void; /** * @psalm-param class-string $testClassName */ - public function testAfterTestMethodCalled(string $testClassName, Code\ClassMethod $calledMethod): void; + public function testAfterTestMethodCalled(string $testClassName, ClassMethod $calledMethod): void; /** * @psalm-param class-string $testClassName */ - public function testAfterTestMethodFinished(string $testClassName, Code\ClassMethod ...$calledMethods): void; + public function testAfterTestMethodFinished(string $testClassName, ClassMethod ...$calledMethods): void; /** * @psalm-param class-string $testClassName */ - public function testAfterLastTestMethodCalled(string $testClassName, Code\ClassMethod $calledMethod): void; + public function testAfterLastTestMethodCalled(string $testClassName, ClassMethod $calledMethod): void; /** * @psalm-param class-string $testClassName */ - public function testAfterLastTestMethodFinished(string $testClassName, Code\ClassMethod ...$calledMethods): void; + public function testAfterLastTestMethodFinished(string $testClassName, ClassMethod ...$calledMethods): void; public function testSuiteFinished(TestSuite $testSuite): void; diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Application/Finished.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Application/Finished.php index e196c4f6..1f1791b0 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Application/Finished.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Application/Finished.php @@ -18,10 +18,10 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Finished implements Event +final readonly class Finished implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly int $shellExitCode; + private Telemetry\Info $telemetryInfo; + private int $shellExitCode; public function __construct(Telemetry\Info $telemetryInfo, int $shellExitCode) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Application/Started.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Application/Started.php index da570a02..21124322 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Application/Started.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Application/Started.php @@ -19,10 +19,10 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Started implements Event +final readonly class Started implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly Runtime $runtime; + private Telemetry\Info $telemetryInfo; + private Runtime $runtime; public function __construct(Telemetry\Info $telemetryInfo, Runtime $runtime) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionFailed.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionFailed.php deleted file mode 100644 index 68954f20..00000000 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionFailed.php +++ /dev/null @@ -1,76 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Event\Test; - -use function sprintf; -use PHPUnit\Event\Event; -use PHPUnit\Event\Telemetry; - -/** - * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit - * - * @deprecated - */ -final class AssertionFailed implements Event -{ - private readonly Telemetry\Info $telemetryInfo; - private readonly string $value; - private readonly string $constraint; - private readonly int $count; - private readonly string $message; - - public function __construct(Telemetry\Info $telemetryInfo, string $value, string $constraint, int $count, string $message) - { - $this->telemetryInfo = $telemetryInfo; - $this->value = $value; - $this->constraint = $constraint; - $this->count = $count; - $this->message = $message; - } - - public function telemetryInfo(): Telemetry\Info - { - return $this->telemetryInfo; - } - - public function value(): string - { - return $this->value; - } - - public function count(): int - { - return $this->count; - } - - public function message(): string - { - return $this->message; - } - - public function asString(): string - { - $message = ''; - - if (!empty($this->message)) { - $message = sprintf( - ', Message: %s', - $this->message, - ); - } - - return sprintf( - 'Assertion Failed (Constraint: %s, Value: %s%s)', - $this->constraint, - $this->value, - $message, - ); - } -} diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionFailedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionFailedSubscriber.php deleted file mode 100644 index c569bcc2..00000000 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionFailedSubscriber.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Event\Test; - -use PHPUnit\Event\Subscriber; - -/** - * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit - * - * @deprecated - */ -interface AssertionFailedSubscriber extends Subscriber -{ - public function notify(AssertionFailed $event): void; -} diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionSucceeded.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionSucceeded.php deleted file mode 100644 index d4f85484..00000000 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionSucceeded.php +++ /dev/null @@ -1,76 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Event\Test; - -use function sprintf; -use PHPUnit\Event\Event; -use PHPUnit\Event\Telemetry; - -/** - * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit - * - * @deprecated - */ -final class AssertionSucceeded implements Event -{ - private readonly Telemetry\Info $telemetryInfo; - private readonly string $value; - private readonly string $constraint; - private readonly int $count; - private readonly string $message; - - public function __construct(Telemetry\Info $telemetryInfo, string $value, string $constraint, int $count, string $message) - { - $this->telemetryInfo = $telemetryInfo; - $this->value = $value; - $this->constraint = $constraint; - $this->count = $count; - $this->message = $message; - } - - public function telemetryInfo(): Telemetry\Info - { - return $this->telemetryInfo; - } - - public function value(): string - { - return $this->value; - } - - public function count(): int - { - return $this->count; - } - - public function message(): string - { - return $this->message; - } - - public function asString(): string - { - $message = ''; - - if (!empty($this->message)) { - $message = sprintf( - ', Message: %s', - $this->message, - ); - } - - return sprintf( - 'Assertion Succeeded (Constraint: %s, Value: %s%s)', - $this->constraint, - $this->value, - $message, - ); - } -} diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionSucceededSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionSucceededSubscriber.php deleted file mode 100644 index 59d72c0f..00000000 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionSucceededSubscriber.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Event\Test; - -use PHPUnit\Event\Subscriber; - -/** - * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit - * - * @deprecated - */ -interface AssertionSucceededSubscriber extends Subscriber -{ - public function notify(AssertionSucceeded $event): void; -} diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/ComparatorRegistered.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/ComparatorRegistered.php index 9e83d3d2..dfbb5909 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/ComparatorRegistered.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/ComparatorRegistered.php @@ -18,14 +18,14 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class ComparatorRegistered implements Event +final readonly class ComparatorRegistered implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodCalled.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodCalled.php index fec2a79e..9924ffb9 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodCalled.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodCalled.php @@ -19,15 +19,15 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class AfterLastTestMethodCalled implements Event +final readonly class AfterLastTestMethodCalled implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; /** * @psalm-var class-string */ - private readonly string $testClassName; - private readonly Code\ClassMethod $calledMethod; + private string $testClassName; + private Code\ClassMethod $calledMethod; /** * @psalm-param class-string $testClassName diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodFinished.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodFinished.php index 40a6c9fc..1ba74612 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodFinished.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodFinished.php @@ -20,19 +20,19 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class AfterLastTestMethodFinished implements Event +final readonly class AfterLastTestMethodFinished implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; /** * @psalm-var class-string */ - private readonly string $testClassName; + private string $testClassName; /** * @psalm-var list */ - private readonly array $calledMethods; + private array $calledMethods; /** * @psalm-param class-string $testClassName diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodCalled.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodCalled.php index 52afc14c..d096b965 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodCalled.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodCalled.php @@ -19,15 +19,15 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class AfterTestMethodCalled implements Event +final readonly class AfterTestMethodCalled implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; /** * @psalm-var class-string */ - private readonly string $testClassName; - private readonly Code\ClassMethod $calledMethod; + private string $testClassName; + private Code\ClassMethod $calledMethod; /** * @psalm-param class-string $testClassName diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodFinished.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodFinished.php index e934eea8..5431d5f9 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodFinished.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodFinished.php @@ -20,19 +20,19 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class AfterTestMethodFinished implements Event +final readonly class AfterTestMethodFinished implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; /** * @psalm-var class-string */ - private readonly string $testClassName; + private string $testClassName; /** * @psalm-var list */ - private readonly array $calledMethods; + private array $calledMethods; /** * @psalm-param class-string $testClassName diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeFirstTestMethodCalled.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeFirstTestMethodCalled.php index da28f2bf..58381ec2 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeFirstTestMethodCalled.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeFirstTestMethodCalled.php @@ -19,15 +19,15 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class BeforeFirstTestMethodCalled implements Event +final readonly class BeforeFirstTestMethodCalled implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; /** * @psalm-var class-string */ - private readonly string $testClassName; - private readonly Code\ClassMethod $calledMethod; + private string $testClassName; + private Code\ClassMethod $calledMethod; /** * @psalm-param class-string $testClassName diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeFirstTestMethodErrored.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeFirstTestMethodErrored.php index 81833227..afe1002f 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeFirstTestMethodErrored.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeFirstTestMethodErrored.php @@ -20,16 +20,16 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class BeforeFirstTestMethodErrored implements Event +final readonly class BeforeFirstTestMethodErrored implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; /** * @psalm-var class-string */ - private readonly string $testClassName; - private readonly Code\ClassMethod $calledMethod; - private readonly Throwable $throwable; + private string $testClassName; + private Code\ClassMethod $calledMethod; + private Throwable $throwable; /** * @psalm-param class-string $testClassName diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeFirstTestMethodFinished.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeFirstTestMethodFinished.php index fba563d7..b23857fe 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeFirstTestMethodFinished.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeFirstTestMethodFinished.php @@ -20,19 +20,19 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class BeforeFirstTestMethodFinished implements Event +final readonly class BeforeFirstTestMethodFinished implements Event { - private readonly Telemetry\Info$telemetryInfo; + private Telemetry\Info$telemetryInfo; /** * @psalm-var class-string */ - private readonly string $testClassName; + private string $testClassName; /** * @psalm-var list */ - private readonly array $calledMethods; + private array $calledMethods; /** * @psalm-param class-string $testClassName diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodCalled.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodCalled.php index 3b300fa3..f3b9846a 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodCalled.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodCalled.php @@ -19,15 +19,15 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class BeforeTestMethodCalled implements Event +final readonly class BeforeTestMethodCalled implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; /** * @psalm-var class-string */ - private readonly string $testClassName; - private readonly Code\ClassMethod $calledMethod; + private string $testClassName; + private Code\ClassMethod $calledMethod; /** * @psalm-param class-string $testClassName diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodFinished.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodFinished.php index f84b51bb..034abd81 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodFinished.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodFinished.php @@ -20,19 +20,19 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class BeforeTestMethodFinished implements Event +final readonly class BeforeTestMethodFinished implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; /** * @psalm-var class-string */ - private readonly string $testClassName; + private string $testClassName; /** * @psalm-var list */ - private readonly array $calledMethods; + private array $calledMethods; /** * @psalm-param class-string $testClassName diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionCalled.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionCalled.php index e7b6c435..ac7a1e3f 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionCalled.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionCalled.php @@ -19,15 +19,15 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class PostConditionCalled implements Event +final readonly class PostConditionCalled implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; /** * @psalm-var class-string */ - private readonly string $testClassName; - private readonly Code\ClassMethod $calledMethod; + private string $testClassName; + private Code\ClassMethod $calledMethod; /** * @psalm-param class-string $testClassName diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionFinished.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionFinished.php index fff07ce7..52d9676e 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionFinished.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionFinished.php @@ -20,19 +20,19 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class PostConditionFinished implements Event +final readonly class PostConditionFinished implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; /** * @psalm-var class-string */ - private readonly string $testClassName; + private string $testClassName; /** * @psalm-var list */ - private readonly array $calledMethods; + private array $calledMethods; /** * @psalm-param class-string $testClassName diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionCalled.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionCalled.php index 93752546..41ab3855 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionCalled.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionCalled.php @@ -19,15 +19,15 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class PreConditionCalled implements Event +final readonly class PreConditionCalled implements Event { - private readonly Telemetry\Info$telemetryInfo; + private Telemetry\Info$telemetryInfo; /** * @psalm-var class-string */ - private readonly string $testClassName; - private readonly Code\ClassMethod $calledMethod; + private string $testClassName; + private Code\ClassMethod $calledMethod; /** * @psalm-param class-string $testClassName diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionFinished.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionFinished.php index 05340796..f6e3ac80 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionFinished.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionFinished.php @@ -20,19 +20,19 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class PreConditionFinished implements Event +final readonly class PreConditionFinished implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; /** * @psalm-var class-string */ - private readonly string $testClassName; + private string $testClassName; /** * @psalm-var list */ - private readonly array $calledMethods; + private array $calledMethods; /** * @psalm-param class-string $testClassName diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/ConsideredRisky.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/ConsideredRisky.php index 5b90d1bf..742efede 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/ConsideredRisky.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/ConsideredRisky.php @@ -20,15 +20,15 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class ConsideredRisky implements Event +final readonly class ConsideredRisky implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly Code\Test $test; + private Telemetry\Info $telemetryInfo; + private Code\Test $test; /** * @psalm-var non-empty-string */ - private readonly string $message; + private string $message; /** * @psalm-param non-empty-string $message diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/DeprecationTriggered.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/DeprecationTriggered.php index d4d495da..4d7c9792 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/DeprecationTriggered.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/DeprecationTriggered.php @@ -20,28 +20,28 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class DeprecationTriggered implements Event +final readonly class DeprecationTriggered implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly Test $test; + private Telemetry\Info $telemetryInfo; + private Test $test; /** * @psalm-var non-empty-string */ - private readonly string $message; + private string $message; /** * @psalm-var non-empty-string */ - private readonly string $file; + private string $file; /** * @psalm-var positive-int */ - private readonly int $line; - private readonly bool $suppressed; - private readonly bool $ignoredByBaseline; - private readonly bool $ignoredByTest; + private int $line; + private bool $suppressed; + private bool $ignoredByBaseline; + private bool $ignoredByTest; /** * @psalm-param non-empty-string $message diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/ErrorTriggered.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/ErrorTriggered.php index 0407c0b7..f98cb0b4 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/ErrorTriggered.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/ErrorTriggered.php @@ -20,26 +20,26 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class ErrorTriggered implements Event +final readonly class ErrorTriggered implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly Test $test; + private Telemetry\Info $telemetryInfo; + private Test $test; /** * @psalm-var non-empty-string */ - private readonly string $message; + private string $message; /** * @psalm-var non-empty-string */ - private readonly string $file; + private string $file; /** * @psalm-var positive-int */ - private readonly int $line; - private readonly bool $suppressed; + private int $line; + private bool $suppressed; /** * @psalm-param non-empty-string $message diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/NoticeTriggered.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/NoticeTriggered.php index d8a27bbd..cf507ade 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/NoticeTriggered.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/NoticeTriggered.php @@ -20,27 +20,27 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class NoticeTriggered implements Event +final readonly class NoticeTriggered implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly Test $test; + private Telemetry\Info $telemetryInfo; + private Test $test; /** * @psalm-var non-empty-string */ - private readonly string $message; + private string $message; /** * @psalm-var non-empty-string */ - private readonly string $file; + private string $file; /** * @psalm-var positive-int */ - private readonly int $line; - private readonly bool $suppressed; - private readonly bool $ignoredByBaseline; + private int $line; + private bool $suppressed; + private bool $ignoredByBaseline; /** * @psalm-param non-empty-string $message diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/PhpDeprecationTriggered.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/PhpDeprecationTriggered.php index 9c93fd42..f7205e55 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/PhpDeprecationTriggered.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/PhpDeprecationTriggered.php @@ -20,28 +20,28 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class PhpDeprecationTriggered implements Event +final readonly class PhpDeprecationTriggered implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly Test $test; + private Telemetry\Info $telemetryInfo; + private Test $test; /** * @psalm-var non-empty-string */ - private readonly string $message; + private string $message; /** * @psalm-var non-empty-string */ - private readonly string $file; + private string $file; /** * @psalm-var positive-int */ - private readonly int $line; - private readonly bool $suppressed; - private readonly bool $ignoredByBaseline; - private readonly bool $ignoredByTest; + private int $line; + private bool $suppressed; + private bool $ignoredByBaseline; + private bool $ignoredByTest; /** * @psalm-param non-empty-string $message diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/PhpNoticeTriggered.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/PhpNoticeTriggered.php index f03d0ba9..41f77767 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/PhpNoticeTriggered.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/PhpNoticeTriggered.php @@ -20,27 +20,27 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class PhpNoticeTriggered implements Event +final readonly class PhpNoticeTriggered implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly Test $test; + private Telemetry\Info $telemetryInfo; + private Test $test; /** * @psalm-var non-empty-string */ - private readonly string $message; + private string $message; /** * @psalm-var non-empty-string */ - private readonly string $file; + private string $file; /** * @psalm-var positive-int */ - private readonly int $line; - private readonly bool $suppressed; - private readonly bool $ignoredByBaseline; + private int $line; + private bool $suppressed; + private bool $ignoredByBaseline; /** * @psalm-param non-empty-string $message diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/PhpWarningTriggered.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/PhpWarningTriggered.php index a93dc73e..6365ba23 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/PhpWarningTriggered.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/PhpWarningTriggered.php @@ -20,27 +20,27 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class PhpWarningTriggered implements Event +final readonly class PhpWarningTriggered implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly Test $test; + private Telemetry\Info $telemetryInfo; + private Test $test; /** * @psalm-var non-empty-string */ - private readonly string $message; + private string $message; /** * @psalm-var non-empty-string */ - private readonly string $file; + private string $file; /** * @psalm-var positive-int */ - private readonly int $line; - private readonly bool $suppressed; - private readonly bool $ignoredByBaseline; + private int $line; + private bool $suppressed; + private bool $ignoredByBaseline; /** * @psalm-param non-empty-string $message diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/PhpunitDeprecationTriggered.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/PhpunitDeprecationTriggered.php index 3b1162f4..6c8c9cb0 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/PhpunitDeprecationTriggered.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/PhpunitDeprecationTriggered.php @@ -20,15 +20,15 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class PhpunitDeprecationTriggered implements Event +final readonly class PhpunitDeprecationTriggered implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly Test $test; + private Telemetry\Info $telemetryInfo; + private Test $test; /** * @psalm-var non-empty-string */ - private readonly string $message; + private string $message; /** * @psalm-param non-empty-string $message diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/PhpunitErrorTriggered.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/PhpunitErrorTriggered.php index 8e7d7d4d..1aea7943 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/PhpunitErrorTriggered.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/PhpunitErrorTriggered.php @@ -21,15 +21,15 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class PhpunitErrorTriggered implements Event +final readonly class PhpunitErrorTriggered implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly Test $test; + private Telemetry\Info $telemetryInfo; + private Test $test; /** * @psalm-var non-empty-string */ - private readonly string $message; + private string $message; /** * @psalm-param non-empty-string $message diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/PhpunitWarningTriggered.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/PhpunitWarningTriggered.php index 164c6eb1..4de74167 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/PhpunitWarningTriggered.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/PhpunitWarningTriggered.php @@ -20,15 +20,15 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class PhpunitWarningTriggered implements Event +final readonly class PhpunitWarningTriggered implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly Test $test; + private Telemetry\Info $telemetryInfo; + private Test $test; /** * @psalm-var non-empty-string */ - private readonly string $message; + private string $message; /** * @psalm-param non-empty-string $message diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/WarningTriggered.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/WarningTriggered.php index 9bccafa1..b2c5caca 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/WarningTriggered.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Issue/WarningTriggered.php @@ -20,27 +20,27 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class WarningTriggered implements Event +final readonly class WarningTriggered implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly Test $test; + private Telemetry\Info $telemetryInfo; + private Test $test; /** * @psalm-var non-empty-string */ - private readonly string $message; + private string $message; /** * @psalm-var non-empty-string */ - private readonly string $file; + private string $file; /** * @psalm-var positive-int */ - private readonly int $line; - private readonly bool $suppressed; - private readonly bool $ignoredByBaseline; + private int $line; + private bool $suppressed; + private bool $ignoredByBaseline; /** * @psalm-param non-empty-string $message diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Lifecycle/DataProviderMethodCalled.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Lifecycle/DataProviderMethodCalled.php index 2b6becab..5581f7dd 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Lifecycle/DataProviderMethodCalled.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Lifecycle/DataProviderMethodCalled.php @@ -19,11 +19,11 @@ use PHPUnit\Event\Telemetry\Info; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class DataProviderMethodCalled implements Event +final readonly class DataProviderMethodCalled implements Event { - private readonly Info $telemetryInfo; - private readonly ClassMethod $testMethod; - private readonly ClassMethod $dataProviderMethod; + private Info $telemetryInfo; + private ClassMethod $testMethod; + private ClassMethod $dataProviderMethod; public function __construct(Info $telemetryInfo, ClassMethod $testMethod, ClassMethod $dataProviderMethod) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Lifecycle/DataProviderMethodFinished.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Lifecycle/DataProviderMethodFinished.php index 0036e408..f12c0f2b 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Lifecycle/DataProviderMethodFinished.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Lifecycle/DataProviderMethodFinished.php @@ -21,15 +21,15 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class DataProviderMethodFinished implements Event +final readonly class DataProviderMethodFinished implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly ClassMethod $testMethod; + private Telemetry\Info $telemetryInfo; + private ClassMethod $testMethod; /** * @psalm-var list */ - private readonly array $calledMethods; + private array $calledMethods; public function __construct(Telemetry\Info $telemetryInfo, ClassMethod $testMethod, ClassMethod ...$calledMethods) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Lifecycle/Finished.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Lifecycle/Finished.php index fd828152..72032cf7 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Lifecycle/Finished.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Lifecycle/Finished.php @@ -19,11 +19,11 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Finished implements Event +final readonly class Finished implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly Code\Test $test; - private readonly int $numberOfAssertionsPerformed; + private Telemetry\Info $telemetryInfo; + private Code\Test $test; + private int $numberOfAssertionsPerformed; public function __construct(Telemetry\Info $telemetryInfo, Code\Test $test, int $numberOfAssertionsPerformed) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Lifecycle/PreparationFailed.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Lifecycle/PreparationFailed.php index 4989d9ee..7380be93 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Lifecycle/PreparationFailed.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Lifecycle/PreparationFailed.php @@ -19,10 +19,10 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class PreparationFailed implements Event +final readonly class PreparationFailed implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly Code\Test $test; + private Telemetry\Info $telemetryInfo; + private Code\Test $test; public function __construct(Telemetry\Info $telemetryInfo, Code\Test $test) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Lifecycle/PreparationStarted.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Lifecycle/PreparationStarted.php index a6e8b8a0..6e975a62 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Lifecycle/PreparationStarted.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Lifecycle/PreparationStarted.php @@ -19,10 +19,10 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class PreparationStarted implements Event +final readonly class PreparationStarted implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly Code\Test $test; + private Telemetry\Info $telemetryInfo; + private Code\Test $test; public function __construct(Telemetry\Info $telemetryInfo, Code\Test $test) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Lifecycle/Prepared.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Lifecycle/Prepared.php index 25075855..9e7cc694 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Lifecycle/Prepared.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Lifecycle/Prepared.php @@ -19,10 +19,10 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Prepared implements Event +final readonly class Prepared implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly Code\Test $test; + private Telemetry\Info $telemetryInfo; + private Code\Test $test; public function __construct(Telemetry\Info $telemetryInfo, Code\Test $test) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Outcome/Errored.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Outcome/Errored.php index 0c3f4aa2..2a2c81e9 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Outcome/Errored.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Outcome/Errored.php @@ -22,11 +22,11 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Errored implements Event +final readonly class Errored implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly Code\Test $test; - private readonly Throwable $throwable; + private Telemetry\Info $telemetryInfo; + private Code\Test $test; + private Throwable $throwable; public function __construct(Telemetry\Info $telemetryInfo, Code\Test $test, Throwable $throwable) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Outcome/Failed.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Outcome/Failed.php index 0bce79ef..6a6b8904 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Outcome/Failed.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Outcome/Failed.php @@ -23,12 +23,12 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Failed implements Event +final readonly class Failed implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly Code\Test $test; - private readonly Throwable $throwable; - private readonly ?ComparisonFailure $comparisonFailure; + private Telemetry\Info $telemetryInfo; + private Code\Test $test; + private Throwable $throwable; + private ?ComparisonFailure $comparisonFailure; public function __construct(Telemetry\Info $telemetryInfo, Code\Test $test, Throwable $throwable, ?ComparisonFailure $comparisonFailure) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Outcome/MarkedIncomplete.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Outcome/MarkedIncomplete.php index c501fa46..0b7a5cf8 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Outcome/MarkedIncomplete.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Outcome/MarkedIncomplete.php @@ -22,11 +22,11 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class MarkedIncomplete implements Event +final readonly class MarkedIncomplete implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly Code\Test $test; - private readonly Throwable $throwable; + private Telemetry\Info $telemetryInfo; + private Code\Test $test; + private Throwable $throwable; public function __construct(Telemetry\Info $telemetryInfo, Code\Test $test, Throwable $throwable) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Outcome/Passed.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Outcome/Passed.php index 256923d4..8eed03da 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Outcome/Passed.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Outcome/Passed.php @@ -19,10 +19,10 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Passed implements Event +final readonly class Passed implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly Code\Test $test; + private Telemetry\Info $telemetryInfo; + private Code\Test $test; public function __construct(Telemetry\Info $telemetryInfo, Code\Test $test) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Outcome/Skipped.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Outcome/Skipped.php index 14501058..2070c0cf 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Outcome/Skipped.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/Outcome/Skipped.php @@ -20,11 +20,11 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Skipped implements Event +final readonly class Skipped implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly Code\Test $test; - private readonly string $message; + private Telemetry\Info $telemetryInfo; + private Code\Test $test; + private string $message; public function __construct(Telemetry\Info $telemetryInfo, Code\Test $test, string $message) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/PrintedUnexpectedOutput.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/PrintedUnexpectedOutput.php index 733520e6..e2479fbb 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/PrintedUnexpectedOutput.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/PrintedUnexpectedOutput.php @@ -18,14 +18,14 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class PrintedUnexpectedOutput implements Event +final readonly class PrintedUnexpectedOutput implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; /** * @psalm-var non-empty-string */ - private readonly string $output; + private string $output; /** * @psalm-param non-empty-string $output diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectCreated.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectCreated.php index ad462440..357d930a 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectCreated.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectCreated.php @@ -18,14 +18,14 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class MockObjectCreated implements Event +final readonly class MockObjectCreated implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForAbstractClassCreated.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForAbstractClassCreated.php index 7976a1c9..115f1be1 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForAbstractClassCreated.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForAbstractClassCreated.php @@ -18,14 +18,14 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class MockObjectForAbstractClassCreated implements Event +final readonly class MockObjectForAbstractClassCreated implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForIntersectionOfInterfacesCreated.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForIntersectionOfInterfacesCreated.php index deb7ec75..08176afc 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForIntersectionOfInterfacesCreated.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForIntersectionOfInterfacesCreated.php @@ -19,14 +19,14 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class MockObjectForIntersectionOfInterfacesCreated implements Event +final readonly class MockObjectForIntersectionOfInterfacesCreated implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; /** * @psalm-var list */ - private readonly array $interfaces; + private array $interfaces; /** * @psalm-param list $interfaces diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForTraitCreated.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForTraitCreated.php index fd09d594..fe58c57d 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForTraitCreated.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForTraitCreated.php @@ -18,14 +18,14 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class MockObjectForTraitCreated implements Event +final readonly class MockObjectForTraitCreated implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; /** * @psalm-var trait-string */ - private readonly string $traitName; + private string $traitName; /** * @psalm-param trait-string $traitName diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectFromWsdlCreated.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectFromWsdlCreated.php index 09992831..5eda4b8a 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectFromWsdlCreated.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectFromWsdlCreated.php @@ -18,27 +18,27 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class MockObjectFromWsdlCreated implements Event +final readonly class MockObjectFromWsdlCreated implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly string $wsdlFile; + private Telemetry\Info $telemetryInfo; + private string $wsdlFile; /** * @psalm-var class-string */ - private readonly string $originalClassName; + private string $originalClassName; /** * @psalm-var class-string */ - private readonly string $mockClassName; + private string $mockClassName; /** * @psalm-var list */ - private readonly array $methods; - private readonly bool $callOriginalConstructor; - private readonly array $options; + private array $methods; + private bool $callOriginalConstructor; + private array $options; /** * @psalm-param class-string $originalClassName diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/PartialMockObjectCreated.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/PartialMockObjectCreated.php index 604ba3ce..a6c97dc2 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/PartialMockObjectCreated.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/PartialMockObjectCreated.php @@ -18,19 +18,19 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class PartialMockObjectCreated implements Event +final readonly class PartialMockObjectCreated implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-var list */ - private readonly array $methodNames; + private array $methodNames; /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestProxyCreated.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestProxyCreated.php index 3f089412..4cd4545b 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestProxyCreated.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestProxyCreated.php @@ -18,15 +18,15 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class TestProxyCreated implements Event +final readonly class TestProxyCreated implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; /** * @psalm-var class-string */ - private readonly string $className; - private readonly string $constructorArguments; + private string $className; + private string $constructorArguments; /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestStubCreated.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestStubCreated.php index 9d0330f6..424d9f44 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestStubCreated.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestStubCreated.php @@ -18,14 +18,14 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class TestStubCreated implements Event +final readonly class TestStubCreated implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; /** * @var class-string */ - private readonly string $className; + private string $className; /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestStubForIntersectionOfInterfacesCreated.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestStubForIntersectionOfInterfacesCreated.php index 4aded8c8..fb4dccdd 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestStubForIntersectionOfInterfacesCreated.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestStubForIntersectionOfInterfacesCreated.php @@ -19,14 +19,14 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class TestStubForIntersectionOfInterfacesCreated implements Event +final readonly class TestStubForIntersectionOfInterfacesCreated implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; /** * @psalm-var list */ - private readonly array $interfaces; + private array $interfaces; /** * @psalm-param list $interfaces diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/BootstrapFinished.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/BootstrapFinished.php index 9ec3f348..c92b7a64 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/BootstrapFinished.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/BootstrapFinished.php @@ -18,10 +18,10 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class BootstrapFinished implements Event +final readonly class BootstrapFinished implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly string $filename; + private Telemetry\Info $telemetryInfo; + private string $filename; public function __construct(Telemetry\Info $telemetryInfo, string $filename) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/Configured.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/Configured.php index e27fd7b8..4bbbc24b 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/Configured.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/Configured.php @@ -16,10 +16,10 @@ use PHPUnit\TextUI\Configuration\Configuration; /** * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Configured implements Event +final readonly class Configured implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly Configuration $configuration; + private Telemetry\Info $telemetryInfo; + private Configuration $configuration; public function __construct(Telemetry\Info $telemetryInfo, Configuration $configuration) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/DeprecationTriggered.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/DeprecationTriggered.php index 31d27e28..0ee02995 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/DeprecationTriggered.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/DeprecationTriggered.php @@ -18,10 +18,10 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class DeprecationTriggered implements Event +final readonly class DeprecationTriggered implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly string $message; + private Telemetry\Info $telemetryInfo; + private string $message; public function __construct(Telemetry\Info $telemetryInfo, string $message) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/EventFacadeSealed.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/EventFacadeSealed.php index ea8ab985..bbcc3904 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/EventFacadeSealed.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/EventFacadeSealed.php @@ -17,9 +17,9 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class EventFacadeSealed implements Event +final readonly class EventFacadeSealed implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; public function __construct(Telemetry\Info $telemetryInfo) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/ExecutionAborted.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/ExecutionAborted.php index 2e2b92ce..635a3b43 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/ExecutionAborted.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/ExecutionAborted.php @@ -17,9 +17,9 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class ExecutionAborted implements Event +final readonly class ExecutionAborted implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; public function __construct(Telemetry\Info $telemetryInfo) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/ExecutionFinished.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/ExecutionFinished.php index 5496d1e6..c1d725ae 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/ExecutionFinished.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/ExecutionFinished.php @@ -17,9 +17,9 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class ExecutionFinished implements Event +final readonly class ExecutionFinished implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; public function __construct(Telemetry\Info $telemetryInfo) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/ExecutionStarted.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/ExecutionStarted.php index 77fd570d..a3aa38a6 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/ExecutionStarted.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/ExecutionStarted.php @@ -19,10 +19,10 @@ use PHPUnit\Event\TestSuite\TestSuite; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class ExecutionStarted implements Event +final readonly class ExecutionStarted implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly TestSuite $testSuite; + private Telemetry\Info $telemetryInfo; + private TestSuite $testSuite; public function __construct(Telemetry\Info $telemetryInfo, TestSuite $testSuite) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/ExtensionBootstrapped.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/ExtensionBootstrapped.php index 8ef3ff1b..1760fa3a 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/ExtensionBootstrapped.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/ExtensionBootstrapped.php @@ -18,19 +18,19 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class ExtensionBootstrapped implements Event +final readonly class ExtensionBootstrapped implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-var array */ - private readonly array $parameters; + private array $parameters; /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/ExtensionLoadedFromPhar.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/ExtensionLoadedFromPhar.php index a2f1f147..2e11f04d 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/ExtensionLoadedFromPhar.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/ExtensionLoadedFromPhar.php @@ -18,12 +18,12 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class ExtensionLoadedFromPhar implements Event +final readonly class ExtensionLoadedFromPhar implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly string $filename; - private readonly string $name; - private readonly string $version; + private Telemetry\Info $telemetryInfo; + private string $filename; + private string $name; + private string $version; public function __construct(Telemetry\Info $telemetryInfo, string $filename, string $name, string $version) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/Finished.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/Finished.php index 3b984068..9133acc4 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/Finished.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/Finished.php @@ -17,9 +17,9 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Finished implements Event +final readonly class Finished implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; public function __construct(Telemetry\Info $telemetryInfo) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/GarbageCollectionDisabled.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/GarbageCollectionDisabled.php index b7ac6a05..2690f69c 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/GarbageCollectionDisabled.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/GarbageCollectionDisabled.php @@ -17,9 +17,9 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class GarbageCollectionDisabled implements Event +final readonly class GarbageCollectionDisabled implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; public function __construct(Telemetry\Info $telemetryInfo) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/GarbageCollectionEnabled.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/GarbageCollectionEnabled.php index 9f3e8b8b..cabeed43 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/GarbageCollectionEnabled.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/GarbageCollectionEnabled.php @@ -17,9 +17,9 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class GarbageCollectionEnabled implements Event +final readonly class GarbageCollectionEnabled implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; public function __construct(Telemetry\Info $telemetryInfo) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/GarbageCollectionTriggered.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/GarbageCollectionTriggered.php index 5ab2f828..ade9ea5e 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/GarbageCollectionTriggered.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/GarbageCollectionTriggered.php @@ -17,9 +17,9 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class GarbageCollectionTriggered implements Event +final readonly class GarbageCollectionTriggered implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; public function __construct(Telemetry\Info $telemetryInfo) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/Started.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/Started.php index fd2f494a..ec18d665 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/Started.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/Started.php @@ -17,9 +17,9 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Started implements Event +final readonly class Started implements Event { - private readonly Telemetry\Info $telemetryInfo; + private Telemetry\Info $telemetryInfo; public function __construct(Telemetry\Info $telemetryInfo) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/WarningTriggered.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/WarningTriggered.php index cb80a07b..be424027 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/WarningTriggered.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestRunner/WarningTriggered.php @@ -18,10 +18,10 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class WarningTriggered implements Event +final readonly class WarningTriggered implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly string $message; + private Telemetry\Info $telemetryInfo; + private string $message; public function __construct(Telemetry\Info $telemetryInfo, string $message) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestSuite/Filtered.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestSuite/Filtered.php index 1beadde5..29b6c8ee 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestSuite/Filtered.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestSuite/Filtered.php @@ -18,10 +18,10 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Filtered implements Event +final readonly class Filtered implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly TestSuite $testSuite; + private Telemetry\Info $telemetryInfo; + private TestSuite $testSuite; public function __construct(Telemetry\Info $telemetryInfo, TestSuite $testSuite) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestSuite/Finished.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestSuite/Finished.php index e89076c1..e729b72b 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestSuite/Finished.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestSuite/Finished.php @@ -18,10 +18,10 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Finished implements Event +final readonly class Finished implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly TestSuite $testSuite; + private Telemetry\Info $telemetryInfo; + private TestSuite $testSuite; public function __construct(Telemetry\Info $telemetryInfo, TestSuite $testSuite) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestSuite/Loaded.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestSuite/Loaded.php index 271ab37f..9f2aaa74 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestSuite/Loaded.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestSuite/Loaded.php @@ -18,10 +18,10 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Loaded implements Event +final readonly class Loaded implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly TestSuite $testSuite; + private Telemetry\Info $telemetryInfo; + private TestSuite $testSuite; public function __construct(Telemetry\Info $telemetryInfo, TestSuite $testSuite) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestSuite/Skipped.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestSuite/Skipped.php index 9a8f5230..c1692e4a 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestSuite/Skipped.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestSuite/Skipped.php @@ -18,11 +18,11 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Skipped implements Event +final readonly class Skipped implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly TestSuite $testSuite; - private readonly string $message; + private Telemetry\Info $telemetryInfo; + private TestSuite $testSuite; + private string $message; public function __construct(Telemetry\Info $telemetryInfo, TestSuite $testSuite, string $message) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestSuite/Sorted.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestSuite/Sorted.php index ae2b53cd..e0dbf1b9 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestSuite/Sorted.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestSuite/Sorted.php @@ -17,12 +17,12 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Sorted implements Event +final readonly class Sorted implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly int $executionOrder; - private readonly int $executionOrderDefects; - private readonly bool $resolveDependencies; + private Telemetry\Info $telemetryInfo; + private int $executionOrder; + private int $executionOrderDefects; + private bool $resolveDependencies; public function __construct(Telemetry\Info $telemetryInfo, int $executionOrder, int $executionOrderDefects, bool $resolveDependencies) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestSuite/Started.php b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestSuite/Started.php index 1e34aa7d..25ba7be9 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Events/TestSuite/Started.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Events/TestSuite/Started.php @@ -18,10 +18,10 @@ use PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Started implements Event +final readonly class Started implements Event { - private readonly Telemetry\Info $telemetryInfo; - private readonly TestSuite $testSuite; + private Telemetry\Info $telemetryInfo; + private TestSuite $testSuite; public function __construct(Telemetry\Info $telemetryInfo, TestSuite $testSuite) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Exception/MoreThanOneDataSetFromDataProviderException.php b/Sources/vendor/phpunit/phpunit/src/Event/Exception/MoreThanOneDataSetFromDataProviderException.php deleted file mode 100644 index 0d26b7f6..00000000 --- a/Sources/vendor/phpunit/phpunit/src/Event/Exception/MoreThanOneDataSetFromDataProviderException.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Event\TestData; - -use PHPUnit\Event\Exception; -use RuntimeException; - -/** - * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit - */ -final class MoreThanOneDataSetFromDataProviderException extends RuntimeException implements Exception -{ -} diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Facade.php b/Sources/vendor/phpunit/phpunit/src/Event/Facade.php index bda44484..aad8d684 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Facade.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Facade.php @@ -22,7 +22,6 @@ final class Facade private static ?self $instance = null; private Emitter $emitter; private ?TypeMap $typeMap = null; - private ?Emitter $suspended = null; private ?DeferringDispatcher $deferringDispatcher = null; private bool $sealed = false; @@ -81,8 +80,12 @@ final class Facade $this->deferredDispatcher()->registerTracer($tracer); } - /** @noinspection PhpUnused */ - public function initForIsolation(HRTime $offset, bool $exportObjects): CollectingDispatcher + /** + * @codeCoverageIgnore + * + * @noinspection PhpUnused + */ + public function initForIsolation(HRTime $offset): CollectingDispatcher { $dispatcher = new CollectingDispatcher; @@ -95,10 +98,6 @@ final class Facade ), ); - if ($exportObjects) { - $this->emitter->exportObjects(); - } - $this->sealed = true; return $dispatcher; @@ -106,10 +105,6 @@ final class Facade public function forward(EventCollection $events): void { - if ($this->suspended !== null) { - return; - } - $dispatcher = $this->deferredDispatcher(); foreach ($events as $event) { @@ -180,8 +175,6 @@ final class Facade Test\AfterLastTestMethodFinished::class, Test\AfterTestMethodCalled::class, Test\AfterTestMethodFinished::class, - Test\AssertionSucceeded::class, - Test\AssertionFailed::class, Test\BeforeFirstTestMethodCalled::class, Test\BeforeFirstTestMethodErrored::class, Test\BeforeFirstTestMethodFinished::class, @@ -258,7 +251,9 @@ final class Facade private function garbageCollectorStatusProvider(): Telemetry\GarbageCollectorStatusProvider { if (!isset(gc_status()['running'])) { + // @codeCoverageIgnoreStart return new Php81GarbageCollectorStatusProvider; + // @codeCoverageIgnoreEnd } return new Php83GarbageCollectorStatusProvider; diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/ClassMethod.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/ClassMethod.php index 5b7d56c2..5eb58ba7 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/ClassMethod.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/ClassMethod.php @@ -14,17 +14,17 @@ namespace PHPUnit\Event\Code; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class ClassMethod +final readonly class ClassMethod { /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-var non-empty-string */ - private readonly string $methodName; + private string $methodName; /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/ComparisonFailure.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/ComparisonFailure.php index b8e5cc93..9b88901a 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/ComparisonFailure.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/ComparisonFailure.php @@ -14,11 +14,11 @@ namespace PHPUnit\Event\Code; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class ComparisonFailure +final readonly class ComparisonFailure { - private readonly string $expected; - private readonly string $actual; - private readonly string $diff; + private string $expected; + private string $actual; + private string $diff; public function __construct(string $expected, string $actual, string $diff) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/ComparisonFailureBuilder.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/ComparisonFailureBuilder.php index be411a9d..7413bbe8 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/ComparisonFailureBuilder.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/ComparisonFailureBuilder.php @@ -18,7 +18,7 @@ use Throwable; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class ComparisonFailureBuilder +final readonly class ComparisonFailureBuilder { public static function from(Throwable $t): ?ComparisonFailure { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Runtime/OperatingSystem.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Runtime/OperatingSystem.php index a901be43..628c4392 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Runtime/OperatingSystem.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Runtime/OperatingSystem.php @@ -17,10 +17,10 @@ use const PHP_OS_FAMILY; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class OperatingSystem +final readonly class OperatingSystem { - private readonly string $operatingSystem; - private readonly string $operatingSystemFamily; + private string $operatingSystem; + private string $operatingSystemFamily; public function __construct() { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Runtime/PHP.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Runtime/PHP.php index 717f3c12..e81953d1 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Runtime/PHP.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Runtime/PHP.php @@ -25,20 +25,20 @@ use function sort; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class PHP +final readonly class PHP { - private readonly string $version; - private readonly int $versionId; - private readonly int $majorVersion; - private readonly int $minorVersion; - private readonly int $releaseVersion; - private readonly string $extraVersion; - private readonly string $sapi; + private string $version; + private int $versionId; + private int $majorVersion; + private int $minorVersion; + private int $releaseVersion; + private string $extraVersion; + private string $sapi; /** * @psalm-var list */ - private readonly array $extensions; + private array $extensions; public function __construct() { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Runtime/PHPUnit.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Runtime/PHPUnit.php index f6fb0375..c4006bc1 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Runtime/PHPUnit.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Runtime/PHPUnit.php @@ -16,10 +16,10 @@ use PHPUnit\Runner\Version; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class PHPUnit +final readonly class PHPUnit { - private readonly string $versionId; - private readonly string $releaseSeries; + private string $versionId; + private string $releaseSeries; public function __construct() { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Runtime/Runtime.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Runtime/Runtime.php index cea7ba32..406393c2 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Runtime/Runtime.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Runtime/Runtime.php @@ -16,11 +16,11 @@ use function sprintf; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Runtime +final readonly class Runtime { - private readonly OperatingSystem $operatingSystem; - private readonly PHP $php; - private readonly PHPUnit $phpunit; + private OperatingSystem $operatingSystem; + private PHP $php; + private PHPUnit $phpunit; public function __construct() { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/Duration.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/Duration.php index 000216cd..40ded7b1 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/Duration.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/Duration.php @@ -18,10 +18,10 @@ use PHPUnit\Event\InvalidArgumentException; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Duration +final readonly class Duration { - private readonly int $seconds; - private readonly int $nanoseconds; + private int $seconds; + private int $nanoseconds; /** * @throws InvalidArgumentException diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/GarbageCollectorStatus.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/GarbageCollectorStatus.php index 51a5ac68..e1eec1bf 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/GarbageCollectorStatus.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/GarbageCollectorStatus.php @@ -16,20 +16,20 @@ use PHPUnit\Event\RuntimeException; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class GarbageCollectorStatus +final readonly class GarbageCollectorStatus { - private readonly int $runs; - private readonly int $collected; - private readonly int $threshold; - private readonly int $roots; - private readonly ?float $applicationTime; - private readonly ?float $collectorTime; - private readonly ?float $destructorTime; - private readonly ?float $freeTime; - private readonly ?bool $running; - private readonly ?bool $protected; - private readonly ?bool $full; - private readonly ?int $bufferSize; + private int $runs; + private int $collected; + private int $threshold; + private int $roots; + private ?float $applicationTime; + private ?float $collectorTime; + private ?float $destructorTime; + private ?float $freeTime; + private ?bool $running; + private ?bool $protected; + private ?bool $full; + private ?int $bufferSize; public function __construct(int $runs, int $collected, int $threshold, int $roots, ?float $applicationTime, ?float $collectorTime, ?float $destructorTime, ?float $freeTime, ?bool $running, ?bool $protected, ?bool $full, ?int $bufferSize) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/HRTime.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/HRTime.php index 5a82ebb8..bdea0d7f 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/HRTime.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/HRTime.php @@ -17,10 +17,10 @@ use PHPUnit\Event\InvalidArgumentException; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class HRTime +final readonly class HRTime { - private readonly int $seconds; - private readonly int $nanoseconds; + private int $seconds; + private int $nanoseconds; /** * @throws InvalidArgumentException @@ -56,9 +56,6 @@ final class HRTime return $this->nanoseconds; } - /** - * @throws InvalidArgumentException - */ public function duration(self $start): Duration { $seconds = $this->seconds - $start->seconds(); @@ -71,7 +68,7 @@ final class HRTime } if ($seconds < 0) { - throw new InvalidArgumentException('Start needs to be smaller.'); + return Duration::fromSecondsAndNanoseconds(0, 0); } return Duration::fromSecondsAndNanoseconds( diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/Info.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/Info.php index 1546d940..94b2afea 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/Info.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/Info.php @@ -16,13 +16,13 @@ use function sprintf; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Info +final readonly class Info { - private readonly Snapshot $current; - private readonly Duration $durationSinceStart; - private readonly MemoryUsage $memorySinceStart; - private readonly Duration $durationSincePrevious; - private readonly MemoryUsage $memorySincePrevious; + private Snapshot $current; + private Duration $durationSinceStart; + private MemoryUsage $memorySinceStart; + private Duration $durationSincePrevious; + private MemoryUsage $memorySincePrevious; public function __construct(Snapshot $current, Duration $durationSinceStart, MemoryUsage $memorySinceStart, Duration $durationSincePrevious, MemoryUsage $memorySincePrevious) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/MemoryUsage.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/MemoryUsage.php index 7e8bc699..384fa7d0 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/MemoryUsage.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/MemoryUsage.php @@ -14,9 +14,9 @@ namespace PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class MemoryUsage +final readonly class MemoryUsage { - private readonly int $bytes; + private int $bytes; public static function fromBytes(int $bytes): self { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/Php81GarbageCollectorStatusProvider.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/Php81GarbageCollectorStatusProvider.php index 335a7e24..f81077e5 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/Php81GarbageCollectorStatusProvider.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/Php81GarbageCollectorStatusProvider.php @@ -13,8 +13,10 @@ use function gc_status; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit + * + * @codeCoverageIgnore */ -final class Php81GarbageCollectorStatusProvider implements GarbageCollectorStatusProvider +final readonly class Php81GarbageCollectorStatusProvider implements GarbageCollectorStatusProvider { public function status(): GarbageCollectorStatus { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/Php83GarbageCollectorStatusProvider.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/Php83GarbageCollectorStatusProvider.php index c3808b6b..bb08c156 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/Php83GarbageCollectorStatusProvider.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/Php83GarbageCollectorStatusProvider.php @@ -14,7 +14,7 @@ use function gc_status; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Php83GarbageCollectorStatusProvider implements GarbageCollectorStatusProvider +final readonly class Php83GarbageCollectorStatusProvider implements GarbageCollectorStatusProvider { public function status(): GarbageCollectorStatus { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/Snapshot.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/Snapshot.php index 6c5a1659..29fc1407 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/Snapshot.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/Snapshot.php @@ -14,12 +14,12 @@ namespace PHPUnit\Event\Telemetry; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Snapshot +final readonly class Snapshot { - private readonly HRTime $time; - private readonly MemoryUsage $memoryUsage; - private readonly MemoryUsage $peakMemoryUsage; - private readonly GarbageCollectorStatus $garbageCollectorStatus; + private HRTime $time; + private MemoryUsage $memoryUsage; + private MemoryUsage $peakMemoryUsage; + private GarbageCollectorStatus $garbageCollectorStatus; public function __construct(HRTime $time, MemoryUsage $memoryUsage, MemoryUsage $peakMemoryUsage, GarbageCollectorStatus $garbageCollectorStatus) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/System.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/System.php index 53b394da..e8bcab25 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/System.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/System.php @@ -12,11 +12,11 @@ namespace PHPUnit\Event\Telemetry; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class System +final readonly class System { - private readonly StopWatch $stopWatch; - private readonly MemoryMeter $memoryMeter; - private readonly GarbageCollectorStatusProvider $garbageCollectorStatusProvider; + private StopWatch $stopWatch; + private MemoryMeter $memoryMeter; + private GarbageCollectorStatusProvider $garbageCollectorStatusProvider; public function __construct(StopWatch $stopWatch, MemoryMeter $memoryMeter, GarbageCollectorStatusProvider $garbageCollectorStatusProvider) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/SystemMemoryMeter.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/SystemMemoryMeter.php index f052f6f4..053f500a 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/SystemMemoryMeter.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/SystemMemoryMeter.php @@ -15,7 +15,7 @@ use function memory_get_usage; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class SystemMemoryMeter implements MemoryMeter +final readonly class SystemMemoryMeter implements MemoryMeter { public function memoryUsage(): MemoryUsage { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/SystemStopWatch.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/SystemStopWatch.php index bf37fb4e..2e640e88 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/SystemStopWatch.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/SystemStopWatch.php @@ -15,7 +15,7 @@ use PHPUnit\Event\InvalidArgumentException; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class SystemStopWatch implements StopWatch +final readonly class SystemStopWatch implements StopWatch { /** * @throws InvalidArgumentException diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/SystemStopWatchWithOffset.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/SystemStopWatchWithOffset.php index f4515787..86696afe 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/SystemStopWatchWithOffset.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Telemetry/SystemStopWatchWithOffset.php @@ -14,6 +14,8 @@ use PHPUnit\Event\InvalidArgumentException; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit + * + * @codeCoverageIgnore */ final class SystemStopWatchWithOffset implements StopWatch { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/Phpt.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/Phpt.php index 10567871..71d5e2aa 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/Phpt.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/Phpt.php @@ -14,7 +14,7 @@ namespace PHPUnit\Event\Code; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Phpt extends Test +final readonly class Phpt extends Test { /** * @psalm-assert-if-true Phpt $this diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/Test.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/Test.php index 6ec899c6..f8f71beb 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/Test.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/Test.php @@ -14,12 +14,12 @@ namespace PHPUnit\Event\Code; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -abstract class Test +abstract readonly class Test { /** * @psalm-var non-empty-string */ - private readonly string $file; + private string $file; /** * @psalm-param non-empty-string $file diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestCollection.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestCollection.php index 2656e1ce..e5710468 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestCollection.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestCollection.php @@ -20,12 +20,12 @@ use IteratorAggregate; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class TestCollection implements Countable, IteratorAggregate +final readonly class TestCollection implements Countable, IteratorAggregate { /** * @psalm-var list */ - private readonly array $tests; + private array $tests; /** * @psalm-param list $tests diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestData/DataFromDataProvider.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestData/DataFromDataProvider.php index fb7d5610..2ca1d844 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestData/DataFromDataProvider.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestData/DataFromDataProvider.php @@ -14,10 +14,10 @@ namespace PHPUnit\Event\TestData; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class DataFromDataProvider extends TestData +final readonly class DataFromDataProvider extends TestData { - private readonly int|string $dataSetName; - private readonly string $dataAsStringForResultOutput; + private int|string $dataSetName; + private string $dataAsStringForResultOutput; public static function from(int|string $dataSetName, string $data, string $dataAsStringForResultOutput): self { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestData/DataFromTestDependency.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestData/DataFromTestDependency.php index 48fa5cdc..885115e5 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestData/DataFromTestDependency.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestData/DataFromTestDependency.php @@ -14,7 +14,7 @@ namespace PHPUnit\Event\TestData; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class DataFromTestDependency extends TestData +final readonly class DataFromTestDependency extends TestData { public static function from(string $data): self { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestData/TestData.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestData/TestData.php index dd68d1f6..ad433071 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestData/TestData.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestData/TestData.php @@ -14,9 +14,9 @@ namespace PHPUnit\Event\TestData; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -abstract class TestData +abstract readonly class TestData { - private readonly string $data; + private string $data; protected function __construct(string $data) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestData/TestDataCollection.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestData/TestDataCollection.php index 55012259..b1c9204c 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestData/TestDataCollection.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestData/TestDataCollection.php @@ -18,32 +18,34 @@ use IteratorAggregate; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class TestDataCollection implements Countable, IteratorAggregate +final readonly class TestDataCollection implements Countable, IteratorAggregate { /** * @psalm-var list */ - private readonly array $data; - private ?DataFromDataProvider $fromDataProvider = null; + private array $data; + private ?DataFromDataProvider $fromDataProvider; /** * @psalm-param list $data - * - * @throws MoreThanOneDataSetFromDataProviderException */ public static function fromArray(array $data): self { return new self(...$data); } - /** - * @throws MoreThanOneDataSetFromDataProviderException - */ private function __construct(TestData ...$data) { - $this->ensureNoMoreThanOneDataFromDataProvider($data); + $fromDataProvider = null; - $this->data = $data; + foreach ($data as $_data) { + if ($_data->isFromDataProvider()) { + $fromDataProvider = $_data; + } + } + + $this->data = $data; + $this->fromDataProvider = $fromDataProvider; } /** @@ -83,22 +85,4 @@ final class TestDataCollection implements Countable, IteratorAggregate { return new TestDataCollectionIterator($this); } - - /** - * @psalm-param list $data - * - * @throws MoreThanOneDataSetFromDataProviderException - */ - private function ensureNoMoreThanOneDataFromDataProvider(array $data): void - { - foreach ($data as $_data) { - if ($_data->isFromDataProvider()) { - if ($this->fromDataProvider !== null) { - throw new MoreThanOneDataSetFromDataProviderException; - } - - $this->fromDataProvider = $_data; - } - } - } } diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestDox.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestDox.php index 948d55fd..2703a368 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestDox.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestDox.php @@ -14,11 +14,11 @@ namespace PHPUnit\Event\Code; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class TestDox +final readonly class TestDox { - private readonly string $prettifiedClassName; - private readonly string $prettifiedMethodName; - private readonly string $prettifiedAndColorizedMethodName; + private string $prettifiedClassName; + private string $prettifiedMethodName; + private string $prettifiedAndColorizedMethodName; public function __construct(string $prettifiedClassName, string $prettifiedMethodName, string $prettifiedAndColorizedMethodName) { diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestDoxBuilder.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestDoxBuilder.php index 2c174698..ae8f62da 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestDoxBuilder.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestDoxBuilder.php @@ -9,18 +9,14 @@ */ namespace PHPUnit\Event\Code; -use PHPUnit\Event\TestData\MoreThanOneDataSetFromDataProviderException; use PHPUnit\Framework\TestCase; use PHPUnit\Logging\TestDox\NamePrettifier; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestDoxBuilder +final readonly class TestDoxBuilder { - /** - * @throws MoreThanOneDataSetFromDataProviderException - */ public static function fromTestCase(TestCase $testCase): TestDox { $prettifier = new NamePrettifier; @@ -40,10 +36,12 @@ final class TestDoxBuilder { $prettifier = new NamePrettifier; + $prettifiedMethodName = $prettifier->prettifyTestMethodName($methodName); + return new TestDox( $prettifier->prettifyTestClassName($className), - $prettifier->prettifyTestMethodName($methodName), - $prettifier->prettifyTestMethodName($methodName), + $prettifiedMethodName, + $prettifiedMethodName, ); } } diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestMethod.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestMethod.php index 40330891..33821b77 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestMethod.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestMethod.php @@ -20,25 +20,25 @@ use PHPUnit\Metadata\MetadataCollection; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class TestMethod extends Test +final readonly class TestMethod extends Test { /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-var non-empty-string */ - private readonly string $methodName; + private string $methodName; /** * @psalm-var non-negative-int */ - private readonly int $line; - private readonly TestDox $testDox; - private readonly MetadataCollection $metadata; - private readonly TestDataCollection $testData; + private int $line; + private TestDox $testDox; + private MetadataCollection $metadata; + private TestDataCollection $testData; /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestMethodBuilder.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestMethodBuilder.php index 59a9fef6..c744a323 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestMethodBuilder.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Test/TestMethodBuilder.php @@ -12,24 +12,19 @@ namespace PHPUnit\Event\Code; use function assert; use function debug_backtrace; use function is_numeric; -use PHPUnit\Event\Facade as EventFacade; use PHPUnit\Event\TestData\DataFromDataProvider; use PHPUnit\Event\TestData\DataFromTestDependency; -use PHPUnit\Event\TestData\MoreThanOneDataSetFromDataProviderException; use PHPUnit\Event\TestData\TestDataCollection; use PHPUnit\Framework\TestCase; use PHPUnit\Metadata\Parser\Registry as MetadataRegistry; -use PHPUnit\Util\Exporter; use PHPUnit\Util\Reflection; +use SebastianBergmann\Exporter\Exporter; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestMethodBuilder +final readonly class TestMethodBuilder { - /** - * @throws MoreThanOneDataSetFromDataProviderException - */ public static function fromTestCase(TestCase $testCase): TestMethod { $methodName = $testCase->name(); @@ -63,11 +58,9 @@ final class TestMethodBuilder throw new NoTestCaseObjectOnCallStackException; } - /** - * @throws MoreThanOneDataSetFromDataProviderException - */ private static function dataFor(TestCase $testCase): TestDataCollection { + $exporter = new Exporter; $testData = []; if ($testCase->usesDataProvider()) { @@ -79,14 +72,14 @@ final class TestMethodBuilder $testData[] = DataFromDataProvider::from( $dataSetName, - Exporter::export($testCase->providedData(), EventFacade::emitter()->exportsObjects()), + $exporter->export($testCase->providedData()), $testCase->dataSetAsStringWithData(), ); } if ($testCase->hasDependencyInput()) { $testData[] = DataFromTestDependency::from( - Exporter::export($testCase->dependencyInput(), EventFacade::emitter()->exportsObjects()), + $exporter->export($testCase->dependencyInput()), ); } diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/TestSuite/TestSuite.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/TestSuite/TestSuite.php index 744f7095..26a7c979 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/TestSuite/TestSuite.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/TestSuite/TestSuite.php @@ -16,14 +16,14 @@ use PHPUnit\Event\Code\TestCollection; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -abstract class TestSuite +abstract readonly class TestSuite { /** * @psalm-var non-empty-string */ - private readonly string $name; - private readonly int $count; - private readonly TestCollection $tests; + private string $name; + private int $count; + private TestCollection $tests; /** * @psalm-param non-empty-string $name diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/TestSuite/TestSuiteBuilder.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/TestSuite/TestSuiteBuilder.php index c8988693..1e4b4a84 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/TestSuite/TestSuiteBuilder.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/TestSuite/TestSuiteBuilder.php @@ -24,7 +24,7 @@ use ReflectionMethod; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestSuiteBuilder +final readonly class TestSuiteBuilder { /** * @throws RuntimeException @@ -105,9 +105,9 @@ final class TestSuiteBuilder /** * @psalm-param list $tests */ - private static function process(FrameworkTestSuite $testSuite, &$tests): void + private static function process(FrameworkTestSuite $testSuite, array &$tests): void { - foreach ($testSuite->tests() as $test) { + foreach ($testSuite->getIterator() as $test) { if ($test instanceof FrameworkTestSuite) { self::process($test, $tests); diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/TestSuite/TestSuiteForTestClass.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/TestSuite/TestSuiteForTestClass.php index fcfc9d0a..b97b24fc 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/TestSuite/TestSuiteForTestClass.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/TestSuite/TestSuiteForTestClass.php @@ -16,14 +16,14 @@ use PHPUnit\Event\Code\TestCollection; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class TestSuiteForTestClass extends TestSuite +final readonly class TestSuiteForTestClass extends TestSuite { /** * @psalm-var class-string */ - private readonly string $className; - private readonly string $file; - private readonly int $line; + private string $className; + private string $file; + private int $line; /** * @psalm-param class-string $name diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/TestSuite/TestSuiteForTestMethodWithDataProvider.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/TestSuite/TestSuiteForTestMethodWithDataProvider.php index 29bebc6f..3b29b808 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/TestSuite/TestSuiteForTestMethodWithDataProvider.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/TestSuite/TestSuiteForTestMethodWithDataProvider.php @@ -16,19 +16,19 @@ use PHPUnit\Event\Code\TestCollection; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class TestSuiteForTestMethodWithDataProvider extends TestSuite +final readonly class TestSuiteForTestMethodWithDataProvider extends TestSuite { /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-var non-empty-string */ - private readonly string $methodName; - private readonly string $file; - private readonly int $line; + private string $methodName; + private string $file; + private int $line; /** * @psalm-param non-empty-string $name diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/TestSuite/TestSuiteWithName.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/TestSuite/TestSuiteWithName.php index 68c2f706..3bf5ce8b 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/TestSuite/TestSuiteWithName.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/TestSuite/TestSuiteWithName.php @@ -14,7 +14,7 @@ namespace PHPUnit\Event\TestSuite; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class TestSuiteWithName extends TestSuite +final readonly class TestSuiteWithName extends TestSuite { /** * @psalm-assert-if-true TestSuiteWithName $this diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/Throwable.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/Throwable.php index f94a8a22..c294de51 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/Throwable.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/Throwable.php @@ -17,16 +17,16 @@ use PHPUnit\Event\NoPreviousThrowableException; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Throwable +final readonly class Throwable { /** * @psalm-var class-string */ - private readonly string $className; - private readonly string $message; - private readonly string $description; - private readonly string $stackTrace; - private readonly ?Throwable $previous; + private string $className; + private string $message; + private string $description; + private string $stackTrace; + private ?Throwable $previous; /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/Event/Value/ThrowableBuilder.php b/Sources/vendor/phpunit/phpunit/src/Event/Value/ThrowableBuilder.php index aed9144f..b887bc2f 100644 --- a/Sources/vendor/phpunit/phpunit/src/Event/Value/ThrowableBuilder.php +++ b/Sources/vendor/phpunit/phpunit/src/Event/Value/ThrowableBuilder.php @@ -17,7 +17,7 @@ use PHPUnit\Util\ThrowableToStringMapper; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class ThrowableBuilder +final readonly class ThrowableBuilder { /** * @throws Exception @@ -35,7 +35,7 @@ final class ThrowableBuilder $t::class, $t->getMessage(), ThrowableToStringMapper::map($t), - Filter::getFilteredStacktrace($t), + Filter::getFilteredStacktrace($t, false), $previous, ); } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Assert.php b/Sources/vendor/phpunit/phpunit/src/Framework/Assert.php index 6694fb6c..ba54814d 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Assert.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Assert.php @@ -9,6 +9,8 @@ */ namespace PHPUnit\Framework; +use function array_combine; +use function array_intersect_key; use function class_exists; use function count; use function file_get_contents; @@ -72,6 +74,86 @@ abstract class Assert { private static int $count = 0; + /** + * Asserts that two arrays are equal while only considering a list of keys. + * + * @psalm-param non-empty-list $keysToBeConsidered + * + * @throws Exception + * @throws ExpectationFailedException + */ + final public static function assertArrayIsEqualToArrayOnlyConsideringListOfKeys(array $expected, array $actual, array $keysToBeConsidered, string $message = ''): void + { + $filteredExpected = []; + + foreach ($keysToBeConsidered as $key) { + if (isset($expected[$key])) { + $filteredExpected[$key] = $expected[$key]; + } + } + + $filteredActual = []; + + foreach ($keysToBeConsidered as $key) { + if (isset($actual[$key])) { + $filteredActual[$key] = $actual[$key]; + } + } + + static::assertEquals($filteredExpected, $filteredActual, $message); + } + + /** + * Asserts that two arrays are equal while ignoring a list of keys. + * + * @psalm-param non-empty-list $keysToBeIgnored + * + * @throws Exception + * @throws ExpectationFailedException + */ + final public static function assertArrayIsEqualToArrayIgnoringListOfKeys(array $expected, array $actual, array $keysToBeIgnored, string $message = ''): void + { + foreach ($keysToBeIgnored as $key) { + unset($expected[$key], $actual[$key]); + } + + static::assertEquals($expected, $actual, $message); + } + + /** + * Asserts that two arrays are identical while only considering a list of keys. + * + * @psalm-param non-empty-list $keysToBeConsidered + * + * @throws Exception + * @throws ExpectationFailedException + */ + final public static function assertArrayIsIdenticalToArrayOnlyConsideringListOfKeys(array $expected, array $actual, array $keysToBeConsidered, string $message = ''): void + { + $keysToBeConsidered = array_combine($keysToBeConsidered, $keysToBeConsidered); + $expected = array_intersect_key($expected, $keysToBeConsidered); + $actual = array_intersect_key($actual, $keysToBeConsidered); + + static::assertSame($expected, $actual, $message); + } + + /** + * Asserts that two arrays are equal while ignoring a list of keys. + * + * @psalm-param non-empty-list $keysToBeIgnored + * + * @throws Exception + * @throws ExpectationFailedException + */ + final public static function assertArrayIsIdenticalToArrayIgnoringListOfKeys(array $expected, array $actual, array $keysToBeIgnored, string $message = ''): void + { + foreach ($keysToBeIgnored as $key) { + unset($expected[$key], $actual[$key]); + } + + static::assertSame($expected, $actual, $message); + } + /** * Asserts that an array has a specified key. * @@ -1617,6 +1699,11 @@ abstract class Assert */ final public static function assertStringNotMatchesFormat(string $format, string $string, string $message = ''): void { + Event\Facade::emitter()->testTriggeredPhpunitDeprecation( + null, + 'assertStringNotMatchesFormat() is deprecated and will be removed in PHPUnit 12 without replacement.', + ); + static::assertThat( $string, new LogicalNot( @@ -1653,6 +1740,11 @@ abstract class Assert */ final public static function assertStringNotMatchesFormatFile(string $formatFile, string $string, string $message = ''): void { + Event\Facade::emitter()->testTriggeredPhpunitDeprecation( + null, + 'assertStringNotMatchesFormatFile() is deprecated and will be removed in PHPUnit 12 without replacement.', + ); + static::assertFileExists($formatFile, $message); static::assertThat( @@ -1864,27 +1956,7 @@ abstract class Assert { self::$count += count($constraint); - $hasFailed = true; - - try { - $constraint->evaluate($value, $message); - - $hasFailed = false; - } finally { - if ($hasFailed) { - Event\Facade::emitter()->testAssertionFailed( - $value, - $constraint, - $message, - ); - } else { - Event\Facade::emitter()->testAssertionSucceeded( - $value, - $constraint, - $message, - ); - } - } + $constraint->evaluate($value, $message); } /** @@ -2132,7 +2204,7 @@ abstract class Assert final public static function equalTo(mixed $value): IsEqual { - return new IsEqual($value, 0.0, false, false); + return new IsEqual($value); } final public static function equalToCanonicalizing(mixed $value): IsEqualCanonicalizing diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Assert/Functions.php b/Sources/vendor/phpunit/phpunit/src/Framework/Assert/Functions.php index 21a74a3f..cc69f8e8 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Assert/Functions.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Assert/Functions.php @@ -69,6 +69,82 @@ use PHPUnit\Framework\MockObject\Stub\ReturnValueMap as ReturnValueMapStub; use PHPUnit\Util\Xml\XmlException; use Throwable; +if (!function_exists('PHPUnit\Framework\assertArrayIsEqualToArrayOnlyConsideringListOfKeys')) { + /** + * Asserts that two arrays are equal while only considering a list of keys. + * + * @psalm-param list $keysToBeConsidered + * + * @throws Exception + * @throws ExpectationFailedException + * + * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit + * + * @see Assert::assertArrayIsEqualToArrayOnlyConsideringListOfKeys + */ + function assertArrayIsEqualToArrayOnlyConsideringListOfKeys(array $expected, array $actual, array $keysToBeConsidered, string $message = ''): void + { + Assert::assertArrayIsEqualToArrayOnlyConsideringListOfKeys(...func_get_args()); + } +} + +if (!function_exists('PHPUnit\Framework\assertArrayIsEqualToArrayIgnoringListOfKeys')) { + /** + * Asserts that two arrays are equal while ignoring a list of keys. + * + * @psalm-param list $keysToBeIgnored + * + * @throws Exception + * @throws ExpectationFailedException + * + * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit + * + * @see Assert::assertArrayIsEqualToArrayIgnoringListOfKeys + */ + function assertArrayIsEqualToArrayIgnoringListOfKeys(array $expected, array $actual, array $keysToBeIgnored, string $message = ''): void + { + Assert::assertArrayIsEqualToArrayIgnoringListOfKeys(...func_get_args()); + } +} + +if (!function_exists('PHPUnit\Framework\assertArrayIsIdenticalToArrayOnlyConsideringListOfKeys')) { + /** + * Asserts that two arrays are identical while only considering a list of keys. + * + * @psalm-param list $keysToBeConsidered + * + * @throws Exception + * @throws ExpectationFailedException + * + * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit + * + * @see Assert::assertArrayIsIdenticalToArrayOnlyConsideringListOfKeys + */ + function assertArrayIsIdenticalToArrayOnlyConsideringListOfKeys(array $expected, array $actual, array $keysToBeConsidered, string $message = ''): void + { + Assert::assertArrayIsIdenticalToArrayOnlyConsideringListOfKeys(...func_get_args()); + } +} + +if (!function_exists('PHPUnit\Framework\assertArrayIsIdenticalToArrayIgnoringListOfKeys')) { + /** + * Asserts that two arrays are equal while ignoring a list of keys. + * + * @psalm-param list $keysToBeIgnored + * + * @throws Exception + * @throws ExpectationFailedException + * + * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit + * + * @see Assert::assertArrayIsIdenticalToArrayIgnoringListOfKeys + */ + function assertArrayIsIdenticalToArrayIgnoringListOfKeys(array $expected, array $actual, array $keysToBeIgnored, string $message = ''): void + { + Assert::assertArrayIsIdenticalToArrayIgnoringListOfKeys(...func_get_args()); + } +} + if (!function_exists('PHPUnit\Framework\assertArrayHasKey')) { /** * Asserts that an array has a specified key. diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/After.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/After.php index 6fe0a3c8..23f56b12 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/After.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/After.php @@ -17,6 +17,6 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_METHOD)] -final class After +final readonly class After { } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/AfterClass.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/AfterClass.php index 8ef97f25..1b9e79e0 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/AfterClass.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/AfterClass.php @@ -17,6 +17,6 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_METHOD)] -final class AfterClass +final readonly class AfterClass { } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/BackupGlobals.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/BackupGlobals.php index 481687e4..c212cdbd 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/BackupGlobals.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/BackupGlobals.php @@ -17,9 +17,9 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_METHOD)] -final class BackupGlobals +final readonly class BackupGlobals { - private readonly bool $enabled; + private bool $enabled; public function __construct(bool $enabled) { diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/BackupStaticProperties.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/BackupStaticProperties.php index 8fa215b0..6c80565b 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/BackupStaticProperties.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/BackupStaticProperties.php @@ -17,9 +17,9 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_METHOD)] -final class BackupStaticProperties +final readonly class BackupStaticProperties { - private readonly bool $enabled; + private bool $enabled; public function __construct(bool $enabled) { diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Before.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Before.php index 39ecf437..0eb15d1e 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Before.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Before.php @@ -17,6 +17,6 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_METHOD)] -final class Before +final readonly class Before { } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/BeforeClass.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/BeforeClass.php index 4ea55e0d..50689983 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/BeforeClass.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/BeforeClass.php @@ -17,6 +17,6 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_METHOD)] -final class BeforeClass +final readonly class BeforeClass { } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/CodeCoverageIgnore.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/CodeCoverageIgnore.php deleted file mode 100644 index 38ec37ad..00000000 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/CodeCoverageIgnore.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Attributes; - -use Attribute; - -/** - * @psalm-immutable - * - * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5236 - */ -#[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_METHOD)] -final class CodeCoverageIgnore -{ -} diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/CoversClass.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/CoversClass.php index 9b070c8a..ea2b49b9 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/CoversClass.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/CoversClass.php @@ -17,12 +17,12 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS | Attribute::IS_REPEATABLE)] -final class CoversClass +final readonly class CoversClass { /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/CoversFunction.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/CoversFunction.php index ad0bbd28..1a68f00a 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/CoversFunction.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/CoversFunction.php @@ -17,12 +17,12 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS | Attribute::IS_REPEATABLE)] -final class CoversFunction +final readonly class CoversFunction { /** * @psalm-var non-empty-string */ - private readonly string $functionName; + private string $functionName; /** * @psalm-param non-empty-string $functionName diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/CoversNothing.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/CoversNothing.php index 8ac6a2ed..a314f7aa 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/CoversNothing.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/CoversNothing.php @@ -17,6 +17,6 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_METHOD)] -final class CoversNothing +final readonly class CoversNothing { } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DataProvider.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DataProvider.php index d31130fb..d7ade647 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DataProvider.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DataProvider.php @@ -17,12 +17,12 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)] -final class DataProvider +final readonly class DataProvider { /** * @psalm-var non-empty-string */ - private readonly string $methodName; + private string $methodName; /** * @psalm-param non-empty-string $methodName diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DataProviderExternal.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DataProviderExternal.php index 37f85868..d59d85fe 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DataProviderExternal.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DataProviderExternal.php @@ -17,17 +17,17 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)] -final class DataProviderExternal +final readonly class DataProviderExternal { /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-var non-empty-string */ - private readonly string $methodName; + private string $methodName; /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Depends.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Depends.php index 38daf1ef..124566aa 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Depends.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Depends.php @@ -17,12 +17,12 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)] -final class Depends +final readonly class Depends { /** * @psalm-var non-empty-string */ - private readonly string $methodName; + private string $methodName; /** * @psalm-param non-empty-string $methodName diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsExternal.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsExternal.php index ba5bc322..31f62b44 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsExternal.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsExternal.php @@ -17,17 +17,17 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)] -final class DependsExternal +final readonly class DependsExternal { /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-var non-empty-string */ - private readonly string $methodName; + private string $methodName; /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsExternalUsingDeepClone.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsExternalUsingDeepClone.php index 9e426aba..4519ccb4 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsExternalUsingDeepClone.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsExternalUsingDeepClone.php @@ -17,17 +17,17 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)] -final class DependsExternalUsingDeepClone +final readonly class DependsExternalUsingDeepClone { /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-var non-empty-string */ - private readonly string $methodName; + private string $methodName; /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsExternalUsingShallowClone.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsExternalUsingShallowClone.php index 5b9a85df..22b2539d 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsExternalUsingShallowClone.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsExternalUsingShallowClone.php @@ -17,17 +17,17 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)] -final class DependsExternalUsingShallowClone +final readonly class DependsExternalUsingShallowClone { /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-var non-empty-string */ - private readonly string $methodName; + private string $methodName; /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsOnClass.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsOnClass.php index 73722e36..e179d18c 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsOnClass.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsOnClass.php @@ -17,12 +17,12 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)] -final class DependsOnClass +final readonly class DependsOnClass { /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsOnClassUsingDeepClone.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsOnClassUsingDeepClone.php index 7ce05476..b737b0ad 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsOnClassUsingDeepClone.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsOnClassUsingDeepClone.php @@ -17,12 +17,12 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)] -final class DependsOnClassUsingDeepClone +final readonly class DependsOnClassUsingDeepClone { /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsOnClassUsingShallowClone.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsOnClassUsingShallowClone.php index 206c0add..91e88ee6 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsOnClassUsingShallowClone.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsOnClassUsingShallowClone.php @@ -17,12 +17,12 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)] -final class DependsOnClassUsingShallowClone +final readonly class DependsOnClassUsingShallowClone { /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsUsingDeepClone.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsUsingDeepClone.php index 11c4091c..8879ecde 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsUsingDeepClone.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsUsingDeepClone.php @@ -17,12 +17,12 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)] -final class DependsUsingDeepClone +final readonly class DependsUsingDeepClone { /** * @psalm-var non-empty-string */ - private readonly string $methodName; + private string $methodName; /** * @psalm-param non-empty-string $methodName diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsUsingShallowClone.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsUsingShallowClone.php index 0812c85c..c844066a 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsUsingShallowClone.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DependsUsingShallowClone.php @@ -17,12 +17,12 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)] -final class DependsUsingShallowClone +final readonly class DependsUsingShallowClone { /** * @psalm-var non-empty-string */ - private readonly string $methodName; + private string $methodName; /** * @psalm-param non-empty-string $methodName diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DoesNotPerformAssertions.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DoesNotPerformAssertions.php index 3d6045a2..7818ed03 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DoesNotPerformAssertions.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/DoesNotPerformAssertions.php @@ -17,6 +17,6 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_METHOD)] -final class DoesNotPerformAssertions +final readonly class DoesNotPerformAssertions { } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/ExcludeGlobalVariableFromBackup.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/ExcludeGlobalVariableFromBackup.php index dcd7a12b..4ad5b5eb 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/ExcludeGlobalVariableFromBackup.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/ExcludeGlobalVariableFromBackup.php @@ -17,12 +17,12 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)] -final class ExcludeGlobalVariableFromBackup +final readonly class ExcludeGlobalVariableFromBackup { /** * @psalm-var non-empty-string */ - private readonly string $globalVariableName; + private string $globalVariableName; /** * @psalm-param non-empty-string $globalVariableName diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/ExcludeStaticPropertyFromBackup.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/ExcludeStaticPropertyFromBackup.php index 64b25ed5..d516f1a9 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/ExcludeStaticPropertyFromBackup.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/ExcludeStaticPropertyFromBackup.php @@ -17,17 +17,17 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)] -final class ExcludeStaticPropertyFromBackup +final readonly class ExcludeStaticPropertyFromBackup { /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-var non-empty-string */ - private readonly string $propertyName; + private string $propertyName; /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Group.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Group.php index feccb287..d1127384 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Group.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Group.php @@ -17,12 +17,12 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)] -final class Group +final readonly class Group { /** * @psalm-var non-empty-string */ - private readonly string $name; + private string $name; /** * @psalm-param non-empty-string $name diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/IgnoreClassForCodeCoverage.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/IgnoreClassForCodeCoverage.php deleted file mode 100644 index 28355074..00000000 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/IgnoreClassForCodeCoverage.php +++ /dev/null @@ -1,44 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Attributes; - -use Attribute; - -/** - * @psalm-immutable - * - * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5513 - */ -#[Attribute(Attribute::TARGET_CLASS | Attribute::IS_REPEATABLE)] -final class IgnoreClassForCodeCoverage -{ - /** - * @psalm-var class-string - */ - private readonly string $className; - - /** - * @psalm-param class-string $className - */ - public function __construct(string $className) - { - $this->className = $className; - } - - /** - * @psalm-return class-string - */ - public function className(): string - { - return $this->className; - } -} diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/IgnoreDeprecations.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/IgnoreDeprecations.php index cf48aac1..d39a6cf3 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/IgnoreDeprecations.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/IgnoreDeprecations.php @@ -17,6 +17,6 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_METHOD)] -final class IgnoreDeprecations +final readonly class IgnoreDeprecations { } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/IgnoreFunctionForCodeCoverage.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/IgnoreFunctionForCodeCoverage.php deleted file mode 100644 index 90a4bab0..00000000 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/IgnoreFunctionForCodeCoverage.php +++ /dev/null @@ -1,44 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Attributes; - -use Attribute; - -/** - * @psalm-immutable - * - * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5513 - */ -#[Attribute(Attribute::TARGET_CLASS | Attribute::IS_REPEATABLE)] -final class IgnoreFunctionForCodeCoverage -{ - /** - * @psalm-var non-empty-string - */ - private readonly string $functionName; - - /** - * @psalm-param non-empty-string $functionName - */ - public function __construct(string $functionName) - { - $this->functionName = $functionName; - } - - /** - * @psalm-return non-empty-string - */ - public function functionName(): string - { - return $this->functionName; - } -} diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/IgnoreMethodForCodeCoverage.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/IgnoreMethodForCodeCoverage.php deleted file mode 100644 index a76188f9..00000000 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/IgnoreMethodForCodeCoverage.php +++ /dev/null @@ -1,59 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Attributes; - -use Attribute; - -/** - * @psalm-immutable - * - * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5513 - */ -#[Attribute(Attribute::TARGET_CLASS | Attribute::IS_REPEATABLE)] -final class IgnoreMethodForCodeCoverage -{ - /** - * @psalm-var class-string - */ - private readonly string $className; - - /** - * @psalm-var non-empty-string - */ - private readonly string $methodName; - - /** - * @psalm-param class-string $className - * @psalm-param non-empty-string $methodName - */ - public function __construct(string $className, string $methodName) - { - $this->className = $className; - $this->methodName = $methodName; - } - - /** - * @psalm-return class-string - */ - public function className(): string - { - return $this->className; - } - - /** - * @psalm-return non-empty-string - */ - public function methodName(): string - { - return $this->methodName; - } -} diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Large.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Large.php index 6d46c1b4..1b84fe7c 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Large.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Large.php @@ -17,6 +17,6 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS)] -final class Large +final readonly class Large { } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Medium.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Medium.php index 40e9c451..5a62235f 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Medium.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Medium.php @@ -17,6 +17,6 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS)] -final class Medium +final readonly class Medium { } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/PostCondition.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/PostCondition.php index 461aab42..965d351a 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/PostCondition.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/PostCondition.php @@ -17,6 +17,6 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_METHOD)] -final class PostCondition +final readonly class PostCondition { } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/PreCondition.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/PreCondition.php index 120ed6c1..ce3f9c42 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/PreCondition.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/PreCondition.php @@ -17,6 +17,6 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_METHOD)] -final class PreCondition +final readonly class PreCondition { } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/PreserveGlobalState.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/PreserveGlobalState.php index 69bc3f52..3a1ae5f0 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/PreserveGlobalState.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/PreserveGlobalState.php @@ -17,9 +17,9 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_METHOD)] -final class PreserveGlobalState +final readonly class PreserveGlobalState { - private readonly bool $enabled; + private bool $enabled; public function __construct(bool $enabled) { diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresFunction.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresFunction.php index 250915d6..710d3c77 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresFunction.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresFunction.php @@ -17,12 +17,12 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)] -final class RequiresFunction +final readonly class RequiresFunction { /** * @psalm-var non-empty-string */ - private readonly string $functionName; + private string $functionName; /** * @psalm-param non-empty-string $functionName diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresMethod.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresMethod.php index 120c705a..34ffec11 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresMethod.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresMethod.php @@ -17,17 +17,17 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)] -final class RequiresMethod +final readonly class RequiresMethod { /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-var non-empty-string */ - private readonly string $methodName; + private string $methodName; /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresOperatingSystem.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresOperatingSystem.php index cbf82117..42c3bac8 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresOperatingSystem.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresOperatingSystem.php @@ -17,12 +17,12 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_METHOD)] -final class RequiresOperatingSystem +final readonly class RequiresOperatingSystem { /** * @psalm-var non-empty-string */ - private readonly string $regularExpression; + private string $regularExpression; /** * @psalm-param non-empty-string $regularExpression diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresOperatingSystemFamily.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresOperatingSystemFamily.php index d4e2c92b..824d930a 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresOperatingSystemFamily.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresOperatingSystemFamily.php @@ -17,12 +17,12 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_METHOD)] -final class RequiresOperatingSystemFamily +final readonly class RequiresOperatingSystemFamily { /** * @psalm-var non-empty-string */ - private readonly string $operatingSystemFamily; + private string $operatingSystemFamily; /** * @psalm-param non-empty-string $operatingSystemFamily diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresPhp.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresPhp.php index a6c20b37..01e3a6c2 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresPhp.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresPhp.php @@ -17,12 +17,12 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_METHOD)] -final class RequiresPhp +final readonly class RequiresPhp { /** * @psalm-var non-empty-string */ - private readonly string $versionRequirement; + private string $versionRequirement; /** * @psalm-param non-empty-string $versionRequirement diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresPhpExtension.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresPhpExtension.php index ab3b57a3..01a5d576 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresPhpExtension.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresPhpExtension.php @@ -17,17 +17,17 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)] -final class RequiresPhpExtension +final readonly class RequiresPhpExtension { /** * @psalm-var non-empty-string */ - private readonly string $extension; + private string $extension; /** * @psalm-var null|non-empty-string */ - private readonly ?string $versionRequirement; + private ?string $versionRequirement; /** * @psalm-param non-empty-string $extension diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresPhpunit.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresPhpunit.php index 908e400b..91eccf72 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresPhpunit.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresPhpunit.php @@ -17,12 +17,12 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_METHOD)] -final class RequiresPhpunit +final readonly class RequiresPhpunit { /** * @psalm-var non-empty-string */ - private readonly string $versionRequirement; + private string $versionRequirement; /** * @psalm-param non-empty-string $versionRequirement diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresSetting.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresSetting.php index cb7127ab..cc5f0c6b 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresSetting.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresSetting.php @@ -17,17 +17,17 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)] -final class RequiresSetting +final readonly class RequiresSetting { /** * @psalm-var non-empty-string */ - private readonly string $setting; + private string $setting; /** * @psalm-var non-empty-string */ - private readonly string $value; + private string $value; /** * @psalm-param non-empty-string $setting diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RunClassInSeparateProcess.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RunClassInSeparateProcess.php index 621774fb..1ccd3bc6 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RunClassInSeparateProcess.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RunClassInSeparateProcess.php @@ -17,6 +17,6 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS)] -final class RunClassInSeparateProcess +final readonly class RunClassInSeparateProcess { } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RunInSeparateProcess.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RunInSeparateProcess.php index dd0066bf..838e267e 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RunInSeparateProcess.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RunInSeparateProcess.php @@ -17,6 +17,6 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_METHOD)] -final class RunInSeparateProcess +final readonly class RunInSeparateProcess { } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RunTestsInSeparateProcesses.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RunTestsInSeparateProcesses.php index b823ccb1..19fea882 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RunTestsInSeparateProcesses.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/RunTestsInSeparateProcesses.php @@ -17,6 +17,6 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS)] -final class RunTestsInSeparateProcesses +final readonly class RunTestsInSeparateProcesses { } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Small.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Small.php index 598b6540..46c6f609 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Small.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Small.php @@ -17,6 +17,6 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS)] -final class Small +final readonly class Small { } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Test.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Test.php index 711d58d2..64da571f 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Test.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Test.php @@ -17,6 +17,6 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_METHOD)] -final class Test +final readonly class Test { } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/TestDox.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/TestDox.php index f49c4bd5..6a3576fe 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/TestDox.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/TestDox.php @@ -17,12 +17,12 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_METHOD)] -final class TestDox +final readonly class TestDox { /** * @psalm-var non-empty-string */ - private readonly string $text; + private string $text; /** * @psalm-param non-empty-string $text diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/TestWith.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/TestWith.php index ed20baa8..5be3fac2 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/TestWith.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/TestWith.php @@ -17,17 +17,34 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)] -final class TestWith +final readonly class TestWith { - private readonly array $data; + private array $data; - public function __construct(array $data) + /** + * @psalm-var ?non-empty-string + */ + private ?string $name; + + /** + * @psalm-param ?non-empty-string $name + */ + public function __construct(array $data, ?string $name = null) { $this->data = $data; + $this->name = $name; } public function data(): array { return $this->data; } + + /** + * @psalm-return ?non-empty-string + */ + public function name(): ?string + { + return $this->name; + } } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/TestWithJson.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/TestWithJson.php index b1cbc340..5e326a6b 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/TestWithJson.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/TestWithJson.php @@ -17,19 +17,26 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)] -final class TestWithJson +final readonly class TestWithJson { /** * @psalm-var non-empty-string */ - private readonly string $json; + private string $json; + + /** + * @psalm-var ?non-empty-string + */ + private ?string $name; /** * @psalm-param non-empty-string $json + * @psalm-param ?non-empty-string $name */ - public function __construct(string $json) + public function __construct(string $json, ?string $name = null) { $this->json = $json; + $this->name = $name; } /** @@ -39,4 +46,12 @@ final class TestWithJson { return $this->json; } + + /** + * @psalm-return ?non-empty-string + */ + public function name(): ?string + { + return $this->name; + } } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Ticket.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Ticket.php index c0418e53..b55f88e5 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Ticket.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/Ticket.php @@ -17,12 +17,12 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)] -final class Ticket +final readonly class Ticket { /** * @psalm-var non-empty-string */ - private readonly string $text; + private string $text; /** * @psalm-param non-empty-string $text diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/UsesClass.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/UsesClass.php index 78c64e7b..97135f53 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/UsesClass.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/UsesClass.php @@ -17,12 +17,12 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS | Attribute::IS_REPEATABLE)] -final class UsesClass +final readonly class UsesClass { /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/UsesFunction.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/UsesFunction.php index 9e108adb..8df45fd9 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/UsesFunction.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/UsesFunction.php @@ -17,12 +17,12 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_CLASS | Attribute::IS_REPEATABLE)] -final class UsesFunction +final readonly class UsesFunction { /** * @psalm-var non-empty-string */ - private readonly string $functionName; + private string $functionName; /** * @psalm-param non-empty-string $functionName diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/WithoutErrorHandler.php b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/WithoutErrorHandler.php index 2dce1e98..a265991c 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/WithoutErrorHandler.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Attributes/WithoutErrorHandler.php @@ -17,6 +17,6 @@ use Attribute; * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ #[Attribute(Attribute::TARGET_METHOD)] -final class WithoutErrorHandler +final readonly class WithoutErrorHandler { } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Cardinality/GreaterThan.php b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Cardinality/GreaterThan.php index 7e8f0ee6..8b4c50e0 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Cardinality/GreaterThan.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Cardinality/GreaterThan.php @@ -9,7 +9,7 @@ */ namespace PHPUnit\Framework\Constraint; -use PHPUnit\Util\Exporter; +use SebastianBergmann\Exporter\Exporter; /** * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit @@ -26,9 +26,9 @@ final class GreaterThan extends Constraint /** * Returns a string representation of the constraint. */ - public function toString(bool $exportObjects = false): string + public function toString(): string { - return 'is greater than ' . Exporter::export($this->value, $exportObjects); + return 'is greater than ' . (new Exporter)->export($this->value); } /** diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Cardinality/IsEmpty.php b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Cardinality/IsEmpty.php index ddf4a9f7..eee9705e 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Cardinality/IsEmpty.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Cardinality/IsEmpty.php @@ -60,7 +60,7 @@ final class IsEmpty extends Constraint '%s %s %s', str_starts_with($type, 'a') || str_starts_with($type, 'o') ? 'an' : 'a', $type, - $this->toString(true), + $this->toString(), ); } } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Cardinality/LessThan.php b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Cardinality/LessThan.php index cc3ec344..d9986e8f 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Cardinality/LessThan.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Cardinality/LessThan.php @@ -9,7 +9,7 @@ */ namespace PHPUnit\Framework\Constraint; -use PHPUnit\Util\Exporter; +use SebastianBergmann\Exporter\Exporter; /** * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit @@ -26,9 +26,9 @@ final class LessThan extends Constraint /** * Returns a string representation of the constraint. */ - public function toString(bool $exportObjects = false): string + public function toString(): string { - return 'is less than ' . Exporter::export($this->value, $exportObjects); + return 'is less than ' . (new Exporter)->export($this->value); } /** diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Constraint.php b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Constraint.php index 40ffb820..c4f67cc5 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Constraint.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Constraint.php @@ -15,8 +15,8 @@ use function strtolower; use Countable; use PHPUnit\Framework\ExpectationFailedException; use PHPUnit\Framework\SelfDescribing; -use PHPUnit\Util\Exporter; use SebastianBergmann\Comparator\ComparisonFailure; +use SebastianBergmann\Exporter\Exporter; /** * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit @@ -62,14 +62,6 @@ abstract class Constraint implements Countable, SelfDescribing return 1; } - /** - * @deprecated - */ - protected function exporter(): \SebastianBergmann\Exporter\Exporter - { - return new \SebastianBergmann\Exporter\Exporter; - } - /** * Evaluates the constraint for parameter $other. Returns true if the * constraint is met, false otherwise. @@ -86,7 +78,7 @@ abstract class Constraint implements Countable, SelfDescribing * * @throws ExpectationFailedException */ - protected function fail(mixed $other, string $description, ComparisonFailure $comparisonFailure = null): never + protected function fail(mixed $other, string $description, ?ComparisonFailure $comparisonFailure = null): never { $failureDescription = sprintf( 'Failed asserting that %s.', @@ -131,7 +123,7 @@ abstract class Constraint implements Countable, SelfDescribing */ protected function failureDescription(mixed $other): string { - return Exporter::export($other, true) . ' ' . $this->toString(true); + return (new Exporter)->export($other) . ' ' . $this->toString(); } /** @@ -171,7 +163,7 @@ abstract class Constraint implements Countable, SelfDescribing return ''; } - return Exporter::export($other, true) . ' ' . $string; + return (new Exporter)->export($other) . ' ' . $string; } /** diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqual.php b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqual.php index 2238475d..6c0a82a4 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqual.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqual.php @@ -14,9 +14,9 @@ use function sprintf; use function str_contains; use function trim; use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Util\Exporter; use SebastianBergmann\Comparator\ComparisonFailure; use SebastianBergmann\Comparator\Factory as ComparatorFactory; +use SebastianBergmann\Exporter\Exporter; /** * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit @@ -24,16 +24,10 @@ use SebastianBergmann\Comparator\Factory as ComparatorFactory; final class IsEqual extends Constraint { private readonly mixed $value; - private readonly float $delta; - private readonly bool $canonicalize; - private readonly bool $ignoreCase; - public function __construct(mixed $value, float $delta = 0.0, bool $canonicalize = false, bool $ignoreCase = false) + public function __construct(mixed $value) { - $this->value = $value; - $this->delta = $delta; - $this->canonicalize = $canonicalize; - $this->ignoreCase = $ignoreCase; + $this->value = $value; } /** @@ -68,9 +62,6 @@ final class IsEqual extends Constraint $comparator->assertEquals( $this->value, $other, - $this->delta, - $this->canonicalize, - $this->ignoreCase, ); } catch (ComparisonFailure $f) { if ($returnResult) { @@ -89,7 +80,7 @@ final class IsEqual extends Constraint /** * Returns a string representation of the constraint. */ - public function toString(bool $exportObjects = false): string + public function toString(): string { $delta = ''; @@ -104,16 +95,9 @@ final class IsEqual extends Constraint ); } - if ($this->delta != 0) { - $delta = sprintf( - ' with delta <%F>', - $this->delta, - ); - } - return sprintf( 'is equal to %s%s', - Exporter::export($this->value, $exportObjects), + (new Exporter)->export($this->value), $delta, ); } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqualCanonicalizing.php b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqualCanonicalizing.php index 425569d1..ba942100 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqualCanonicalizing.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqualCanonicalizing.php @@ -14,9 +14,9 @@ use function sprintf; use function str_contains; use function trim; use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Util\Exporter; use SebastianBergmann\Comparator\ComparisonFailure; use SebastianBergmann\Comparator\Factory as ComparatorFactory; +use SebastianBergmann\Exporter\Exporter; /** * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit @@ -82,7 +82,7 @@ final class IsEqualCanonicalizing extends Constraint /** * Returns a string representation of the constraint. */ - public function toString(bool $exportObjects = false): string + public function toString(): string { if (is_string($this->value)) { if (str_contains($this->value, "\n")) { @@ -97,7 +97,7 @@ final class IsEqualCanonicalizing extends Constraint return sprintf( 'is equal to %s', - Exporter::export($this->value, $exportObjects), + (new Exporter)->export($this->value), ); } } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqualIgnoringCase.php b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqualIgnoringCase.php index f5b9b99d..7165df51 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqualIgnoringCase.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqualIgnoringCase.php @@ -14,9 +14,9 @@ use function sprintf; use function str_contains; use function trim; use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Util\Exporter; use SebastianBergmann\Comparator\ComparisonFailure; use SebastianBergmann\Comparator\Factory as ComparatorFactory; +use SebastianBergmann\Exporter\Exporter; /** * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit @@ -83,7 +83,7 @@ final class IsEqualIgnoringCase extends Constraint /** * Returns a string representation of the constraint. */ - public function toString(bool $exportObjects = false): string + public function toString(): string { if (is_string($this->value)) { if (str_contains($this->value, "\n")) { @@ -98,7 +98,7 @@ final class IsEqualIgnoringCase extends Constraint return sprintf( 'is equal to %s', - Exporter::export($this->value, $exportObjects), + (new Exporter)->export($this->value), ); } } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqualWithDelta.php b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqualWithDelta.php index d587f6f7..564c9b0c 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqualWithDelta.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqualWithDelta.php @@ -12,9 +12,9 @@ namespace PHPUnit\Framework\Constraint; use function sprintf; use function trim; use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Util\Exporter; use SebastianBergmann\Comparator\ComparisonFailure; use SebastianBergmann\Comparator\Factory as ComparatorFactory; +use SebastianBergmann\Exporter\Exporter; /** * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit @@ -81,11 +81,11 @@ final class IsEqualWithDelta extends Constraint /** * Returns a string representation of the constraint. */ - public function toString(bool $exportObjects = false): string + public function toString(): string { return sprintf( 'is equal to %s with delta <%F>', - Exporter::export($this->value, $exportObjects), + (new Exporter)->export($this->value), $this->delta, ); } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Exception/ExceptionCode.php b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Exception/ExceptionCode.php index 255aff33..e470bae6 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Exception/ExceptionCode.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Exception/ExceptionCode.php @@ -10,7 +10,7 @@ namespace PHPUnit\Framework\Constraint; use function sprintf; -use PHPUnit\Util\Exporter; +use SebastianBergmann\Exporter\Exporter; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit @@ -46,10 +46,12 @@ final class ExceptionCode extends Constraint */ protected function failureDescription(mixed $other): string { + $exporter = new Exporter; + return sprintf( '%s is equal to expected exception code %s', - Exporter::export($other, true), - Exporter::export($this->expectedCode, true), + $exporter->export($other), + $exporter->export($this->expectedCode), ); } } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Exception/ExceptionMessageIsOrContains.php b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Exception/ExceptionMessageIsOrContains.php index 56ab6f0d..1a4ce3eb 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Exception/ExceptionMessageIsOrContains.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Exception/ExceptionMessageIsOrContains.php @@ -11,7 +11,7 @@ namespace PHPUnit\Framework\Constraint; use function sprintf; use function str_contains; -use PHPUnit\Util\Exporter; +use SebastianBergmann\Exporter\Exporter; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit @@ -31,7 +31,7 @@ final class ExceptionMessageIsOrContains extends Constraint return 'exception message is empty'; } - return 'exception message contains ' . Exporter::export($this->expectedMessage); + return 'exception message contains ' . (new Exporter)->export($this->expectedMessage); } protected function matches(mixed $other): bool diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Exception/ExceptionMessageMatchesRegularExpression.php b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Exception/ExceptionMessageMatchesRegularExpression.php index dfb477d0..2d0e0617 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Exception/ExceptionMessageMatchesRegularExpression.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Exception/ExceptionMessageMatchesRegularExpression.php @@ -12,7 +12,7 @@ namespace PHPUnit\Framework\Constraint; use function preg_match; use function sprintf; use Exception; -use PHPUnit\Util\Exporter; +use SebastianBergmann\Exporter\Exporter; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit @@ -28,7 +28,7 @@ final class ExceptionMessageMatchesRegularExpression extends Constraint public function toString(): string { - return 'exception message matches ' . Exporter::export($this->regularExpression); + return 'exception message matches ' . (new Exporter)->export($this->regularExpression); } /** diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php index 48be6317..a64906ae 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php @@ -9,13 +9,15 @@ */ namespace PHPUnit\Framework\Constraint; +use function explode; +use function gettype; use function is_array; use function is_object; use function is_string; use function sprintf; use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Util\Exporter; use SebastianBergmann\Comparator\ComparisonFailure; +use SebastianBergmann\Exporter\Exporter; use UnitEnum; /** @@ -65,11 +67,13 @@ final class IsIdentical extends Constraint // if both values are array or enums, make sure a diff is generated if ((is_array($this->value) && is_array($other)) || ($this->value instanceof UnitEnum && $other instanceof UnitEnum)) { + $exporter = new Exporter; + $f = new ComparisonFailure( $this->value, $other, - Exporter::export($this->value, true), - Exporter::export($other, true), + $exporter->export($this->value), + $exporter->export($other), ); } @@ -82,14 +86,14 @@ final class IsIdentical extends Constraint /** * Returns a string representation of the constraint. */ - public function toString(bool $exportObjects = false): string + public function toString(): string { if (is_object($this->value)) { return 'is identical to an object of class "' . $this->value::class . '"'; } - return 'is identical to ' . Exporter::export($this->value, $exportObjects); + return 'is identical to ' . (new Exporter)->export($this->value); } /** @@ -104,6 +108,10 @@ final class IsIdentical extends Constraint return 'two variables reference the same object'; } + if (explode(' ', gettype($this->value), 2)[0] === 'resource' && explode(' ', gettype($other), 2)[0] === 'resource') { + return 'two variables reference the same resource'; + } + if (is_string($this->value) && is_string($other)) { return 'two strings are identical'; } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php index 0000c8ef..dc3be3b4 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php @@ -68,7 +68,7 @@ final class JsonMatches extends Constraint * @throws ExpectationFailedException * @throws InvalidJsonException */ - protected function fail(mixed $other, string $description, ComparisonFailure $comparisonFailure = null): never + protected function fail(mixed $other, string $description, ?ComparisonFailure $comparisonFailure = null): never { if ($comparisonFailure === null) { [$error, $recodedOther] = Json::canonicalize($other); diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Object/ObjectEquals.php b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Object/ObjectEquals.php index b513545f..a5081294 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Object/ObjectEquals.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Object/ObjectEquals.php @@ -137,6 +137,6 @@ final class ObjectEquals extends Constraint protected function failureDescription(mixed $other): string { - return $this->toString(true); + return $this->toString(); } } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Object/ObjectHasProperty.php b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Object/ObjectHasProperty.php index 6c8bc415..74c40c75 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Object/ObjectHasProperty.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Object/ObjectHasProperty.php @@ -66,7 +66,7 @@ final class ObjectHasProperty extends Constraint return sprintf( 'object of class "%s" %s', $other::class, - $this->toString(true), + $this->toString(), ); } @@ -74,7 +74,7 @@ final class ObjectHasProperty extends Constraint '"%s" (%s) %s', $other, gettype($other), - $this->toString(true), + $this->toString(), ); } } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Operator/LogicalNot.php b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Operator/LogicalNot.php index 021afddd..837e3a50 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Operator/LogicalNot.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Operator/LogicalNot.php @@ -51,6 +51,10 @@ final class LogicalNot extends UnaryOperator preg_match('/(\'[\w\W]*\')([\w\W]*)("[\w\W]*")/i', $string, $matches); + if (count($matches) === 0) { + preg_match('/(\'[\w\W]*\')([\w\W]*)(\'[\w\W]*\')/i', $string, $matches); + } + $positives = array_map( static fn (string $s) => '/\\b' . preg_quote($s, '/') . '/', $positives, diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/String/StringContains.php b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/String/StringContains.php index 7ba71587..00177494 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/String/StringContains.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/String/StringContains.php @@ -17,7 +17,7 @@ use function sprintf; use function str_contains; use function strlen; use function strtr; -use PHPUnit\Util\Exporter; +use SebastianBergmann\Exporter\Exporter; /** * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit @@ -60,7 +60,7 @@ final class StringContains extends Constraint public function failureDescription(mixed $other): string { - $stringifiedHaystack = Exporter::export($other, true); + $stringifiedHaystack = (new Exporter)->export($other); $haystackEncoding = $this->getDetectedEncoding($other); $haystackLength = $this->getHaystackLength($other); @@ -71,7 +71,7 @@ final class StringContains extends Constraint $haystackLength, ); - $needleInformation = $this->toString(true); + $needleInformation = $this->toString(); return $haystackInformation . $needleInformation; } @@ -127,7 +127,7 @@ final class StringContains extends Constraint $detectedEncoding = mb_detect_encoding($other, null, true); - if (!$detectedEncoding) { + if ($detectedEncoding === false) { return 'Encoding detection failed'; } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Traversable/ArrayHasKey.php b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Traversable/ArrayHasKey.php index 07bfa4fd..be01d7f5 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Traversable/ArrayHasKey.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Traversable/ArrayHasKey.php @@ -12,7 +12,7 @@ namespace PHPUnit\Framework\Constraint; use function array_key_exists; use function is_array; use ArrayAccess; -use PHPUnit\Util\Exporter; +use SebastianBergmann\Exporter\Exporter; /** * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit @@ -31,7 +31,7 @@ final class ArrayHasKey extends Constraint */ public function toString(): string { - return 'has the key ' . Exporter::export($this->key); + return 'has the key ' . (new Exporter)->export($this->key); } /** @@ -59,6 +59,6 @@ final class ArrayHasKey extends Constraint */ protected function failureDescription(mixed $other): string { - return 'an array ' . $this->toString(true); + return 'an array ' . $this->toString(); } } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Traversable/IsList.php b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Traversable/IsList.php index 2e2f60cb..f6ac3061 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Traversable/IsList.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Traversable/IsList.php @@ -46,6 +46,6 @@ final class IsList extends Constraint */ protected function failureDescription(mixed $other): string { - return $this->valueToTypeStringFragment($other) . $this->toString(true); + return $this->valueToTypeStringFragment($other) . $this->toString(); } } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContains.php b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContains.php index 770bdb8a..5ca9aca0 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContains.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContains.php @@ -11,7 +11,7 @@ namespace PHPUnit\Framework\Constraint; use function is_array; use function sprintf; -use PHPUnit\Util\Exporter; +use SebastianBergmann\Exporter\Exporter; /** * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit @@ -28,9 +28,9 @@ abstract class TraversableContains extends Constraint /** * Returns a string representation of the constraint. */ - public function toString(bool $exportObjects = false): string + public function toString(): string { - return 'contains ' . Exporter::export($this->value, $exportObjects); + return 'contains ' . (new Exporter)->export($this->value); } /** @@ -44,7 +44,7 @@ abstract class TraversableContains extends Constraint return sprintf( '%s %s', is_array($other) ? 'an array' : 'a traversable', - $this->toString(true), + $this->toString(), ); } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContainsOnly.php b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContainsOnly.php index 72e3ccc0..4d33ba99 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContainsOnly.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContainsOnly.php @@ -9,6 +9,7 @@ */ namespace PHPUnit\Framework\Constraint; +use PHPUnit\Framework\Exception; use PHPUnit\Framework\ExpectationFailedException; /** @@ -16,11 +17,11 @@ use PHPUnit\Framework\ExpectationFailedException; */ final class TraversableContainsOnly extends Constraint { - private Constraint $constraint; + private readonly Constraint $constraint; private readonly string $type; /** - * @throws \PHPUnit\Framework\Exception + * @throws Exception */ public function __construct(string $type, bool $isNativeType = true) { diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Type/IsInstanceOf.php b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Type/IsInstanceOf.php index e69f4f86..6a0dc3d6 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Type/IsInstanceOf.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Constraint/Type/IsInstanceOf.php @@ -74,6 +74,6 @@ final class IsInstanceOf extends Constraint */ protected function failureDescription(mixed $other): string { - return $this->valueToTypeStringFragment($other) . $this->toString(true); + return $this->valueToTypeStringFragment($other) . $this->toString(); } } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Exception/Exception.php b/Sources/vendor/phpunit/phpunit/src/Framework/Exception/Exception.php index 01531f5e..087729fb 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Exception/Exception.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Exception/Exception.php @@ -40,7 +40,7 @@ class Exception extends RuntimeException implements \PHPUnit\Exception { protected array $serializableTrace; - public function __construct(string $message = '', int $code = 0, Throwable $previous = null) + public function __construct(string $message = '', int $code = 0, ?Throwable $previous = null) { parent::__construct($message, $code, $previous); diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/Exception/ExpectationFailedException.php b/Sources/vendor/phpunit/phpunit/src/Framework/Exception/ExpectationFailedException.php index c1a4c043..6d2b1501 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/Exception/ExpectationFailedException.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/Exception/ExpectationFailedException.php @@ -25,7 +25,7 @@ final class ExpectationFailedException extends AssertionFailedError { protected ?ComparisonFailure $comparisonFailure = null; - public function __construct(string $message, ComparisonFailure $comparisonFailure = null, Exception $previous = null) + public function __construct(string $message, ?ComparisonFailure $comparisonFailure = null, ?Exception $previous = null) { $this->comparisonFailure = $comparisonFailure; diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/ExecutionOrderDependency.php b/Sources/vendor/phpunit/phpunit/src/Framework/ExecutionOrderDependency.php index 9d5419b3..1138fc88 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/ExecutionOrderDependency.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/ExecutionOrderDependency.php @@ -88,11 +88,13 @@ final class ExecutionOrderDependency implements Stringable ); foreach ($additional as $dependency) { - if (in_array($dependency->getTarget(), $existingTargets, true)) { + $additionalTarget = $dependency->getTarget(); + + if (in_array($additionalTarget, $existingTargets, true)) { continue; } - $existingTargets[] = $dependency->getTarget(); + $existingTargets[] = $additionalTarget; $existing[] = $dependency; } @@ -134,6 +136,9 @@ final class ExecutionOrderDependency implements Stringable public function __construct(string $classOrCallableName, ?string $methodName = null, bool $deepClone = false, bool $shallowClone = false) { + $this->deepClone = $deepClone; + $this->shallowClone = $shallowClone; + if ($classOrCallableName === '') { return; } @@ -144,9 +149,6 @@ final class ExecutionOrderDependency implements Stringable $this->className = $classOrCallableName; $this->methodName = !empty($methodName) ? $methodName : 'class'; } - - $this->deepClone = $deepClone; - $this->shallowClone = $shallowClone; } public function __toString(): string diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/ConfigurableMethod.php b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/ConfigurableMethod.php index d48d6fa1..ff1788a0 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/ConfigurableMethod.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/ConfigurableMethod.php @@ -14,23 +14,23 @@ use SebastianBergmann\Type\Type; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class ConfigurableMethod +final readonly class ConfigurableMethod { /** * @psalm-var non-empty-string */ - private readonly string $name; + private string $name; /** * @psalm-var array */ - private readonly array $defaultParameterValues; + private array $defaultParameterValues; /** * @psalm-var non-negative-int */ - private readonly int $numberOfParameters; - private readonly Type $returnType; + private int $numberOfParameters; + private Type $returnType; /** * @psalm-param non-empty-string $name diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Generator.php b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Generator.php index c140ca26..9f8a3ce2 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Generator.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Generator.php @@ -43,9 +43,14 @@ use function trait_exists; use Exception; use Iterator; use IteratorAggregate; +use PHPUnit\Event\Code\NoTestCaseObjectOnCallStackException; +use PHPUnit\Event\Code\TestMethodBuilder; +use PHPUnit\Event\Facade as EventFacade; use PHPUnit\Framework\InvalidArgumentException; use PHPUnit\Framework\MockObject\ConfigurableMethod; use PHPUnit\Framework\MockObject\DoubledCloneMethod; +use PHPUnit\Framework\MockObject\GeneratedAsMockObject; +use PHPUnit\Framework\MockObject\GeneratedAsTestStub; use PHPUnit\Framework\MockObject\Method; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\MockObject\MockObjectApi; @@ -103,7 +108,7 @@ final class Generator * @throws RuntimeException * @throws UnknownTypeException */ - public function testDouble(string $type, bool $mockObject, ?array $methods = [], array $arguments = [], string $mockClassName = '', bool $callOriginalConstructor = true, bool $callOriginalClone = true, bool $callAutoload = true, bool $cloneArguments = true, bool $callOriginalMethods = false, object $proxyTarget = null, bool $allowMockingUnknownTypes = true, bool $returnValueGeneration = true): MockObject|Stub + public function testDouble(string $type, bool $mockObject, bool $markAsMockObject, ?array $methods = [], array $arguments = [], string $mockClassName = '', bool $callOriginalConstructor = true, bool $callOriginalClone = true, bool $callAutoload = true, bool $cloneArguments = true, bool $callOriginalMethods = false, ?object $proxyTarget = null, bool $allowMockingUnknownTypes = true, bool $returnValueGeneration = true): MockObject|Stub { if ($type === Traversable::class) { $type = Iterator::class; @@ -123,6 +128,7 @@ final class Generator $mock = $this->generate( $type, $mockObject, + $markAsMockObject, $methods, $mockClassName, $callOriginalClone, @@ -210,7 +216,7 @@ final class Generator eval($template->render()); - return $this->testDouble($intersectionName, $mockObject); + return $this->testDouble($intersectionName, $mockObject, $mockObject); } /** @@ -234,7 +240,7 @@ final class Generator * * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5241 */ - public function mockObjectForAbstractClass(string $originalClassName, array $arguments = [], string $mockClassName = '', bool $callOriginalConstructor = true, bool $callOriginalClone = true, bool $callAutoload = true, array $mockedMethods = null, bool $cloneArguments = true): MockObject + public function mockObjectForAbstractClass(string $originalClassName, array $arguments = [], string $mockClassName = '', bool $callOriginalConstructor = true, bool $callOriginalClone = true, bool $callAutoload = true, ?array $mockedMethods = null, bool $cloneArguments = true): MockObject { if (class_exists($originalClassName, $callAutoload) || interface_exists($originalClassName, $callAutoload)) { @@ -254,6 +260,7 @@ final class Generator $mockObject = $this->testDouble( $originalClassName, true, + true, $methods, $arguments, $mockClassName, @@ -295,7 +302,7 @@ final class Generator * * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5243 */ - public function mockObjectForTrait(string $traitName, array $arguments = [], string $mockClassName = '', bool $callOriginalConstructor = true, bool $callOriginalClone = true, bool $callAutoload = true, array $mockedMethods = null, bool $cloneArguments = true): MockObject + public function mockObjectForTrait(string $traitName, array $arguments = [], string $mockClassName = '', bool $callOriginalConstructor = true, bool $callOriginalClone = true, bool $callAutoload = true, ?array $mockedMethods = null, bool $cloneArguments = true): MockObject { if (!trait_exists($traitName, $callAutoload)) { throw new UnknownTraitException($traitName); @@ -378,12 +385,13 @@ final class Generator * * @see https://github.com/sebastianbergmann/phpunit/issues/5476 */ - public function generate(string $type, bool $mockObject, array $methods = null, string $mockClassName = '', bool $callOriginalClone = true, bool $callAutoload = true, bool $cloneArguments = true, bool $callOriginalMethods = false): MockClass + public function generate(string $type, bool $mockObject, bool $markAsMockObject, ?array $methods = null, string $mockClassName = '', bool $callOriginalClone = true, bool $callAutoload = true, bool $cloneArguments = true, bool $callOriginalMethods = false): MockClass { if ($mockClassName !== '') { return $this->generateCodeForTestDoubleClass( $type, $mockObject, + $markAsMockObject, $methods, $mockClassName, $callOriginalClone, @@ -396,6 +404,7 @@ final class Generator $key = md5( $type . ($mockObject ? 'MockObject' : 'TestStub') . + ($markAsMockObject ? 'MockObject' : 'TestStub') . serialize($methods) . serialize($callOriginalClone) . serialize($cloneArguments) . @@ -406,6 +415,7 @@ final class Generator self::$cache[$key] = $this->generateCodeForTestDoubleClass( $type, $mockObject, + $markAsMockObject, $methods, $mockClassName, $callOriginalClone, @@ -561,7 +571,7 @@ final class Generator * @throws ReflectionException * @throws RuntimeException */ - private function getObject(MockType $mockClass, string $type = '', bool $callOriginalConstructor = false, array $arguments = [], bool $callOriginalMethods = false, object $proxyTarget = null, bool $returnValueGeneration = true): object + private function getObject(MockType $mockClass, string $type = '', bool $callOriginalConstructor = false, array $arguments = [], bool $callOriginalMethods = false, ?object $proxyTarget = null, bool $returnValueGeneration = true): object { $className = $mockClass->generate(); $object = $this->instantiate($className, $callOriginalConstructor, $arguments); @@ -584,7 +594,7 @@ final class Generator * @throws ReflectionException * @throws RuntimeException */ - private function generateCodeForTestDoubleClass(string $type, bool $mockObject, ?array $explicitMethods, string $mockClassName, bool $callOriginalClone, bool $callAutoload, bool $cloneArguments, bool $callOriginalMethods): MockClass + private function generateCodeForTestDoubleClass(string $type, bool $mockObject, bool $markAsMockObject, ?array $explicitMethods, string $mockClassName, bool $callOriginalClone, bool $callAutoload, bool $cloneArguments, bool $callOriginalMethods): MockClass { $classTemplate = $this->loadTemplate('test_double_class.tpl'); $additionalInterfaces = []; @@ -746,6 +756,30 @@ final class Generator $traits[] = MockObjectApi::class; } + if ($markAsMockObject) { + $traits[] = GeneratedAsMockObject::class; + } else { + $traits[] = GeneratedAsTestStub::class; + } + + if ($mockMethods->hasMethod('method') || (isset($class) && $class->hasMethod('method'))) { + $message = sprintf( + '%s %s has a method named "method". Doubling %s that have a method named "method" is deprecated. Support for this will be removed in PHPUnit 12.', + ($isInterface) ? 'Interface' : 'Class', + isset($class) ? $class->getName() : $type, + ($isInterface) ? 'interfaces' : 'classes', + ); + + try { + EventFacade::emitter()->testTriggeredPhpunitDeprecation( + TestMethodBuilder::fromCallStack(), + $message, + ); + } catch (NoTestCaseObjectOnCallStackException) { + EventFacade::emitter()->testRunnerTriggeredDeprecation($message); + } + } + if (!$mockMethods->hasMethod('method') && (!isset($class) || !$class->hasMethod('method'))) { $traits[] = Method::class; } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/MockClass.php b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/MockClass.php index 7606ea59..99bfe3ca 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/MockClass.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/MockClass.php @@ -16,19 +16,19 @@ use PHPUnit\Framework\MockObject\ConfigurableMethod; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class MockClass implements MockType +final readonly class MockClass implements MockType { - private readonly string $classCode; + private string $classCode; /** * @psalm-var class-string */ - private readonly string $mockName; + private string $mockName; /** * @psalm-var list */ - private readonly array $configurableMethods; + private array $configurableMethods; /** * @psalm-param class-string $mockName diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/MockTrait.php b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/MockTrait.php index 20e9301b..dc77ca13 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/MockTrait.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/MockTrait.php @@ -16,14 +16,14 @@ use function class_exists; * * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5243 */ -final class MockTrait implements MockType +final readonly class MockTrait implements MockType { - private readonly string $classCode; + private string $classCode; /** * @psalm-var class-string */ - private readonly string $mockName; + private string $mockName; /** * @psalm-param class-string $mockName diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/doubled_method.tpl b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/doubled_method.tpl index 8b4af38b..8ecd412c 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/doubled_method.tpl +++ b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/doubled_method.tpl @@ -1,6 +1,19 @@ {modifier} function {reference}{method_name}({arguments_decl}){return_declaration} {{deprecation} + $__phpunit_definedVariables = get_defined_vars(); + $__phpunit_namedVariadicParameters = []; + + foreach ($__phpunit_definedVariables as $__phpunit_definedVariableName => $__phpunit_definedVariableValue) { + if ((new ReflectionParameter([__CLASS__, __FUNCTION__], $__phpunit_definedVariableName))->isVariadic()) { + foreach ($__phpunit_definedVariableValue as $__phpunit_key => $__phpunit_namedValue) { + if (is_string($__phpunit_key)) { + $__phpunit_namedVariadicParameters[$__phpunit_key] = $__phpunit_namedValue; + } + } + } + } + $__phpunit_arguments = [{arguments_call}]; $__phpunit_count = func_num_args(); @@ -12,6 +25,8 @@ } } + $__phpunit_arguments = array_merge($__phpunit_arguments, $__phpunit_namedVariadicParameters); + $__phpunit_result = $this->__phpunit_getInvocationHandler()->invoke( new \PHPUnit\Framework\MockObject\Invocation( '{class_name}', '{method_name}', $__phpunit_arguments, '{return_type}', $this, {clone_arguments} diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/proxied_method.tpl b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/proxied_method.tpl index 330cdcfc..94db4665 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/proxied_method.tpl +++ b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/proxied_method.tpl @@ -1,6 +1,19 @@ {modifier} function {reference}{method_name}({arguments_decl}){return_declaration} { + $__phpunit_definedVariables = get_defined_vars(); + $__phpunit_namedVariadicParameters = []; + + foreach ($__phpunit_definedVariables as $__phpunit_definedVariableName => $__phpunit_definedVariableValue) { + if ((new ReflectionParameter([__CLASS__, __FUNCTION__], $__phpunit_definedVariableName))->isVariadic()) { + foreach ($__phpunit_definedVariableValue as $__phpunit_key => $__phpunit_namedValue) { + if (is_string($__phpunit_key)) { + $__phpunit_namedVariadicParameters[$__phpunit_key] = $__phpunit_namedValue; + } + } + } + } + $__phpunit_arguments = [{arguments_call}]; $__phpunit_count = func_num_args(); @@ -12,6 +25,8 @@ } } + $__phpunit_arguments = array_merge($__phpunit_arguments, $__phpunit_namedVariadicParameters); + $this->__phpunit_getInvocationHandler()->invoke( new \PHPUnit\Framework\MockObject\Invocation( '{class_name}', '{method_name}', $__phpunit_arguments, '{return_type}', $this, {clone_arguments}, true diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/MockBuilder.php b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/MockBuilder.php index ffd130c4..ecb9d7af 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/MockBuilder.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/MockBuilder.php @@ -11,7 +11,10 @@ namespace PHPUnit\Framework\MockObject; use function array_merge; use function assert; +use function debug_backtrace; use function trait_exists; +use PHPUnit\Event\Facade as EventFacade; +use PHPUnit\Framework\Exception; use PHPUnit\Framework\InvalidArgumentException; use PHPUnit\Framework\MockObject\Generator\ClassAlreadyExistsException; use PHPUnit\Framework\MockObject\Generator\ClassIsEnumerationException; @@ -94,6 +97,7 @@ final class MockBuilder $object = $this->generator->testDouble( $this->type, true, + true, !$this->emptyMethodsArray ? $this->methods : null, $this->constructorArgs, $this->mockClassName ?? '', @@ -120,7 +124,7 @@ final class MockBuilder * * @psalm-return MockObject&MockedType * - * @throws \PHPUnit\Framework\Exception + * @throws Exception * @throws ReflectionException * @throws RuntimeException * @@ -128,6 +132,11 @@ final class MockBuilder */ public function getMockForAbstractClass(): MockObject { + EventFacade::emitter()->testTriggeredPhpunitDeprecation( + $this->testCase->valueObjectForEvents(), + 'MockBuilder::getMockForAbstractClass() is deprecated and will be removed in PHPUnit 12 without replacement.', + ); + $object = $this->generator->mockObjectForAbstractClass( $this->type, $this->constructorArgs, @@ -151,7 +160,7 @@ final class MockBuilder * * @psalm-return MockObject&MockedType * - * @throws \PHPUnit\Framework\Exception + * @throws Exception * @throws ReflectionException * @throws RuntimeException * @@ -159,6 +168,11 @@ final class MockBuilder */ public function getMockForTrait(): MockObject { + EventFacade::emitter()->testTriggeredPhpunitDeprecation( + $this->testCase->valueObjectForEvents(), + 'MockBuilder::getMockForTrait() is deprecated and will be removed in PHPUnit 12 without replacement.', + ); + assert(trait_exists($this->type)); $object = $this->generator->mockObjectForTrait( @@ -235,6 +249,11 @@ final class MockBuilder */ public function addMethods(array $methods): self { + EventFacade::emitter()->testTriggeredPhpunitDeprecation( + $this->testCase->valueObjectForEvents(), + 'MockBuilder::addMethods() is deprecated and will be removed in PHPUnit 12 without replacement.', + ); + if (empty($methods)) { $this->emptyMethodsArray = true; @@ -347,6 +366,11 @@ final class MockBuilder */ public function disableAutoload(): self { + EventFacade::emitter()->testTriggeredPhpunitDeprecation( + $this->testCase->valueObjectForEvents(), + 'MockBuilder::disableAutoload() is deprecated and will be removed in PHPUnit 12 without replacement.', + ); + $this->autoload = false; return $this; @@ -361,6 +385,11 @@ final class MockBuilder */ public function enableAutoload(): self { + EventFacade::emitter()->testTriggeredPhpunitDeprecation( + $this->testCase->valueObjectForEvents(), + 'MockBuilder::enableAutoload() is deprecated and will be removed in PHPUnit 12 without replacement.', + ); + $this->autoload = true; return $this; @@ -375,6 +404,13 @@ final class MockBuilder */ public function disableArgumentCloning(): self { + if (!$this->calledFromTestCase()) { + EventFacade::emitter()->testTriggeredPhpunitDeprecation( + $this->testCase->valueObjectForEvents(), + 'MockBuilder::disableArgumentCloning() is deprecated and will be removed in PHPUnit 12 without replacement.', + ); + } + $this->cloneArguments = false; return $this; @@ -389,6 +425,11 @@ final class MockBuilder */ public function enableArgumentCloning(): self { + EventFacade::emitter()->testTriggeredPhpunitDeprecation( + $this->testCase->valueObjectForEvents(), + 'MockBuilder::enableArgumentCloning() is deprecated and will be removed in PHPUnit 12 without replacement.', + ); + $this->cloneArguments = true; return $this; @@ -403,6 +444,13 @@ final class MockBuilder */ public function enableProxyingToOriginalMethods(): self { + if (!$this->calledFromTestCase()) { + EventFacade::emitter()->testTriggeredPhpunitDeprecation( + $this->testCase->valueObjectForEvents(), + 'MockBuilder::enableProxyingToOriginalMethods() is deprecated and will be removed in PHPUnit 12 without replacement.', + ); + } + $this->callOriginalMethods = true; return $this; @@ -417,6 +465,11 @@ final class MockBuilder */ public function disableProxyingToOriginalMethods(): self { + EventFacade::emitter()->testTriggeredPhpunitDeprecation( + $this->testCase->valueObjectForEvents(), + 'MockBuilder::disableProxyingToOriginalMethods() is deprecated and will be removed in PHPUnit 12 without replacement.', + ); + $this->callOriginalMethods = false; $this->proxyTarget = null; @@ -432,6 +485,11 @@ final class MockBuilder */ public function setProxyTarget(object $object): self { + EventFacade::emitter()->testTriggeredPhpunitDeprecation( + $this->testCase->valueObjectForEvents(), + 'MockBuilder::setProxyTarget() is deprecated and will be removed in PHPUnit 12 without replacement.', + ); + $this->proxyTarget = $object; return $this; @@ -444,6 +502,11 @@ final class MockBuilder */ public function allowMockingUnknownTypes(): self { + EventFacade::emitter()->testTriggeredPhpunitDeprecation( + $this->testCase->valueObjectForEvents(), + 'MockBuilder::allowMockingUnknownTypes() is deprecated and will be removed in PHPUnit 12 without replacement.', + ); + $this->allowMockingUnknownTypes = true; return $this; @@ -456,6 +519,13 @@ final class MockBuilder */ public function disallowMockingUnknownTypes(): self { + if (!$this->calledFromTestCase()) { + EventFacade::emitter()->testTriggeredPhpunitDeprecation( + $this->testCase->valueObjectForEvents(), + 'MockBuilder::disallowMockingUnknownTypes() is deprecated and will be removed in PHPUnit 12 without replacement.', + ); + } + $this->allowMockingUnknownTypes = false; return $this; @@ -480,4 +550,11 @@ final class MockBuilder return $this; } + + private function calledFromTestCase(): bool + { + $caller = debug_backtrace(limit: 3)[2]; + + return isset($caller['class']) && $caller['class'] === TestCase::class; + } } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/Method.php b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/Method.php index a991eae4..2112fb3e 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/Method.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/Method.php @@ -21,7 +21,7 @@ trait Method { public function method(): InvocationMocker { - $expects = $this->expects(new AnyInvokedCount); + $expects = $this->__phpunit_getInvocationHandler()->expects(new AnyInvokedCount); return call_user_func_array( [$expects, 'method'], diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/MockObjectApi.php b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/MockObjectApi.php index b6b3bd52..25fb4b9c 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/MockObjectApi.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/MockObjectApi.php @@ -9,6 +9,10 @@ */ namespace PHPUnit\Framework\MockObject; +use function assert; +use PHPUnit\Event\Code\NoTestCaseObjectOnCallStackException; +use PHPUnit\Event\Code\TestMethodBuilder; +use PHPUnit\Event\Facade as EventFacade; use PHPUnit\Framework\MockObject\Builder\InvocationMocker as InvocationMockerBuilder; use PHPUnit\Framework\MockObject\Rule\InvocationOrder; @@ -17,6 +21,7 @@ use PHPUnit\Framework\MockObject\Rule\InvocationOrder; */ trait MockObjectApi { + private static array $__phpunit_deprecation_emitted_for_test = []; private object $__phpunit_originalObject; /** @noinspection MagicMethodsValidityInspection */ @@ -47,6 +52,27 @@ trait MockObjectApi public function expects(InvocationOrder $matcher): InvocationMockerBuilder { + assert($this instanceof StubInternal); + + if (!$this->__phpunit_wasGeneratedAsMockObject()) { + $message = 'Expectations configured on test doubles that are created as test stubs are no longer verified since PHPUnit 10. Test doubles that are created as test stubs will no longer have the expects() method in PHPUnit 12. Update your test code to use createMock() instead of createStub(), for example.'; + + try { + $test = TestMethodBuilder::fromCallStack(); + + if (!isset(self::$__phpunit_deprecation_emitted_for_test[$test->id()])) { + EventFacade::emitter()->testTriggeredPhpunitDeprecation( + $test, + $message, + ); + + self::$__phpunit_deprecation_emitted_for_test[$test->id()] = true; + } + } catch (NoTestCaseObjectOnCallStackException) { + EventFacade::emitter()->testRunnerTriggeredDeprecation($message); + } + } + return $this->__phpunit_getInvocationHandler()->expects($matcher); } } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/StubInternal.php b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/StubInternal.php index 79cc6a27..10445265 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/StubInternal.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/StubInternal.php @@ -21,4 +21,6 @@ interface StubInternal extends Stub public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration): void; public function __phpunit_unsetInvocationMocker(): void; + + public function __phpunit_wasGeneratedAsMockObject(): bool; } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Invocation.php b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Invocation.php index e3dbefd4..f99ae289 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Invocation.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Invocation.php @@ -23,22 +23,22 @@ use SebastianBergmann\Exporter\Exporter; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Invocation implements SelfDescribing +final readonly class Invocation implements SelfDescribing { /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-var non-empty-string */ - private readonly string $methodName; - private readonly array $parameters; - private readonly string $returnType; - private readonly bool $isReturnTypeNullable; - private readonly bool $proxiedCall; - private readonly MockObjectInternal|StubInternal $object; + private string $methodName; + private array $parameters; + private string $returnType; + private bool $isReturnTypeNullable; + private bool $proxiedCall; + private MockObjectInternal|StubInternal $object; /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/MethodNameConstraint.php b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/MethodNameConstraint.php index 450331ec..7d774a6d 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/MethodNameConstraint.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/MethodNameConstraint.php @@ -18,7 +18,7 @@ use PHPUnit\Framework\Constraint\Constraint; */ final class MethodNameConstraint extends Constraint { - private readonly string $methodName; + private string $methodName; public function __construct(string $methodName) { diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/ReturnValueGenerator.php b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/ReturnValueGenerator.php index 8ae64c9b..1688cd1e 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/ReturnValueGenerator.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/ReturnValueGenerator.php @@ -204,7 +204,7 @@ final class ReturnValueGenerator private function testDoubleFor(string $type, string $className, string $methodName): Stub { try { - return (new Generator)->testDouble($type, false, [], [], '', false); + return (new Generator)->testDouble($type, false, false, [], [], '', false); } catch (Throwable $t) { throw new RuntimeException( sprintf( diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Rule/MethodName.php b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Rule/MethodName.php index d6eda846..e3f3f8ad 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Rule/MethodName.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Rule/MethodName.php @@ -19,9 +19,9 @@ use PHPUnit\Framework\MockObject\MethodNameConstraint; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class MethodName +final readonly class MethodName { - private readonly Constraint $constraint; + private Constraint $constraint; /** * @throws InvalidArgumentException diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Stub/Exception.php b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Stub/Exception.php index c2b349ca..04bd1303 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Stub/Exception.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Stub/Exception.php @@ -15,9 +15,9 @@ use Throwable; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Exception implements Stub +final readonly class Exception implements Stub { - private readonly Throwable $exception; + private Throwable $exception; public function __construct(Throwable $exception) { diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Stub/ReturnArgument.php b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Stub/ReturnArgument.php index 4b28813c..5172f64b 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Stub/ReturnArgument.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Stub/ReturnArgument.php @@ -14,9 +14,9 @@ use PHPUnit\Framework\MockObject\Invocation; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class ReturnArgument implements Stub +final readonly class ReturnArgument implements Stub { - private readonly int $argumentIndex; + private int $argumentIndex; public function __construct(int $argumentIndex) { diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Stub/ReturnStub.php b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Stub/ReturnStub.php index d810ceba..eb888c38 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Stub/ReturnStub.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Stub/ReturnStub.php @@ -14,9 +14,9 @@ use PHPUnit\Framework\MockObject\Invocation; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class ReturnStub implements Stub +final readonly class ReturnStub implements Stub { - private readonly mixed $value; + private mixed $value; public function __construct(mixed $value) { diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Stub/ReturnValueMap.php b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Stub/ReturnValueMap.php index 2cdf1604..68db6cb9 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Stub/ReturnValueMap.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Stub/ReturnValueMap.php @@ -17,9 +17,9 @@ use PHPUnit\Framework\MockObject\Invocation; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class ReturnValueMap implements Stub +final readonly class ReturnValueMap implements Stub { - private readonly array $valueMap; + private array $valueMap; public function __construct(array $valueMap) { diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/TestBuilder.php b/Sources/vendor/phpunit/phpunit/src/Framework/TestBuilder.php index 8e5e019d..cd387dfa 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/TestBuilder.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/TestBuilder.php @@ -9,6 +9,7 @@ */ namespace PHPUnit\Framework; +use function array_merge; use function assert; use PHPUnit\Metadata\Api\DataProvider; use PHPUnit\Metadata\Api\Groups; @@ -24,14 +25,15 @@ use ReflectionClass; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestBuilder +final readonly class TestBuilder { /** * @psalm-param non-empty-string $methodName + * @psalm-param list $groups * * @throws InvalidDataProviderException */ - public function build(ReflectionClass $theClass, string $methodName): Test + public function build(ReflectionClass $theClass, string $methodName, array $groups = []): Test { $className = $theClass->getName(); @@ -49,6 +51,7 @@ final class TestBuilder $this->shouldGlobalStateBePreserved($className, $methodName), $this->shouldAllTestMethodsOfTestClassBeRunInSingleSeparateProcess($className), $this->backupSettings($className, $methodName), + $groups, ); } @@ -71,14 +74,18 @@ final class TestBuilder * @psalm-param class-string $className * @psalm-param non-empty-string $methodName * @psalm-param array{backupGlobals: ?bool, backupGlobalsExcludeList: list, backupStaticProperties: ?bool, backupStaticPropertiesExcludeList: array>} $backupSettings + * @psalm-param list $groups */ - private function buildDataProviderTestSuite(string $methodName, string $className, array $data, bool $runTestInSeparateProcess, ?bool $preserveGlobalState, bool $runClassInSeparateProcess, array $backupSettings): DataProviderTestSuite + private function buildDataProviderTestSuite(string $methodName, string $className, array $data, bool $runTestInSeparateProcess, ?bool $preserveGlobalState, bool $runClassInSeparateProcess, array $backupSettings, array $groups): DataProviderTestSuite { $dataProviderTestSuite = DataProviderTestSuite::empty( $className . '::' . $methodName, ); - $groups = (new Groups)->groups($className, $methodName); + $groups = array_merge( + $groups, + (new Groups)->groups($className, $methodName), + ); foreach ($data as $_dataName => $_data) { $_test = new $className($methodName); diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/TestCase.php b/Sources/vendor/phpunit/phpunit/src/Framework/TestCase.php index 9f9c0b0d..1f7601a9 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/TestCase.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/TestCase.php @@ -20,6 +20,7 @@ use const PHP_EOL; use const PHP_URL_PATH; use function array_keys; use function array_merge; +use function array_reverse; use function array_values; use function assert; use function basename; @@ -28,6 +29,7 @@ use function class_exists; use function clearstatcache; use function count; use function defined; +use function error_clear_last; use function explode; use function getcwd; use function implode; @@ -47,7 +49,12 @@ use function ob_get_level; use function ob_start; use function parse_url; use function pathinfo; +use function preg_match; use function preg_replace; +use function restore_error_handler; +use function restore_exception_handler; +use function set_error_handler; +use function set_exception_handler; use function setlocale; use function sprintf; use function str_contains; @@ -56,7 +63,6 @@ use AssertionError; use DeepCopy\DeepCopy; use PHPUnit\Event; use PHPUnit\Event\NoPreviousThrowableException; -use PHPUnit\Event\TestData\MoreThanOneDataSetFromDataProviderException; use PHPUnit\Framework\Constraint\Exception as ExceptionConstraint; use PHPUnit\Framework\Constraint\ExceptionCode; use PHPUnit\Framework\Constraint\ExceptionMessageIsOrContains; @@ -85,9 +91,9 @@ use PHPUnit\Metadata\Api\Groups; use PHPUnit\Metadata\Api\HookMethods; use PHPUnit\Metadata\Api\Requirements; use PHPUnit\Metadata\Parser\Registry as MetadataRegistry; +use PHPUnit\Runner\DeprecationCollector\Facade as DeprecationCollector; use PHPUnit\TestRunner\TestResult\PassedTests; use PHPUnit\TextUI\Configuration\Registry as ConfigurationRegistry; -use PHPUnit\Util\Cloner; use PHPUnit\Util\Test as TestUtil; use ReflectionClass; use ReflectionException; @@ -104,7 +110,6 @@ use SebastianBergmann\GlobalState\Restorer; use SebastianBergmann\GlobalState\Snapshot; use SebastianBergmann\Invoker\TimeoutException; use SebastianBergmann\ObjectEnumerator\Enumerator; -use SebastianBergmann\RecursionContext\Context; use Throwable; /** @@ -126,14 +131,24 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T */ private array $backupStaticPropertiesExcludeList = []; private ?Snapshot $snapshot = null; - private ?bool $runClassInSeparateProcess = null; - private ?bool $runTestInSeparateProcess = null; - private bool $preserveGlobalState = false; - private bool $inIsolation = false; - private ?string $expectedException = null; - private ?string $expectedExceptionMessage = null; - private ?string $expectedExceptionMessageRegExp = null; - private null|int|string $expectedExceptionCode = null; + + /** + * @psalm-var list + */ + private ?array $backupGlobalErrorHandlers = null; + + /** + * @psalm-var list + */ + private ?array $backupGlobalExceptionHandlers = null; + private ?bool $runClassInSeparateProcess = null; + private ?bool $runTestInSeparateProcess = null; + private bool $preserveGlobalState = false; + private bool $inIsolation = false; + private ?string $expectedException = null; + private ?string $expectedExceptionMessage = null; + private ?string $expectedExceptionMessageRegExp = null; + private null|int|string $expectedExceptionCode = null; /** * @psalm-var list @@ -167,8 +182,7 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T /** * @psalm-var list */ - private array $mockObjects = []; - private bool $registerMockObjectsFromTestArgumentsRecursively = false; + private array $mockObjects = []; private TestStatus $status; private int $numberOfAssertionsPerformed = 0; private mixed $testResult = null; @@ -193,126 +207,14 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T private array $failureTypes = []; /** - * Returns a matcher that matches when the method is executed - * zero or more times. + * @psalm-var list */ - final public static function any(): AnyInvokedCountMatcher - { - return new AnyInvokedCountMatcher; - } + private array $expectedUserDeprecationMessage = []; /** - * Returns a matcher that matches when the method is never executed. + * @psalm-var list */ - final public static function never(): InvokedCountMatcher - { - return new InvokedCountMatcher(0); - } - - /** - * Returns a matcher that matches when the method is executed - * at least N times. - */ - final public static function atLeast(int $requiredInvocations): InvokedAtLeastCountMatcher - { - return new InvokedAtLeastCountMatcher( - $requiredInvocations, - ); - } - - /** - * Returns a matcher that matches when the method is executed at least once. - */ - final public static function atLeastOnce(): InvokedAtLeastOnceMatcher - { - return new InvokedAtLeastOnceMatcher; - } - - /** - * Returns a matcher that matches when the method is executed exactly once. - */ - final public static function once(): InvokedCountMatcher - { - return new InvokedCountMatcher(1); - } - - /** - * Returns a matcher that matches when the method is executed - * exactly $count times. - */ - final public static function exactly(int $count): InvokedCountMatcher - { - return new InvokedCountMatcher($count); - } - - /** - * Returns a matcher that matches when the method is executed - * at most N times. - */ - final public static function atMost(int $allowedInvocations): InvokedAtMostCountMatcher - { - return new InvokedAtMostCountMatcher($allowedInvocations); - } - - /** - * @deprecated Use $double->willReturn() instead of $double->will($this->returnValue()) - * @see https://github.com/sebastianbergmann/phpunit/issues/5423 - */ - final public static function returnValue(mixed $value): ReturnStub - { - return new ReturnStub($value); - } - - /** - * @deprecated Use $double->willReturnMap() instead of $double->will($this->returnValueMap()) - * @see https://github.com/sebastianbergmann/phpunit/issues/5423 - */ - final public static function returnValueMap(array $valueMap): ReturnValueMapStub - { - return new ReturnValueMapStub($valueMap); - } - - /** - * @deprecated Use $double->willReturnArgument() instead of $double->will($this->returnArgument()) - * @see https://github.com/sebastianbergmann/phpunit/issues/5423 - */ - final public static function returnArgument(int $argumentIndex): ReturnArgumentStub - { - return new ReturnArgumentStub($argumentIndex); - } - - /** - * @deprecated Use $double->willReturnCallback() instead of $double->will($this->returnCallback()) - * @see https://github.com/sebastianbergmann/phpunit/issues/5423 - */ - final public static function returnCallback(callable $callback): ReturnCallbackStub - { - return new ReturnCallbackStub($callback); - } - - /** - * @deprecated Use $double->willReturnSelf() instead of $double->will($this->returnSelf()) - * @see https://github.com/sebastianbergmann/phpunit/issues/5423 - */ - final public static function returnSelf(): ReturnSelfStub - { - return new ReturnSelfStub; - } - - final public static function throwException(Throwable $exception): ExceptionStub - { - return new ExceptionStub($exception); - } - - /** - * @deprecated Use $double->willReturn() instead of $double->will($this->onConsecutiveCalls()) - * @see https://github.com/sebastianbergmann/phpunit/issues/5423 - * @see https://github.com/sebastianbergmann/phpunit/issues/5425 - */ - final public static function onConsecutiveCalls(mixed ...$arguments): ConsecutiveCallsStub - { - return new ConsecutiveCallsStub($arguments); - } + private array $expectedUserDeprecationMessageRegularExpression = []; /** * @psalm-param non-empty-string $name @@ -398,63 +300,6 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T return 1; } - final public function getActualOutputForAssertion(): string - { - $this->outputRetrievedForAssertion = true; - - return $this->output(); - } - - final public function expectOutputRegex(string $expectedRegex): void - { - $this->outputExpectedRegex = $expectedRegex; - } - - final public function expectOutputString(string $expectedString): void - { - $this->outputExpectedString = $expectedString; - } - - /** - * @psalm-param class-string $exception - */ - final public function expectException(string $exception): void - { - $this->expectedException = $exception; - } - - final public function expectExceptionCode(int|string $code): void - { - $this->expectedExceptionCode = $code; - } - - final public function expectExceptionMessage(string $message): void - { - $this->expectedExceptionMessage = $message; - } - - final public function expectExceptionMessageMatches(string $regularExpression): void - { - $this->expectedExceptionMessageRegExp = $regularExpression; - } - - /** - * Sets up an expectation for an exception to be raised by the code under test. - * Information for expected exception class, expected exception message, and - * expected exception code are retrieved from a given Exception object. - */ - final public function expectExceptionObject(\Exception $exception): void - { - $this->expectException($exception::class); - $this->expectExceptionMessage($exception->getMessage()); - $this->expectExceptionCode($exception->getCode()); - } - - final public function expectNotToPerformAssertions(): void - { - $this->doesNotPerformAssertions = true; - } - /** * @internal This method is not covered by the backward compatibility promise for PHPUnit */ @@ -470,7 +315,6 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T * @throws \SebastianBergmann\Template\InvalidArgumentException * @throws CodeCoverageException * @throws Exception - * @throws MoreThanOneDataSetFromDataProviderException * @throws NoPreviousThrowableException * @throws ProcessIsolationException * @throws StaticAnalysisCacheNotConfiguredException @@ -495,20 +339,6 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T } } - /** - * Returns a builder object to create mock objects using a fluent interface. - * - * @psalm-template RealInstanceType of object - * - * @psalm-param class-string $className - * - * @psalm-return MockBuilder - */ - final public function getMockBuilder(string $className): MockBuilder - { - return new MockBuilder($this, $className); - } - /** * @internal This method is not covered by the backward compatibility promise for PHPUnit */ @@ -598,16 +428,6 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T return $this->hasExpectationOnOutput() || $this->outputRetrievedForAssertion; } - /** - * @internal This method is not covered by the backward compatibility promise for PHPUnit - * - * @deprecated - */ - final public function registerMockObjectsFromTestArgumentsRecursively(): void - { - $this->registerMockObjectsFromTestArgumentsRecursively = true; - } - /** * @throws Throwable * @@ -617,13 +437,16 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T { $emitter = Event\Facade::emitter(); + error_clear_last(); + clearstatcache(); + $emitter->testPreparationStarted( $this->valueObjectForEvents(), ); $this->snapshotGlobalState(); + $this->snapshotGlobalErrorExceptionHandlers(); $this->startOutputBuffering(); - clearstatcache(); $hookMethods = (new HookMethods)->hookMethods(static::class); $hasMetRequirements = false; @@ -653,6 +476,7 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T $this->wasPrepared = true; $this->testResult = $this->runTest(); + $this->verifyDeprecationExpectations(); $this->verifyMockObjects(); $this->invokePostConditionHookMethods($hookMethods, $emitter); @@ -733,7 +557,14 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T } } - $this->mockObjects = []; + try { + $this->mockObjects = []; + } catch (Throwable $t) { + Event\Facade::emitter()->testErrored( + $this->valueObjectForEvents(), + Event\Code\ThrowableBuilder::from($t), + ); + } // Tear down the fixture. An exception raised in tearDown() will be // caught and passed on when no exception was raised before. @@ -775,6 +606,7 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T chdir($currentWorkingDirectory); } + $this->restoreGlobalErrorExceptionHandlers(); $this->restoreGlobalState(); $this->unregisterCustomComparators(); $this->cleanupIniSettings(); @@ -952,132 +784,369 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T return $this->numberOfAssertionsPerformed; } - /** - * @internal This method is not covered by the backward compatibility promise for PHPUnit - */ - final public function usesDataProvider(): bool + /** + * @internal This method is not covered by the backward compatibility promise for PHPUnit + */ + final public function usesDataProvider(): bool + { + return !empty($this->data); + } + + /** + * @internal This method is not covered by the backward compatibility promise for PHPUnit + */ + final public function dataName(): int|string + { + return $this->dataName; + } + + /** + * @internal This method is not covered by the backward compatibility promise for PHPUnit + */ + final public function dataSetAsString(): string + { + $buffer = ''; + + if (!empty($this->data)) { + if (is_int($this->dataName)) { + $buffer .= sprintf(' with data set #%d', $this->dataName); + } else { + $buffer .= sprintf(' with data set "%s"', $this->dataName); + } + } + + return $buffer; + } + + /** + * @internal This method is not covered by the backward compatibility promise for PHPUnit + */ + final public function dataSetAsStringWithData(): string + { + if (empty($this->data)) { + return ''; + } + + return $this->dataSetAsString() . sprintf( + ' (%s)', + (new Exporter)->shortenedRecursiveExport($this->data), + ); + } + + /** + * @internal This method is not covered by the backward compatibility promise for PHPUnit + */ + final public function providedData(): array + { + return $this->data; + } + + /** + * @internal This method is not covered by the backward compatibility promise for PHPUnit + */ + final public function sortId(): string + { + $id = $this->name; + + if (!str_contains($id, '::')) { + $id = static::class . '::' . $id; + } + + if ($this->usesDataProvider()) { + $id .= $this->dataSetAsString(); + } + + return $id; + } + + /** + * @psalm-return list + * + * @internal This method is not covered by the backward compatibility promise for PHPUnit + */ + final public function provides(): array + { + return $this->providedTests; + } + + /** + * @psalm-return list + * + * @internal This method is not covered by the backward compatibility promise for PHPUnit + */ + final public function requires(): array + { + return $this->dependencies; + } + + /** + * @internal This method is not covered by the backward compatibility promise for PHPUnit + */ + final public function setData(int|string $dataName, array $data): void + { + $this->dataName = $dataName; + $this->data = $data; + } + + /** + * @internal This method is not covered by the backward compatibility promise for PHPUnit + */ + final public function valueObjectForEvents(): Event\Code\TestMethod + { + if ($this->testValueObjectForEvents !== null) { + return $this->testValueObjectForEvents; + } + + $this->testValueObjectForEvents = Event\Code\TestMethodBuilder::fromTestCase($this); + + return $this->testValueObjectForEvents; + } + + /** + * @internal This method is not covered by the backward compatibility promise for PHPUnit + */ + final public function wasPrepared(): bool + { + return $this->wasPrepared; + } + + /** + * Returns a matcher that matches when the method is executed + * zero or more times. + */ + final protected function any(): AnyInvokedCountMatcher + { + return new AnyInvokedCountMatcher; + } + + /** + * Returns a matcher that matches when the method is never executed. + */ + final protected function never(): InvokedCountMatcher + { + return new InvokedCountMatcher(0); + } + + /** + * Returns a matcher that matches when the method is executed + * at least N times. + */ + final protected function atLeast(int $requiredInvocations): InvokedAtLeastCountMatcher + { + return new InvokedAtLeastCountMatcher( + $requiredInvocations, + ); + } + + /** + * Returns a matcher that matches when the method is executed at least once. + */ + final protected function atLeastOnce(): InvokedAtLeastOnceMatcher + { + return new InvokedAtLeastOnceMatcher; + } + + /** + * Returns a matcher that matches when the method is executed exactly once. + */ + final protected function once(): InvokedCountMatcher + { + return new InvokedCountMatcher(1); + } + + /** + * Returns a matcher that matches when the method is executed + * exactly $count times. + */ + final protected function exactly(int $count): InvokedCountMatcher + { + return new InvokedCountMatcher($count); + } + + /** + * Returns a matcher that matches when the method is executed + * at most N times. + */ + final protected function atMost(int $allowedInvocations): InvokedAtMostCountMatcher + { + return new InvokedAtMostCountMatcher($allowedInvocations); + } + + /** + * @deprecated Use $double->willReturn() instead of $double->will($this->returnValue()) + * @see https://github.com/sebastianbergmann/phpunit/issues/5423 + */ + final protected function returnValue(mixed $value): ReturnStub + { + Event\Facade::emitter()->testTriggeredPhpunitDeprecation( + $this->valueObjectForEvents(), + 'returnValue() is deprecated and will be removed in PHPUnit 12. Use $double->willReturn() instead of $double->will($this->returnValue())', + ); + + return new ReturnStub($value); + } + + /** + * @deprecated Use $double->willReturnMap() instead of $double->will($this->returnValueMap()) + * @see https://github.com/sebastianbergmann/phpunit/issues/5423 + */ + final protected function returnValueMap(array $valueMap): ReturnValueMapStub + { + Event\Facade::emitter()->testTriggeredPhpunitDeprecation( + $this->valueObjectForEvents(), + 'returnValueMap() is deprecated and will be removed in PHPUnit 12. Use $double->willReturnMap() instead of $double->will($this->returnValueMap())', + ); + + return new ReturnValueMapStub($valueMap); + } + + /** + * @deprecated Use $double->willReturnArgument() instead of $double->will($this->returnArgument()) + * @see https://github.com/sebastianbergmann/phpunit/issues/5423 + */ + final protected function returnArgument(int $argumentIndex): ReturnArgumentStub + { + Event\Facade::emitter()->testTriggeredPhpunitDeprecation( + $this->valueObjectForEvents(), + 'returnArgument() is deprecated and will be removed in PHPUnit 12. Use $double->willReturnArgument() instead of $double->will($this->returnArgument())', + ); + + return new ReturnArgumentStub($argumentIndex); + } + + /** + * @deprecated Use $double->willReturnCallback() instead of $double->will($this->returnCallback()) + * @see https://github.com/sebastianbergmann/phpunit/issues/5423 + */ + final protected function returnCallback(callable $callback): ReturnCallbackStub + { + Event\Facade::emitter()->testTriggeredPhpunitDeprecation( + $this->valueObjectForEvents(), + 'returnCallback() is deprecated and will be removed in PHPUnit 12. Use $double->willReturnCallback() instead of $double->will($this->returnCallback())', + ); + + return new ReturnCallbackStub($callback); + } + + /** + * @deprecated Use $double->willReturnSelf() instead of $double->will($this->returnSelf()) + * @see https://github.com/sebastianbergmann/phpunit/issues/5423 + */ + final protected function returnSelf(): ReturnSelfStub + { + Event\Facade::emitter()->testTriggeredPhpunitDeprecation( + $this->valueObjectForEvents(), + 'returnSelf() is deprecated and will be removed in PHPUnit 12. Use $double->willReturnSelf() instead of $double->will($this->returnSelf())', + ); + + return new ReturnSelfStub; + } + + final protected function throwException(Throwable $exception): ExceptionStub { - return !empty($this->data); + return new ExceptionStub($exception); } /** - * @internal This method is not covered by the backward compatibility promise for PHPUnit + * @deprecated Use $double->willReturn() instead of $double->will($this->onConsecutiveCalls()) + * @see https://github.com/sebastianbergmann/phpunit/issues/5423 + * @see https://github.com/sebastianbergmann/phpunit/issues/5425 */ - final public function dataName(): int|string + final protected function onConsecutiveCalls(mixed ...$arguments): ConsecutiveCallsStub { - return $this->dataName; + Event\Facade::emitter()->testTriggeredPhpunitDeprecation( + $this->valueObjectForEvents(), + 'onConsecutiveCalls() is deprecated and will be removed in PHPUnit 12. Use $double->willReturn() instead of $double->will($this->onConsecutiveCalls())', + ); + + return new ConsecutiveCallsStub($arguments); } - /** - * @internal This method is not covered by the backward compatibility promise for PHPUnit - */ - final public function dataSetAsString(): string + final protected function getActualOutputForAssertion(): string { - $buffer = ''; - - if (!empty($this->data)) { - if (is_int($this->dataName)) { - $buffer .= sprintf(' with data set #%d', $this->dataName); - } else { - $buffer .= sprintf(' with data set "%s"', $this->dataName); - } - } + $this->outputRetrievedForAssertion = true; - return $buffer; + return $this->output(); } - /** - * @internal This method is not covered by the backward compatibility promise for PHPUnit - */ - final public function dataSetAsStringWithData(): string + final protected function expectOutputRegex(string $expectedRegex): void { - if (empty($this->data)) { - return ''; - } - - return $this->dataSetAsString() . sprintf( - ' (%s)', - (new Exporter)->shortenedRecursiveExport($this->data), - ); + $this->outputExpectedRegex = $expectedRegex; } - /** - * @internal This method is not covered by the backward compatibility promise for PHPUnit - */ - final public function providedData(): array + final protected function expectOutputString(string $expectedString): void { - return $this->data; + $this->outputExpectedString = $expectedString; } /** - * @internal This method is not covered by the backward compatibility promise for PHPUnit + * @psalm-param class-string $exception */ - final public function sortId(): string + final protected function expectException(string $exception): void { - $id = $this->name; + $this->expectedException = $exception; + } - if (!str_contains($id, '::')) { - $id = static::class . '::' . $id; - } + final protected function expectExceptionCode(int|string $code): void + { + $this->expectedExceptionCode = $code; + } - if ($this->usesDataProvider()) { - $id .= $this->dataSetAsString(); - } + final protected function expectExceptionMessage(string $message): void + { + $this->expectedExceptionMessage = $message; + } - return $id; + final protected function expectExceptionMessageMatches(string $regularExpression): void + { + $this->expectedExceptionMessageRegExp = $regularExpression; } /** - * @psalm-return list - * - * @internal This method is not covered by the backward compatibility promise for PHPUnit + * Sets up an expectation for an exception to be raised by the code under test. + * Information for expected exception class, expected exception message, and + * expected exception code are retrieved from a given Exception object. */ - final public function provides(): array + final protected function expectExceptionObject(\Exception $exception): void { - return $this->providedTests; + $this->expectException($exception::class); + $this->expectExceptionMessage($exception->getMessage()); + $this->expectExceptionCode($exception->getCode()); } - /** - * @psalm-return list - * - * @internal This method is not covered by the backward compatibility promise for PHPUnit - */ - final public function requires(): array + final protected function expectNotToPerformAssertions(): void { - return $this->dependencies; + $this->doesNotPerformAssertions = true; } /** - * @internal This method is not covered by the backward compatibility promise for PHPUnit + * @psalm-param non-empty-string $expectedUserDeprecationMessage */ - final public function setData(int|string $dataName, array $data): void + final protected function expectUserDeprecationMessage(string $expectedUserDeprecationMessage): void { - $this->dataName = $dataName; - $this->data = $data; + $this->expectedUserDeprecationMessage[] = $expectedUserDeprecationMessage; } /** - * @internal This method is not covered by the backward compatibility promise for PHPUnit - * - * @throws MoreThanOneDataSetFromDataProviderException + * @psalm-param non-empty-string $expectedUserDeprecationMessageRegularExpression */ - final public function valueObjectForEvents(): Event\Code\TestMethod + final protected function expectUserDeprecationMessageMatches(string $expectedUserDeprecationMessageRegularExpression): void { - if ($this->testValueObjectForEvents !== null) { - return $this->testValueObjectForEvents; - } - - $this->testValueObjectForEvents = Event\Code\TestMethodBuilder::fromTestCase($this); - - return $this->testValueObjectForEvents; + $this->expectedUserDeprecationMessageRegularExpression[] = $expectedUserDeprecationMessageRegularExpression; } /** - * @internal This method is not covered by the backward compatibility promise for PHPUnit + * Returns a builder object to create mock objects using a fluent interface. + * + * @psalm-template RealInstanceType of object + * + * @psalm-param class-string $className + * + * @psalm-return MockBuilder */ - final public function wasPrepared(): bool + final protected function getMockBuilder(string $className): MockBuilder { - return $this->wasPrepared; + return new MockBuilder($this, $className); } final protected function registerComparator(Comparator $comparator): void @@ -1105,14 +1174,12 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T * * @internal This method is not covered by the backward compatibility promise for PHPUnit */ - protected function runTest(): mixed + final protected function runTest(): mixed { - $testArguments = array_merge($this->data, $this->dependencyInput); - - $this->registerMockObjectsFromTestArguments($testArguments); + $testArguments = array_merge($this->data, array_values($this->dependencyInput)); try { - $testResult = $this->{$this->name}(...array_values($testArguments)); + $testResult = $this->{$this->name}(...$testArguments); } catch (Throwable $exception) { if (!$this->shouldExceptionExpectationsBeVerified($exception)) { throw $exception; @@ -1137,8 +1204,13 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T * * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5214 */ - protected function iniSet(string $varName, string $newValue): void + final protected function iniSet(string $varName, string $newValue): void { + Event\Facade::emitter()->testTriggeredPhpunitDeprecation( + $this->valueObjectForEvents(), + 'iniSet() is deprecated and will be removed in PHPUnit 12 without replacement.', + ); + $currentValue = ini_set($varName, $newValue); if ($currentValue !== false) { @@ -1162,8 +1234,13 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T * * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5216 */ - protected function setLocale(mixed ...$arguments): void + final protected function setLocale(mixed ...$arguments): void { + Event\Facade::emitter()->testTriggeredPhpunitDeprecation( + $this->valueObjectForEvents(), + 'setLocale() is deprecated and will be removed in PHPUnit 12 without replacement.', + ); + if (count($arguments) < 2) { throw new Exception; } @@ -1204,11 +1281,12 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T * @throws MockObjectException * @throws NoPreviousThrowableException */ - protected function createMock(string $originalClassName): MockObject + final protected function createMock(string $originalClassName): MockObject { $mock = (new MockGenerator)->testDouble( $originalClassName, true, + true, callOriginalConstructor: false, callOriginalClone: false, cloneArguments: false, @@ -1230,7 +1308,7 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T * * @throws MockObjectException */ - protected function createMockForIntersectionOfInterfaces(array $interfaces): MockObject + final protected function createMockForIntersectionOfInterfaces(array $interfaces): MockObject { $mock = (new MockGenerator)->testDoubleForInterfaceIntersection($interfaces, true); @@ -1256,7 +1334,7 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T * @throws MockObjectException * @throws NoPreviousThrowableException */ - protected function createConfiguredMock(string $originalClassName, array $configuration): MockObject + final protected function createConfiguredMock(string $originalClassName, array $configuration): MockObject { $o = $this->createMock($originalClassName); @@ -1281,7 +1359,7 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T * @throws InvalidArgumentException * @throws MockObjectException */ - protected function createPartialMock(string $originalClassName, array $methods): MockObject + final protected function createPartialMock(string $originalClassName, array $methods): MockObject { $partialMock = $this->getMockBuilder($originalClassName) ->disableOriginalConstructor() @@ -1313,8 +1391,13 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T * * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5240 */ - protected function createTestProxy(string $originalClassName, array $constructorArguments = []): MockObject + final protected function createTestProxy(string $originalClassName, array $constructorArguments = []): MockObject { + Event\Facade::emitter()->testTriggeredPhpunitDeprecation( + $this->valueObjectForEvents(), + 'createTestProxy() is deprecated and will be removed in PHPUnit 12 without replacement.', + ); + $testProxy = $this->getMockBuilder($originalClassName) ->setConstructorArgs($constructorArguments) ->enableProxyingToOriginalMethods() @@ -1344,8 +1427,13 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T * * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5241 */ - protected function getMockForAbstractClass(string $originalClassName, array $arguments = [], string $mockClassName = '', bool $callOriginalConstructor = true, bool $callOriginalClone = true, bool $callAutoload = true, array $mockedMethods = [], bool $cloneArguments = false): MockObject + final protected function getMockForAbstractClass(string $originalClassName, array $arguments = [], string $mockClassName = '', bool $callOriginalConstructor = true, bool $callOriginalClone = true, bool $callAutoload = true, array $mockedMethods = [], bool $cloneArguments = false): MockObject { + Event\Facade::emitter()->testTriggeredPhpunitDeprecation( + $this->valueObjectForEvents(), + 'getMockForAbstractClass() is deprecated and will be removed in PHPUnit 12 without replacement.', + ); + $mockObject = (new MockGenerator)->mockObjectForAbstractClass( $originalClassName, $arguments, @@ -1374,8 +1462,13 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T * * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5242 */ - protected function getMockFromWsdl(string $wsdlFile, string $originalClassName = '', string $mockClassName = '', array $methods = [], bool $callOriginalConstructor = true, array $options = []): MockObject + final protected function getMockFromWsdl(string $wsdlFile, string $originalClassName = '', string $mockClassName = '', array $methods = [], bool $callOriginalConstructor = true, array $options = []): MockObject { + Event\Facade::emitter()->testTriggeredPhpunitDeprecation( + $this->valueObjectForEvents(), + 'getMockFromWsdl() is deprecated and will be removed in PHPUnit 12 without replacement.', + ); + if ($originalClassName === '') { $fileName = pathinfo(basename(parse_url($wsdlFile, PHP_URL_PATH)), PATHINFO_FILENAME); $originalClassName = preg_replace('/\W/', '', $fileName); @@ -1395,6 +1488,7 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T $mockObject = (new MockGenerator)->testDouble( $originalClassName, true, + true, $methods, ['', $options], $mockClassName, @@ -1431,8 +1525,13 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T * * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5243 */ - protected function getMockForTrait(string $traitName, array $arguments = [], string $mockClassName = '', bool $callOriginalConstructor = true, bool $callOriginalClone = true, bool $callAutoload = true, array $mockedMethods = [], bool $cloneArguments = false): MockObject + final protected function getMockForTrait(string $traitName, array $arguments = [], string $mockClassName = '', bool $callOriginalConstructor = true, bool $callOriginalClone = true, bool $callAutoload = true, array $mockedMethods = [], bool $cloneArguments = false): MockObject { + Event\Facade::emitter()->testTriggeredPhpunitDeprecation( + $this->valueObjectForEvents(), + 'getMockForTrait() is deprecated and will be removed in PHPUnit 12 without replacement.', + ); + $mockObject = (new MockGenerator)->mockObjectForTrait( $traitName, $arguments, @@ -1460,8 +1559,13 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T * * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5244 */ - protected function getObjectForTrait(string $traitName, array $arguments = [], string $traitClassName = '', bool $callOriginalConstructor = true, bool $callOriginalClone = true, bool $callAutoload = true): object + final protected function getObjectForTrait(string $traitName, array $arguments = [], string $traitClassName = '', bool $callOriginalConstructor = true, bool $callOriginalClone = true, bool $callAutoload = true): object { + Event\Facade::emitter()->testTriggeredPhpunitDeprecation( + $this->valueObjectForEvents(), + 'getObjectForTrait() is deprecated and will be removed in PHPUnit 12 without replacement.', + ); + return (new MockGenerator)->objectForTrait( $traitName, $traitClassName, @@ -1486,6 +1590,48 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T throw $t; } + /** + * @throws ExpectationFailedException + */ + private function verifyDeprecationExpectations(): void + { + foreach ($this->expectedUserDeprecationMessage as $deprecationExpectation) { + $this->numberOfAssertionsPerformed++; + + if (!in_array($deprecationExpectation, DeprecationCollector::deprecations(), true)) { + throw new ExpectationFailedException( + sprintf( + 'Expected deprecation with message "%s" was not triggered', + $deprecationExpectation, + ), + ); + } + } + + foreach ($this->expectedUserDeprecationMessageRegularExpression as $deprecationExpectation) { + $this->numberOfAssertionsPerformed++; + + $expectedDeprecationTriggered = false; + + foreach (DeprecationCollector::deprecations() as $deprecation) { + if (@preg_match($deprecationExpectation, $deprecation) > 0) { + $expectedDeprecationTriggered = true; + + break; + } + } + + if (!$expectedDeprecationTriggered) { + throw new ExpectationFailedException( + sprintf( + 'Expected deprecation with message matching regular expression "%s" was not triggered', + $deprecationExpectation, + ), + ); + } + } + } + /** * @throws Throwable */ @@ -1596,7 +1742,6 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T /** * @throws Exception - * @throws MoreThanOneDataSetFromDataProviderException * @throws NoPreviousThrowableException */ private function markErrorForInvalidDependency(?ExecutionOrderDependency $dependency = null): void @@ -1620,9 +1765,6 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T $this->status = TestStatus::error($message); } - /** - * @throws MoreThanOneDataSetFromDataProviderException - */ private function markSkippedForMissingDependency(ExecutionOrderDependency $dependency): void { $message = sprintf( @@ -1646,9 +1788,6 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T $this->outputBufferingLevel = ob_get_level(); } - /** - * @throws MoreThanOneDataSetFromDataProviderException - */ private function stopOutputBuffering(): bool { $bufferingLevel = ob_get_level(); @@ -1682,6 +1821,131 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T return true; } + private function snapshotGlobalErrorExceptionHandlers(): void + { + $this->backupGlobalErrorHandlers = $this->getActiveErrorHandlers(); + $this->backupGlobalExceptionHandlers = $this->getActiveExceptionHandlers(); + } + + private function restoreGlobalErrorExceptionHandlers(): void + { + $activeErrorHandlers = $this->getActiveErrorHandlers(); + $activeExceptionHandlers = $this->getActiveExceptionHandlers(); + + $message = null; + + if ($activeErrorHandlers !== $this->backupGlobalErrorHandlers) { + if (count($activeErrorHandlers) > count($this->backupGlobalErrorHandlers)) { + if (!$this->inIsolation) { + $message = 'Test code or tested code did not remove its own error handlers'; + } + } else { + $message = 'Test code or tested code removed error handlers other than its own'; + } + + foreach ($activeErrorHandlers as $handler) { + restore_error_handler(); + } + + foreach ($this->backupGlobalErrorHandlers as $handler) { + set_error_handler($handler); + } + } + + if ($message !== null) { + Event\Facade::emitter()->testConsideredRisky( + $this->valueObjectForEvents(), + $message, + ); + + $this->status = TestStatus::risky($message); + } + + $message = null; + + if ($activeExceptionHandlers !== $this->backupGlobalExceptionHandlers) { + if (count($activeExceptionHandlers) > count($this->backupGlobalExceptionHandlers)) { + if (!$this->inIsolation) { + $message = 'Test code or tested code did not remove its own exception handlers'; + } + } else { + $message = 'Test code or tested code removed exception handlers other than its own'; + } + + foreach ($activeExceptionHandlers as $handler) { + restore_exception_handler(); + } + + foreach ($this->backupGlobalExceptionHandlers as $handler) { + set_exception_handler($handler); + } + } + + $this->backupGlobalErrorHandlers = null; + $this->backupGlobalExceptionHandlers = null; + + if ($message !== null) { + Event\Facade::emitter()->testConsideredRisky( + $this->valueObjectForEvents(), + $message, + ); + + $this->status = TestStatus::risky($message); + } + } + + /** + * @return list + */ + private function getActiveErrorHandlers(): array + { + $res = []; + + while (true) { + $previousHandler = set_error_handler(static fn () => false); + restore_error_handler(); + + if ($previousHandler === null) { + break; + } + $res[] = $previousHandler; + restore_error_handler(); + } + $res = array_reverse($res); + + foreach ($res as $handler) { + set_error_handler($handler); + } + + return $res; + } + + /** + * @return list + */ + private function getActiveExceptionHandlers(): array + { + $res = []; + + while (true) { + $previousHandler = set_exception_handler(static fn () => null); + restore_exception_handler(); + + if ($previousHandler === null) { + break; + } + $res[] = $previousHandler; + restore_exception_handler(); + } + $res = array_reverse($res); + + foreach ($res as $handler) { + set_exception_handler($handler); + } + + return $res; + } + private function snapshotGlobalState(): void { if ($this->runTestInSeparateProcess || $this->inIsolation || @@ -1694,9 +1958,6 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T $this->snapshot = $snapshot; } - /** - * @throws MoreThanOneDataSetFromDataProviderException - */ private function restoreGlobalState(): void { if (!$this->snapshot instanceof Snapshot) { @@ -1761,9 +2022,6 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T ); } - /** - * @throws MoreThanOneDataSetFromDataProviderException - */ private function compareGlobalStateSnapshots(Snapshot $before, Snapshot $after): void { $backupGlobals = $this->backupGlobals === null || $this->backupGlobals; @@ -1791,9 +2049,6 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T } } - /** - * @throws MoreThanOneDataSetFromDataProviderException - */ private function compareGlobalStateSnapshotPart(array $before, array $after, string $header): void { if ($before != $after) { @@ -1828,36 +2083,6 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T return !in_array($mock, $enumerator->enumerate($this->testResult), true); } - /** - * @deprecated - */ - private function registerMockObjectsFromTestArguments(array $testArguments, Context $context = new Context): void - { - if ($this->registerMockObjectsFromTestArgumentsRecursively) { - foreach ((new Enumerator)->enumerate($testArguments) as $object) { - if ($object instanceof MockObject) { - $this->registerMockObject($object); - } - } - } else { - foreach ($testArguments as &$testArgument) { - if ($testArgument instanceof MockObject) { - $testArgument = Cloner::clone($testArgument); - - $this->registerMockObject($testArgument); - } elseif (is_array($testArgument) && !$context->contains($testArgument)) { - $testArgumentCopy = $testArgument; - $context->add($testArgument); - - $this->registerMockObjectsFromTestArguments( - $testArgumentCopy, - $context, - ); - } - } - } - } - private function unregisterCustomComparators(): void { $factory = ComparatorFactory::getInstance(); @@ -1968,7 +2193,6 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T /** * @throws Exception * @throws ExpectationFailedException - * @throws MoreThanOneDataSetFromDataProviderException * @throws NoPreviousThrowableException */ private function performAssertionsOnOutput(): void @@ -2242,11 +2466,12 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T * @throws MockObjectException * @throws NoPreviousThrowableException */ - protected static function createStub(string $originalClassName): Stub + final protected static function createStub(string $originalClassName): Stub { $stub = (new MockGenerator)->testDouble( $originalClassName, true, + false, callOriginalConstructor: false, callOriginalClone: false, cloneArguments: false, @@ -2266,7 +2491,7 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T * * @throws MockObjectException */ - protected static function createStubForIntersectionOfInterfaces(array $interfaces): Stub + final protected static function createStubForIntersectionOfInterfaces(array $interfaces): Stub { $stub = (new MockGenerator)->testDoubleForInterfaceIntersection($interfaces, false); diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/TestRunner.php b/Sources/vendor/phpunit/phpunit/src/Framework/TestRunner.php index c7f31d7c..20bc4d96 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/TestRunner.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/TestRunner.php @@ -13,7 +13,6 @@ use const PHP_EOL; use function assert; use function class_exists; use function defined; -use function error_clear_last; use function extension_loaded; use function get_include_path; use function hrtime; @@ -26,7 +25,6 @@ use function var_export; use AssertionError; use PHPUnit\Event; use PHPUnit\Event\NoPreviousThrowableException; -use PHPUnit\Event\TestData\MoreThanOneDataSetFromDataProviderException; use PHPUnit\Metadata\Api\CodeCoverage as CodeCoverageMetadataApi; use PHPUnit\Metadata\Parser\Registry as MetadataRegistry; use PHPUnit\Runner\CodeCoverage; @@ -37,6 +35,7 @@ use PHPUnit\Util\GlobalState; use PHPUnit\Util\PHP\AbstractPhpProcess; use ReflectionClass; use SebastianBergmann\CodeCoverage\Exception as OriginalCodeCoverageException; +use SebastianBergmann\CodeCoverage\InvalidArgumentException; use SebastianBergmann\CodeCoverage\StaticAnalysisCacheNotConfiguredException; use SebastianBergmann\CodeCoverage\UnintentionallyCoveredCodeException; use SebastianBergmann\Invoker\Invoker; @@ -59,19 +58,14 @@ final class TestRunner /** * @throws \PHPUnit\Runner\Exception - * @throws \SebastianBergmann\CodeCoverage\InvalidArgumentException * @throws CodeCoverageException - * @throws MoreThanOneDataSetFromDataProviderException + * @throws InvalidArgumentException * @throws UnintentionallyCoveredCodeException */ public function run(TestCase $test): void { Assert::resetCount(); - if ($this->configuration->registerMockObjectsFromTestArgumentsRecursively()) { - $test->registerMockObjectsFromTestArgumentsRecursively(); - } - $shouldCodeCoverageBeCollected = (new CodeCoverageMetadataApi)->shouldCodeCoverageBeCollectedFor( $test::class, $test->name(), @@ -83,8 +77,6 @@ final class TestRunner $risky = false; $skipped = false; - error_clear_last(); - if ($this->shouldErrorHandlerBeUsed($test)) { ErrorHandler::instance()->enable(); } @@ -172,6 +164,8 @@ final class TestRunner $test->valueObjectForEvents(), $cce->getMessage(), ); + + $append = false; } } @@ -248,7 +242,6 @@ final class TestRunner * @throws \PHPUnit\Util\Exception * @throws \SebastianBergmann\Template\InvalidArgumentException * @throws Exception - * @throws MoreThanOneDataSetFromDataProviderException * @throws NoPreviousThrowableException * @throws ProcessIsolationException * @throws StaticAnalysisCacheNotConfiguredException @@ -284,7 +277,6 @@ final class TestRunner $iniSettings = GlobalState::getIniSettingsAsString(); } - $exportObjects = Event\Facade::emitter()->exportsObjects() ? 'true' : 'false'; $coverage = CodeCoverage::instance()->isActive() ? 'true' : 'false'; $linesToBeIgnored = var_export(CodeCoverage::instance()->linesToBeIgnored(), true); @@ -335,7 +327,6 @@ final class TestRunner 'offsetNanoseconds' => $offset[1], 'serializedConfiguration' => $serializedConfiguration, 'processResultFile' => $processResultFile, - 'exportObjects' => $exportObjects, ]; if (!$runEntireClass) { @@ -417,12 +408,13 @@ final class TestRunner private function runTestWithTimeout(TestCase $test): bool { $_timeout = $this->configuration->defaultTimeLimit(); + $testSize = $test->size(); - if ($test->size()->isSmall()) { + if ($testSize->isSmall()) { $_timeout = $this->configuration->timeoutForSmallTests(); - } elseif ($test->size()->isMedium()) { + } elseif ($testSize->isMedium()) { $_timeout = $this->configuration->timeoutForMediumTests(); - } elseif ($test->size()->isLarge()) { + } elseif ($testSize->isLarge()) { $_timeout = $this->configuration->timeoutForLargeTests(); } @@ -451,7 +443,7 @@ final class TestRunner { $path = tempnam(sys_get_temp_dir(), 'phpunit_'); - if (!$path) { + if ($path === false) { throw new ProcessIsolationException; } diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/TestSize/Known.php b/Sources/vendor/phpunit/phpunit/src/Framework/TestSize/Known.php index d7dca96e..80f479a9 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/TestSize/Known.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/TestSize/Known.php @@ -14,7 +14,7 @@ namespace PHPUnit\Framework\TestSize; * * @psalm-immutable */ -abstract class Known extends TestSize +abstract readonly class Known extends TestSize { /** * @psalm-assert-if-true Known $this diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/TestSize/Large.php b/Sources/vendor/phpunit/phpunit/src/Framework/TestSize/Large.php index bdf00184..008baf0b 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/TestSize/Large.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/TestSize/Large.php @@ -14,7 +14,7 @@ namespace PHPUnit\Framework\TestSize; * * @psalm-immutable */ -final class Large extends Known +final readonly class Large extends Known { /** * @psalm-assert-if-true Large $this diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/TestSize/Medium.php b/Sources/vendor/phpunit/phpunit/src/Framework/TestSize/Medium.php index b16edaa5..027032d3 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/TestSize/Medium.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/TestSize/Medium.php @@ -14,7 +14,7 @@ namespace PHPUnit\Framework\TestSize; * * @psalm-immutable */ -final class Medium extends Known +final readonly class Medium extends Known { /** * @psalm-assert-if-true Medium $this diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/TestSize/Small.php b/Sources/vendor/phpunit/phpunit/src/Framework/TestSize/Small.php index 1387e930..c32be52e 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/TestSize/Small.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/TestSize/Small.php @@ -14,7 +14,7 @@ namespace PHPUnit\Framework\TestSize; * * @psalm-immutable */ -final class Small extends Known +final readonly class Small extends Known { /** * @psalm-assert-if-true Small $this diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/TestSize/TestSize.php b/Sources/vendor/phpunit/phpunit/src/Framework/TestSize/TestSize.php index 7d876ea4..891ab644 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/TestSize/TestSize.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/TestSize/TestSize.php @@ -14,7 +14,7 @@ namespace PHPUnit\Framework\TestSize; * * @psalm-immutable */ -abstract class TestSize +abstract readonly class TestSize { public static function unknown(): self { diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/TestSize/Unknown.php b/Sources/vendor/phpunit/phpunit/src/Framework/TestSize/Unknown.php index d0884e92..20234cf8 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/TestSize/Unknown.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/TestSize/Unknown.php @@ -14,7 +14,7 @@ namespace PHPUnit\Framework\TestSize; * * @psalm-immutable */ -final class Unknown extends TestSize +final readonly class Unknown extends TestSize { /** * @psalm-assert-if-true Unknown $this diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Deprecation.php b/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Deprecation.php index 2711760d..48326e0e 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Deprecation.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Deprecation.php @@ -10,11 +10,11 @@ namespace PHPUnit\Framework\TestStatus; /** - * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit - * * @psalm-immutable + * + * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Deprecation extends Known +final readonly class Deprecation extends Known { /** * @psalm-assert-if-true Deprecation $this diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Error.php b/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Error.php index 6ddb3b1b..532681b6 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Error.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Error.php @@ -10,11 +10,11 @@ namespace PHPUnit\Framework\TestStatus; /** - * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit - * * @psalm-immutable + * + * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Error extends Known +final readonly class Error extends Known { /** * @psalm-assert-if-true Error $this diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Failure.php b/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Failure.php index 1bb1b037..6420d3f7 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Failure.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Failure.php @@ -10,11 +10,11 @@ namespace PHPUnit\Framework\TestStatus; /** - * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit - * * @psalm-immutable + * + * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Failure extends Known +final readonly class Failure extends Known { /** * @psalm-assert-if-true Failure $this diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Incomplete.php b/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Incomplete.php index eff26721..32669174 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Incomplete.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Incomplete.php @@ -10,11 +10,11 @@ namespace PHPUnit\Framework\TestStatus; /** - * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit - * * @psalm-immutable + * + * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Incomplete extends Known +final readonly class Incomplete extends Known { /** * @psalm-assert-if-true Incomplete $this diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Known.php b/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Known.php index b5d92b39..110e22c6 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Known.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Known.php @@ -10,11 +10,11 @@ namespace PHPUnit\Framework\TestStatus; /** - * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit - * * @psalm-immutable + * + * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -abstract class Known extends TestStatus +abstract readonly class Known extends TestStatus { /** * @psalm-assert-if-true Known $this diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Notice.php b/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Notice.php index 1eb10761..17ce48c7 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Notice.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Notice.php @@ -10,11 +10,11 @@ namespace PHPUnit\Framework\TestStatus; /** - * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit - * * @psalm-immutable + * + * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Notice extends Known +final readonly class Notice extends Known { /** * @psalm-assert-if-true Notice $this diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Risky.php b/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Risky.php index bd0cb889..dbcc0a61 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Risky.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Risky.php @@ -10,11 +10,11 @@ namespace PHPUnit\Framework\TestStatus; /** - * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit - * * @psalm-immutable + * + * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Risky extends Known +final readonly class Risky extends Known { /** * @psalm-assert-if-true Risky $this diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Skipped.php b/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Skipped.php index 4c8aeaf9..b7bae62c 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Skipped.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Skipped.php @@ -10,11 +10,11 @@ namespace PHPUnit\Framework\TestStatus; /** - * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit - * * @psalm-immutable + * + * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Skipped extends Known +final readonly class Skipped extends Known { /** * @psalm-assert-if-true Skipped $this diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Success.php b/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Success.php index fb5c945e..622f6f3a 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Success.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Success.php @@ -10,11 +10,11 @@ namespace PHPUnit\Framework\TestStatus; /** - * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit - * * @psalm-immutable + * + * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Success extends Known +final readonly class Success extends Known { /** * @psalm-assert-if-true Success $this diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/TestStatus.php b/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/TestStatus.php index ab957de1..e0b94ba8 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/TestStatus.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/TestStatus.php @@ -10,13 +10,13 @@ namespace PHPUnit\Framework\TestStatus; /** - * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit - * * @psalm-immutable + * + * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -abstract class TestStatus +abstract readonly class TestStatus { - private readonly string $message; + private string $message; public static function from(int $status): self { diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Unknown.php b/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Unknown.php index 245ec67e..146d678f 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Unknown.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Unknown.php @@ -10,11 +10,11 @@ namespace PHPUnit\Framework\TestStatus; /** - * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit - * * @psalm-immutable + * + * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Unknown extends TestStatus +final readonly class Unknown extends TestStatus { /** * @psalm-assert-if-true Unknown $this diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Warning.php b/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Warning.php index 7c31fa8f..0f5908e7 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Warning.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/TestStatus/Warning.php @@ -10,11 +10,11 @@ namespace PHPUnit\Framework\TestStatus; /** - * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit - * * @psalm-immutable + * + * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Warning extends Known +final readonly class Warning extends Known { /** * @psalm-assert-if-true Warning $this diff --git a/Sources/vendor/phpunit/phpunit/src/Framework/TestSuite.php b/Sources/vendor/phpunit/phpunit/src/Framework/TestSuite.php index 15a144cf..9cf01712 100644 --- a/Sources/vendor/phpunit/phpunit/src/Framework/TestSuite.php +++ b/Sources/vendor/phpunit/phpunit/src/Framework/TestSuite.php @@ -12,6 +12,7 @@ namespace PHPUnit\Framework; use const PHP_EOL; use function array_keys; use function array_map; +use function array_merge; use function assert; use function call_user_func; use function class_exists; @@ -44,6 +45,7 @@ use PHPUnit\Util\Reflection; use PHPUnit\Util\Test as TestUtil; use ReflectionClass; use ReflectionMethod; +use SebastianBergmann\CodeCoverage\InvalidArgumentException; use SebastianBergmann\CodeCoverage\UnintentionallyCoveredCodeException; use Throwable; @@ -81,18 +83,9 @@ class TestSuite implements IteratorAggregate, Reorderable, SelfDescribing, Test } /** - * @psalm-param class-string $className + * @psalm-param list $groups */ - public static function fromClassName(string $className): static - { - assert(class_exists($className)); - - $class = new ReflectionClass($className); - - return static::fromClassReflector($class); - } - - public static function fromClassReflector(ReflectionClass $class): static + public static function fromClassReflector(ReflectionClass $class, array $groups = []): static { $testSuite = new static($class->getName()); @@ -122,7 +115,7 @@ class TestSuite implements IteratorAggregate, Reorderable, SelfDescribing, Test continue; } - $testSuite->addTestMethod($class, $method); + $testSuite->addTestMethod($class, $method, $groups); } if (count($testSuite) === 0) { @@ -189,9 +182,11 @@ class TestSuite implements IteratorAggregate, Reorderable, SelfDescribing, Test /** * Adds the tests from the given class to the suite. * + * @psalm-param list $groups + * * @throws Exception */ - public function addTestSuite(ReflectionClass $testClass): void + public function addTestSuite(ReflectionClass $testClass, array $groups = []): void { if ($testClass->isAbstract()) { throw new Exception( @@ -212,7 +207,7 @@ class TestSuite implements IteratorAggregate, Reorderable, SelfDescribing, Test ); } - $this->addTest(self::fromClassReflector($testClass)); + $this->addTest(self::fromClassReflector($testClass, $groups), $groups); } /** @@ -223,11 +218,13 @@ class TestSuite implements IteratorAggregate, Reorderable, SelfDescribing, Test * added, a PHPUnit\Framework\WarningTestCase will be created instead, * leaving the current test run untouched. * + * @psalm-param list $groups + * * @throws Exception */ - public function addTestFile(string $filename): void + public function addTestFile(string $filename, array $groups = []): void { - if (is_file($filename) && str_ends_with($filename, '.phpt')) { + if (str_ends_with($filename, '.phpt') && is_file($filename)) { try { $this->addTest(new PhptTestCase($filename)); } catch (RunnerException $e) { @@ -242,6 +239,7 @@ class TestSuite implements IteratorAggregate, Reorderable, SelfDescribing, Test try { $this->addTestSuite( (new TestSuiteLoader)->load($filename), + $groups, ); } catch (RunnerException $e) { Event\Facade::emitter()->testRunnerTriggeredWarning( @@ -308,10 +306,10 @@ class TestSuite implements IteratorAggregate, Reorderable, SelfDescribing, Test } /** - * @throws \SebastianBergmann\CodeCoverage\InvalidArgumentException * @throws CodeCoverageException * @throws Event\RuntimeException * @throws Exception + * @throws InvalidArgumentException * @throws NoPreviousThrowableException * @throws UnintentionallyCoveredCodeException */ @@ -463,10 +461,11 @@ class TestSuite implements IteratorAggregate, Reorderable, SelfDescribing, Test } /** - * @throws \PHPUnit\Event\TestData\MoreThanOneDataSetFromDataProviderException + * @psalm-param list $groups + * * @throws Exception */ - protected function addTestMethod(ReflectionClass $class, ReflectionMethod $method): void + protected function addTestMethod(ReflectionClass $class, ReflectionMethod $method, array $groups): void { $className = $class->getName(); $methodName = $method->getName(); @@ -474,7 +473,7 @@ class TestSuite implements IteratorAggregate, Reorderable, SelfDescribing, Test assert(!empty($methodName)); try { - $test = (new TestBuilder)->build($class, $methodName); + $test = (new TestBuilder)->build($class, $methodName, $groups); } catch (InvalidDataProviderException $e) { Event\Facade::emitter()->testTriggeredPhpunitError( new TestMethod( @@ -508,7 +507,10 @@ class TestSuite implements IteratorAggregate, Reorderable, SelfDescribing, Test $this->addTest( $test, - (new Groups)->groups($class->getName(), $methodName), + array_merge( + $groups, + (new Groups)->groups($class->getName(), $methodName), + ), ); } diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/EventLogger.php b/Sources/vendor/phpunit/phpunit/src/Logging/EventLogger.php index 559fb5ec..4f6ae06a 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/EventLogger.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/EventLogger.php @@ -12,9 +12,9 @@ namespace PHPUnit\Logging; use const FILE_APPEND; use const LOCK_EX; use const PHP_EOL; -use function explode; use function file_put_contents; use function implode; +use function preg_split; use function str_repeat; use function strlen; use PHPUnit\Event\Event; @@ -23,10 +23,10 @@ use PHPUnit\Event\Tracer\Tracer; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class EventLogger implements Tracer +final readonly class EventLogger implements Tracer { - private readonly string $path; - private readonly bool $includeTelemetryInfo; + private string $path; + private bool $includeTelemetryInfo; public function __construct(string $path, bool $includeTelemetryInfo) { @@ -38,7 +38,7 @@ final class EventLogger implements Tracer { $telemetryInfo = $this->telemetryInfo($event); $indentation = PHP_EOL . str_repeat(' ', strlen($telemetryInfo)); - $lines = explode(PHP_EOL, $event->asString()); + $lines = preg_split('/\r\n|\r|\n/', $event->asString()); file_put_contents( $this->path, diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/Subscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/Subscriber.php index c3a7c624..c89924d1 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/Subscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/Subscriber.php @@ -12,9 +12,9 @@ namespace PHPUnit\Logging\JUnit; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -abstract class Subscriber +abstract readonly class Subscriber { - private readonly JunitXmlLogger $logger; + private JunitXmlLogger $logger; public function __construct(JunitXmlLogger $logger) { diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestErroredSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestErroredSubscriber.php index b790d8ab..89f0e7b7 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestErroredSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestErroredSubscriber.php @@ -16,7 +16,7 @@ use PHPUnit\Event\Test\ErroredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestErroredSubscriber extends Subscriber implements ErroredSubscriber +final readonly class TestErroredSubscriber extends Subscriber implements ErroredSubscriber { /** * @throws InvalidArgumentException diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestFailedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestFailedSubscriber.php index 0c99b913..dfc25688 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestFailedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestFailedSubscriber.php @@ -16,7 +16,7 @@ use PHPUnit\Event\Test\FailedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestFailedSubscriber extends Subscriber implements FailedSubscriber +final readonly class TestFailedSubscriber extends Subscriber implements FailedSubscriber { /** * @throws InvalidArgumentException diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestFinishedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestFinishedSubscriber.php index bb69ee21..dc16aec9 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestFinishedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestFinishedSubscriber.php @@ -16,7 +16,7 @@ use PHPUnit\Event\Test\FinishedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestFinishedSubscriber extends Subscriber implements FinishedSubscriber +final readonly class TestFinishedSubscriber extends Subscriber implements FinishedSubscriber { /** * @throws InvalidArgumentException diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestMarkedIncompleteSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestMarkedIncompleteSubscriber.php index 84b16ef7..5103409d 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestMarkedIncompleteSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestMarkedIncompleteSubscriber.php @@ -16,7 +16,7 @@ use PHPUnit\Event\Test\MarkedIncompleteSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestMarkedIncompleteSubscriber extends Subscriber implements MarkedIncompleteSubscriber +final readonly class TestMarkedIncompleteSubscriber extends Subscriber implements MarkedIncompleteSubscriber { /** * @throws InvalidArgumentException diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPreparationFailedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPreparationFailedSubscriber.php index 11617225..82c9f60b 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPreparationFailedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPreparationFailedSubscriber.php @@ -16,7 +16,7 @@ use PHPUnit\Event\Test\PreparationFailedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestPreparationFailedSubscriber extends Subscriber implements PreparationFailedSubscriber +final readonly class TestPreparationFailedSubscriber extends Subscriber implements PreparationFailedSubscriber { /** * @throws InvalidArgumentException diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPreparationStartedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPreparationStartedSubscriber.php index f2c4a908..39949ac9 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPreparationStartedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPreparationStartedSubscriber.php @@ -16,7 +16,7 @@ use PHPUnit\Event\Test\PreparationStartedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestPreparationStartedSubscriber extends Subscriber implements PreparationStartedSubscriber +final readonly class TestPreparationStartedSubscriber extends Subscriber implements PreparationStartedSubscriber { /** * @throws InvalidArgumentException diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPreparedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPreparedSubscriber.php index 90b3a0c2..25237b7a 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPreparedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPreparedSubscriber.php @@ -16,7 +16,7 @@ use PHPUnit\Event\Test\PreparedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestPreparedSubscriber extends Subscriber implements PreparedSubscriber +final readonly class TestPreparedSubscriber extends Subscriber implements PreparedSubscriber { /** * @throws InvalidArgumentException diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestRunnerExecutionFinishedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestRunnerExecutionFinishedSubscriber.php index 148ff237..685759bf 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestRunnerExecutionFinishedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestRunnerExecutionFinishedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\TestRunner\ExecutionFinishedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestRunnerExecutionFinishedSubscriber extends Subscriber implements ExecutionFinishedSubscriber +final readonly class TestRunnerExecutionFinishedSubscriber extends Subscriber implements ExecutionFinishedSubscriber { public function notify(ExecutionFinished $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestSkippedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestSkippedSubscriber.php index 6b275073..dc1ab0a1 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestSkippedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestSkippedSubscriber.php @@ -16,7 +16,7 @@ use PHPUnit\Event\Test\SkippedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestSkippedSubscriber extends Subscriber implements SkippedSubscriber +final readonly class TestSkippedSubscriber extends Subscriber implements SkippedSubscriber { /** * @throws InvalidArgumentException diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestSuiteFinishedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestSuiteFinishedSubscriber.php index 26e1981f..28a78145 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestSuiteFinishedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestSuiteFinishedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\TestSuite\FinishedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestSuiteFinishedSubscriber extends Subscriber implements FinishedSubscriber +final readonly class TestSuiteFinishedSubscriber extends Subscriber implements FinishedSubscriber { public function notify(Finished $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestSuiteStartedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestSuiteStartedSubscriber.php index dfec98b4..02ea47d1 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestSuiteStartedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestSuiteStartedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\TestSuite\StartedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestSuiteStartedSubscriber extends Subscriber implements StartedSubscriber +final readonly class TestSuiteStartedSubscriber extends Subscriber implements StartedSubscriber { public function notify(Started $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/Subscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/Subscriber.php index a2428962..2bc4492b 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/Subscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/Subscriber.php @@ -12,9 +12,9 @@ namespace PHPUnit\Logging\TeamCity; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -abstract class Subscriber +abstract readonly class Subscriber { - private readonly TeamCityLogger $logger; + private TeamCityLogger $logger; public function __construct(TeamCityLogger $logger) { diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestConsideredRiskySubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestConsideredRiskySubscriber.php index 431d1b28..4c159233 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestConsideredRiskySubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestConsideredRiskySubscriber.php @@ -16,7 +16,7 @@ use PHPUnit\Event\Test\ConsideredRiskySubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestConsideredRiskySubscriber extends Subscriber implements ConsideredRiskySubscriber +final readonly class TestConsideredRiskySubscriber extends Subscriber implements ConsideredRiskySubscriber { /** * @throws InvalidArgumentException diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestErroredSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestErroredSubscriber.php index 318534a4..7355ed9e 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestErroredSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestErroredSubscriber.php @@ -16,7 +16,7 @@ use PHPUnit\Event\Test\ErroredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestErroredSubscriber extends Subscriber implements ErroredSubscriber +final readonly class TestErroredSubscriber extends Subscriber implements ErroredSubscriber { /** * @throws InvalidArgumentException diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestFailedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestFailedSubscriber.php index 1ada154a..98048507 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestFailedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestFailedSubscriber.php @@ -16,7 +16,7 @@ use PHPUnit\Event\Test\FailedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestFailedSubscriber extends Subscriber implements FailedSubscriber +final readonly class TestFailedSubscriber extends Subscriber implements FailedSubscriber { /** * @throws InvalidArgumentException diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestFinishedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestFinishedSubscriber.php index 22ba518f..f8607007 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestFinishedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestFinishedSubscriber.php @@ -16,7 +16,7 @@ use PHPUnit\Event\Test\FinishedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestFinishedSubscriber extends Subscriber implements FinishedSubscriber +final readonly class TestFinishedSubscriber extends Subscriber implements FinishedSubscriber { /** * @throws InvalidArgumentException diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestMarkedIncompleteSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestMarkedIncompleteSubscriber.php index c3505f16..51da7923 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestMarkedIncompleteSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestMarkedIncompleteSubscriber.php @@ -16,7 +16,7 @@ use PHPUnit\Event\Test\MarkedIncompleteSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestMarkedIncompleteSubscriber extends Subscriber implements MarkedIncompleteSubscriber +final readonly class TestMarkedIncompleteSubscriber extends Subscriber implements MarkedIncompleteSubscriber { /** * @throws InvalidArgumentException diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestPreparedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestPreparedSubscriber.php index c1bb537e..bba23d78 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestPreparedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestPreparedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\PreparedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestPreparedSubscriber extends Subscriber implements PreparedSubscriber +final readonly class TestPreparedSubscriber extends Subscriber implements PreparedSubscriber { public function notify(Prepared $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestRunnerExecutionFinishedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestRunnerExecutionFinishedSubscriber.php index ccec88d9..b441e6d7 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestRunnerExecutionFinishedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestRunnerExecutionFinishedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\TestRunner\ExecutionFinishedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestRunnerExecutionFinishedSubscriber extends Subscriber implements ExecutionFinishedSubscriber +final readonly class TestRunnerExecutionFinishedSubscriber extends Subscriber implements ExecutionFinishedSubscriber { public function notify(ExecutionFinished $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSkippedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSkippedSubscriber.php index e6ef6ae9..516386aa 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSkippedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSkippedSubscriber.php @@ -16,7 +16,7 @@ use PHPUnit\Event\Test\SkippedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestSkippedSubscriber extends Subscriber implements SkippedSubscriber +final readonly class TestSkippedSubscriber extends Subscriber implements SkippedSubscriber { /** * @throws InvalidArgumentException diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteFinishedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteFinishedSubscriber.php index d8e73e43..0b0a0a1d 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteFinishedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteFinishedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\TestSuite\FinishedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestSuiteFinishedSubscriber extends Subscriber implements FinishedSubscriber +final readonly class TestSuiteFinishedSubscriber extends Subscriber implements FinishedSubscriber { public function notify(Finished $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteStartedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteStartedSubscriber.php index 2eb76478..d595d422 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteStartedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteStartedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\TestSuite\StartedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestSuiteStartedSubscriber extends Subscriber implements StartedSubscriber +final readonly class TestSuiteStartedSubscriber extends Subscriber implements StartedSubscriber { public function notify(Started $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/HtmlRenderer.php b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/HtmlRenderer.php index fd65a309..ca08bcf5 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/HtmlRenderer.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/HtmlRenderer.php @@ -14,7 +14,7 @@ use function sprintf; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class HtmlRenderer +final readonly class HtmlRenderer { /** * @var string diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/NamePrettifier.php b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/NamePrettifier.php index 4d0485ff..de739a70 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/NamePrettifier.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/NamePrettifier.php @@ -19,18 +19,15 @@ use function class_exists; use function explode; use function gettype; use function implode; -use function in_array; use function is_bool; use function is_float; use function is_int; -use function is_numeric; use function is_object; use function is_scalar; use function method_exists; -use function ord; use function preg_quote; use function preg_replace; -use function range; +use function rtrim; use function sprintf; use function str_contains; use function str_ends_with; @@ -56,7 +53,7 @@ use SebastianBergmann\Exporter\Exporter; final class NamePrettifier { /** - * @psalm-var list + * @psalm-var array */ private static array $strings = []; @@ -110,20 +107,19 @@ final class NamePrettifier return $result; } + // NOTE: this method is on a hot path and very performance sensitive. change with care. public function prettifyTestMethodName(string $name): string { - $buffer = ''; - if ($name === '') { - return $buffer; + return ''; } - $string = (string) preg_replace('#\d+$#', '', $name, -1, $count); + $string = rtrim($name, '0123456789'); - if (in_array($string, self::$strings, true)) { + if (array_key_exists($string, self::$strings)) { $name = $string; - } elseif ($count === 0) { - self::$strings[] = $string; + } elseif ($string === $name) { + self::$strings[$string] = 1; } if (str_starts_with($name, 'test_')) { @@ -133,22 +129,28 @@ final class NamePrettifier } if ($name === '') { - return $buffer; + return ''; } $name[0] = strtoupper($name[0]); - if (str_contains($name, '_')) { - return trim(str_replace('_', ' ', $name)); + $noUnderscore = str_replace('_', ' ', $name); + + if ($noUnderscore !== $name) { + return trim($noUnderscore); } $wasNumeric = false; - foreach (range(0, strlen($name) - 1) as $i) { - if ($i > 0 && ord($name[$i]) >= 65 && ord($name[$i]) <= 90) { + $buffer = ''; + + $len = strlen($name); + + for ($i = 0; $i < $len; $i++) { + if ($i > 0 && $name[$i] >= 'A' && $name[$i] <= 'Z') { $buffer .= ' ' . strtolower($name[$i]); } else { - $isNumeric = is_numeric($name[$i]); + $isNumeric = $name[$i] >= '0' && $name[$i] <= '9'; if (!$wasNumeric && $isNumeric) { $buffer .= ' '; diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/PlainTextRenderer.php b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/PlainTextRenderer.php index 45d0c81d..d379b109 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/PlainTextRenderer.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/PlainTextRenderer.php @@ -14,7 +14,7 @@ use function sprintf; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class PlainTextRenderer +final readonly class PlainTextRenderer { /** * @psalm-param array $tests @@ -50,13 +50,22 @@ final class PlainTextRenderer foreach ($tests as $test) { $prettifiedMethodName = $test->test()->testDox()->prettifiedMethodName(); + $success = true; + + if ($test->status()->isError() || + $test->status()->isFailure() || + $test->status()->isIncomplete() || + $test->status()->isSkipped()) { + $success = false; + } + if (!isset($result[$prettifiedMethodName])) { - $result[$prettifiedMethodName] = $test->status()->isSuccess() ? 'x' : ' '; + $result[$prettifiedMethodName] = $success ? 'x' : ' '; continue; } - if ($test->status()->isSuccess()) { + if ($success) { continue; } diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/Subscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/Subscriber.php index d2779f19..6754302e 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/Subscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/Subscriber.php @@ -12,9 +12,9 @@ namespace PHPUnit\Logging\TestDox; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -abstract class Subscriber +abstract readonly class Subscriber { - private readonly TestResultCollector $collector; + private TestResultCollector $collector; public function __construct(TestResultCollector $collector) { diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestConsideredRiskySubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestConsideredRiskySubscriber.php index 5bfcceda..a1dcc2c5 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestConsideredRiskySubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestConsideredRiskySubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\ConsideredRiskySubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestConsideredRiskySubscriber extends Subscriber implements ConsideredRiskySubscriber +final readonly class TestConsideredRiskySubscriber extends Subscriber implements ConsideredRiskySubscriber { public function notify(ConsideredRisky $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestErroredSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestErroredSubscriber.php index 3a24981d..ddc41a8e 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestErroredSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestErroredSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\ErroredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestErroredSubscriber extends Subscriber implements ErroredSubscriber +final readonly class TestErroredSubscriber extends Subscriber implements ErroredSubscriber { public function notify(Errored $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestFailedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestFailedSubscriber.php index a5647f95..e696c5f0 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestFailedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestFailedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\FailedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestFailedSubscriber extends Subscriber implements FailedSubscriber +final readonly class TestFailedSubscriber extends Subscriber implements FailedSubscriber { public function notify(Failed $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestFinishedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestFinishedSubscriber.php index c7dbdc15..04b5c668 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestFinishedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestFinishedSubscriber.php @@ -16,7 +16,7 @@ use PHPUnit\Event\Test\FinishedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestFinishedSubscriber extends Subscriber implements FinishedSubscriber +final readonly class TestFinishedSubscriber extends Subscriber implements FinishedSubscriber { /** * @throws InvalidArgumentException diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestMarkedIncompleteSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestMarkedIncompleteSubscriber.php index 1846712e..36e85412 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestMarkedIncompleteSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestMarkedIncompleteSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\MarkedIncompleteSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestMarkedIncompleteSubscriber extends Subscriber implements MarkedIncompleteSubscriber +final readonly class TestMarkedIncompleteSubscriber extends Subscriber implements MarkedIncompleteSubscriber { public function notify(MarkedIncomplete $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestPassedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestPassedSubscriber.php index df39fca5..c04660e0 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestPassedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestPassedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\PassedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestPassedSubscriber extends Subscriber implements PassedSubscriber +final readonly class TestPassedSubscriber extends Subscriber implements PassedSubscriber { public function notify(Passed $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestPreparedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestPreparedSubscriber.php index c21e8c17..6deb540f 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestPreparedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestPreparedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\PreparedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestPreparedSubscriber extends Subscriber implements PreparedSubscriber +final readonly class TestPreparedSubscriber extends Subscriber implements PreparedSubscriber { public function notify(Prepared $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestSkippedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestSkippedSubscriber.php index 5f291ab3..83609bfb 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestSkippedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestSkippedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\SkippedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestSkippedSubscriber extends Subscriber implements SkippedSubscriber +final readonly class TestSkippedSubscriber extends Subscriber implements SkippedSubscriber { public function notify(Skipped $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/TestResult.php b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/TestResult.php index 59f325a1..3d41ab17 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/TestResult.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/TestResult.php @@ -18,11 +18,11 @@ use PHPUnit\Framework\TestStatus\TestStatus; * * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestResult +final readonly class TestResult { - private readonly TestMethod $test; - private readonly TestStatus $status; - private readonly ?Throwable $throwable; + private TestMethod $test; + private TestStatus $status; + private ?Throwable $throwable; public function __construct(TestMethod $test, TestStatus $status, ?Throwable $throwable) { diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/TestResultCollection.php b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/TestResultCollection.php index 98c6f7d5..aedb7d0f 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/TestResultCollection.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/TestResultCollection.php @@ -18,12 +18,12 @@ use IteratorAggregate; * * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestResultCollection implements IteratorAggregate +final readonly class TestResultCollection implements IteratorAggregate { /** * @psalm-var list */ - private readonly array $testResults; + private array $testResults; /** * @psalm-param list $testResults diff --git a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/TestResultCollector.php b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/TestResultCollector.php index 63ba35d4..337a9712 100644 --- a/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/TestResultCollector.php +++ b/Sources/vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/TestResultCollector.php @@ -22,13 +22,22 @@ use PHPUnit\Event\EventFacadeIsSealedException; use PHPUnit\Event\Facade; use PHPUnit\Event\InvalidArgumentException; use PHPUnit\Event\Test\ConsideredRisky; +use PHPUnit\Event\Test\DeprecationTriggered; use PHPUnit\Event\Test\Errored; use PHPUnit\Event\Test\Failed; use PHPUnit\Event\Test\Finished; use PHPUnit\Event\Test\MarkedIncomplete; +use PHPUnit\Event\Test\NoticeTriggered; use PHPUnit\Event\Test\Passed; +use PHPUnit\Event\Test\PhpDeprecationTriggered; +use PHPUnit\Event\Test\PhpNoticeTriggered; +use PHPUnit\Event\Test\PhpunitDeprecationTriggered; +use PHPUnit\Event\Test\PhpunitErrorTriggered; +use PHPUnit\Event\Test\PhpunitWarningTriggered; +use PHPUnit\Event\Test\PhpWarningTriggered; use PHPUnit\Event\Test\Prepared; use PHPUnit\Event\Test\Skipped; +use PHPUnit\Event\Test\WarningTriggered; use PHPUnit\Event\UnknownSubscriberTypeException; use PHPUnit\Framework\TestStatus\TestStatus; use PHPUnit\Logging\TestDox\TestResult as TestDoxTestMethod; @@ -45,6 +54,7 @@ final class TestResultCollector private array $tests = []; private ?TestStatus $status = null; private ?Throwable $throwable = null; + private bool $prepared = false; /** * @throws EventFacadeIsSealedException @@ -127,6 +137,7 @@ final class TestResultCollector $this->status = TestStatus::unknown(); $this->throwable = null; + $this->prepared = true; } public function testErrored(Errored $event): void @@ -137,6 +148,14 @@ final class TestResultCollector $this->status = TestStatus::error($event->throwable()->message()); $this->throwable = $event->throwable(); + + if (!$this->prepared) { + $test = $event->test(); + + assert($test instanceof TestMethod); + + $this->process($test); + } } public function testFailed(Failed $event): void @@ -155,23 +174,117 @@ final class TestResultCollector return; } - $this->status = TestStatus::success(); + $this->updateTestStatus(TestStatus::success()); } public function testSkipped(Skipped $event): void { - $this->status = TestStatus::skipped($event->message()); + if (!$event->test()->isTestMethod()) { + return; + } + + $this->updateTestStatus(TestStatus::skipped($event->message())); } public function testMarkedIncomplete(MarkedIncomplete $event): void { - $this->status = TestStatus::incomplete($event->throwable()->message()); + if (!$event->test()->isTestMethod()) { + return; + } + + $this->updateTestStatus(TestStatus::incomplete($event->throwable()->message())); + $this->throwable = $event->throwable(); } public function testConsideredRisky(ConsideredRisky $event): void { - $this->status = TestStatus::risky($event->message()); + if (!$event->test()->isTestMethod()) { + return; + } + + $this->updateTestStatus(TestStatus::risky()); + } + + public function testTriggeredDeprecation(DeprecationTriggered $event): void + { + if (!$event->test()->isTestMethod()) { + return; + } + + $this->updateTestStatus(TestStatus::deprecation()); + } + + public function testTriggeredNotice(NoticeTriggered $event): void + { + if (!$event->test()->isTestMethod()) { + return; + } + + $this->updateTestStatus(TestStatus::notice()); + } + + public function testTriggeredWarning(WarningTriggered $event): void + { + if (!$event->test()->isTestMethod()) { + return; + } + + $this->updateTestStatus(TestStatus::warning()); + } + + public function testTriggeredPhpDeprecation(PhpDeprecationTriggered $event): void + { + if (!$event->test()->isTestMethod()) { + return; + } + + $this->updateTestStatus(TestStatus::deprecation()); + } + + public function testTriggeredPhpNotice(PhpNoticeTriggered $event): void + { + if (!$event->test()->isTestMethod()) { + return; + } + + $this->updateTestStatus(TestStatus::notice()); + } + + public function testTriggeredPhpWarning(PhpWarningTriggered $event): void + { + if (!$event->test()->isTestMethod()) { + return; + } + + $this->updateTestStatus(TestStatus::warning()); + } + + public function testTriggeredPhpunitDeprecation(PhpunitDeprecationTriggered $event): void + { + if (!$event->test()->isTestMethod()) { + return; + } + + $this->updateTestStatus(TestStatus::deprecation()); + } + + public function testTriggeredPhpunitError(PhpunitErrorTriggered $event): void + { + if (!$event->test()->isTestMethod()) { + return; + } + + $this->updateTestStatus(TestStatus::error()); + } + + public function testTriggeredPhpunitWarning(PhpunitWarningTriggered $event): void + { + if (!$event->test()->isTestMethod()) { + return; + } + + $this->updateTestStatus(TestStatus::warning()); } /** @@ -187,18 +300,11 @@ final class TestResultCollector assert($test instanceof TestMethod); - if (!isset($this->tests[$test->testDox()->prettifiedClassName()])) { - $this->tests[$test->testDox()->prettifiedClassName()] = []; - } - - $this->tests[$test->testDox()->prettifiedClassName()][] = new TestDoxTestMethod( - $test, - $this->status, - $this->throwable, - ); + $this->process($test); $this->status = null; $this->throwable = null; + $this->prepared = false; } /** @@ -216,6 +322,38 @@ final class TestResultCollector new TestPassedSubscriber($this), new TestPreparedSubscriber($this), new TestSkippedSubscriber($this), + new TestTriggeredDeprecationSubscriber($this), + new TestTriggeredNoticeSubscriber($this), + new TestTriggeredPhpDeprecationSubscriber($this), + new TestTriggeredPhpNoticeSubscriber($this), + new TestTriggeredPhpunitDeprecationSubscriber($this), + new TestTriggeredPhpunitErrorSubscriber($this), + new TestTriggeredPhpunitWarningSubscriber($this), + new TestTriggeredPhpWarningSubscriber($this), + new TestTriggeredWarningSubscriber($this), + ); + } + + private function updateTestStatus(TestStatus $status): void + { + if ($this->status !== null && + $this->status->isMoreImportantThan($status)) { + return; + } + + $this->status = $status; + } + + private function process(TestMethod $test): void + { + if (!isset($this->tests[$test->testDox()->prettifiedClassName()])) { + $this->tests[$test->testDox()->prettifiedClassName()] = []; + } + + $this->tests[$test->testDox()->prettifiedClassName()][] = new TestDoxTestMethod( + $test, + $this->status, + $this->throwable, ); } } diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/After.php b/Sources/vendor/phpunit/phpunit/src/Metadata/After.php index 87900590..677d6457 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/After.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/After.php @@ -14,7 +14,7 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class After extends Metadata +final readonly class After extends Metadata { /** * @psalm-assert-if-true After $this diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/AfterClass.php b/Sources/vendor/phpunit/phpunit/src/Metadata/AfterClass.php index 16bb5cc0..87a0c3ff 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/AfterClass.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/AfterClass.php @@ -14,7 +14,7 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class AfterClass extends Metadata +final readonly class AfterClass extends Metadata { /** * @psalm-assert-if-true AfterClass $this diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/Api/CodeCoverage.php b/Sources/vendor/phpunit/phpunit/src/Metadata/Api/CodeCoverage.php index b2a1f950..64dde338 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/Api/CodeCoverage.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/Api/CodeCoverage.php @@ -9,8 +9,6 @@ */ namespace PHPUnit\Metadata\Api; -use function array_unique; -use function array_values; use function assert; use function count; use function interface_exists; @@ -18,28 +16,24 @@ use function sprintf; use function str_starts_with; use PHPUnit\Framework\CodeCoverageException; use PHPUnit\Framework\InvalidCoversTargetException; -use PHPUnit\Framework\TestSuite; use PHPUnit\Metadata\Covers; use PHPUnit\Metadata\CoversClass; use PHPUnit\Metadata\CoversDefaultClass; use PHPUnit\Metadata\CoversFunction; -use PHPUnit\Metadata\IgnoreClassForCodeCoverage; -use PHPUnit\Metadata\IgnoreFunctionForCodeCoverage; -use PHPUnit\Metadata\IgnoreMethodForCodeCoverage; use PHPUnit\Metadata\Parser\Registry; use PHPUnit\Metadata\Uses; use PHPUnit\Metadata\UsesClass; use PHPUnit\Metadata\UsesDefaultClass; use PHPUnit\Metadata\UsesFunction; -use RecursiveIteratorIterator; use SebastianBergmann\CodeUnit\CodeUnitCollection; +use SebastianBergmann\CodeUnit\Exception as CodeUnitException; use SebastianBergmann\CodeUnit\InvalidCodeUnitException; use SebastianBergmann\CodeUnit\Mapper; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class CodeCoverage +final readonly class CodeCoverage { /** * @psalm-param class-string $className @@ -79,30 +73,14 @@ final class CodeCoverage $mapper = new Mapper; foreach (Registry::parser()->forClassAndMethod($className, $methodName) as $metadata) { - if ($metadata->isCoversClass() || $metadata->isCoversFunction()) { - assert($metadata instanceof CoversClass || $metadata instanceof CoversFunction); + if (!$metadata->isCoversClass() && !$metadata->isCoversFunction() && !$metadata->isCovers()) { + continue; + } - try { - $codeUnits = $codeUnits->mergeWith( - $mapper->stringToCodeUnits($metadata->asStringForCodeUnitMapper()), - ); - } catch (InvalidCodeUnitException $e) { - if ($metadata->isCoversClass()) { - $type = 'Class'; - } else { - $type = 'Function'; - } + assert($metadata instanceof CoversClass || $metadata instanceof CoversFunction || $metadata instanceof Covers); - throw new InvalidCoversTargetException( - sprintf( - '%s "%s" is not a valid target for code coverage', - $type, - $metadata->asStringForCodeUnitMapper(), - ), - $e->getCode(), - $e, - ); - } + if ($metadata->isCoversClass() || $metadata->isCoversFunction()) { + $codeUnits = $codeUnits->mergeWith($this->mapToCodeUnits($metadata)); } elseif ($metadata->isCovers()) { assert($metadata instanceof Covers); @@ -173,30 +151,14 @@ final class CodeCoverage $mapper = new Mapper; foreach (Registry::parser()->forClassAndMethod($className, $methodName) as $metadata) { - if ($metadata->isUsesClass() || $metadata->isUsesFunction()) { - assert($metadata instanceof UsesClass || $metadata instanceof UsesFunction); + if (!$metadata->isUsesClass() && !$metadata->isUsesFunction() && !$metadata->isUses()) { + continue; + } - try { - $codeUnits = $codeUnits->mergeWith( - $mapper->stringToCodeUnits($metadata->asStringForCodeUnitMapper()), - ); - } catch (InvalidCodeUnitException $e) { - if ($metadata->isUsesClass()) { - $type = 'Class'; - } else { - $type = 'Function'; - } + assert($metadata instanceof UsesClass || $metadata instanceof UsesFunction || $metadata instanceof Uses); - throw new InvalidCoversTargetException( - sprintf( - '%s "%s" is not a valid target for code coverage', - $type, - $metadata->asStringForCodeUnitMapper(), - ), - $e->getCode(), - $e, - ); - } + if ($metadata->isUsesClass() || $metadata->isUsesFunction()) { + $codeUnits = $codeUnits->mergeWith($this->mapToCodeUnits($metadata)); } elseif ($metadata->isUses()) { assert($metadata instanceof Uses); @@ -224,23 +186,6 @@ final class CodeCoverage return $mapper->codeUnitsToSourceLines($codeUnits); } - /** - * @psalm-return array> - */ - public function linesToBeIgnored(TestSuite $testSuite): array - { - $codeUnits = CodeUnitCollection::fromList(); - $mapper = new Mapper; - - foreach ($this->testCaseClassesIn($testSuite) as $testCaseClassName) { - $codeUnits = $codeUnits->mergeWith( - $this->codeUnitsIgnoredBy($testCaseClassName), - ); - } - - return $mapper->codeUnitsToSourceLines($codeUnits); - } - /** * @psalm-param class-string $className * @psalm-param non-empty-string $methodName @@ -268,47 +213,34 @@ final class CodeCoverage } /** - * @psalm-return list - */ - private function testCaseClassesIn(TestSuite $testSuite): array - { - $classNames = []; - - foreach (new RecursiveIteratorIterator($testSuite) as $test) { - $classNames[] = $test::class; - } - - return array_values(array_unique($classNames)); - } - - /** - * @psalm-param class-string $className + * @throws InvalidCoversTargetException */ - private function codeUnitsIgnoredBy(string $className): CodeUnitCollection + private function mapToCodeUnits(CoversClass|CoversFunction|UsesClass|UsesFunction $metadata): CodeUnitCollection { - $codeUnits = CodeUnitCollection::fromList(); - $mapper = new Mapper; - - foreach (Registry::parser()->forClass($className) as $metadata) { - if ($metadata instanceof IgnoreClassForCodeCoverage) { - $codeUnits = $codeUnits->mergeWith( - $mapper->stringToCodeUnits($metadata->className()), - ); - } - - if ($metadata instanceof IgnoreMethodForCodeCoverage) { - $codeUnits = $codeUnits->mergeWith( - $mapper->stringToCodeUnits($metadata->className() . '::' . $metadata->methodName()), - ); + $mapper = new Mapper; + + try { + return $mapper->stringToCodeUnits($metadata->asStringForCodeUnitMapper()); + } catch (CodeUnitException $e) { + if ($metadata->isCoversClass() || $metadata->isUsesClass()) { + if (interface_exists($metadata->className())) { + $type = 'Interface'; + } else { + $type = 'Class'; + } + } else { + $type = 'Function'; } - if ($metadata instanceof IgnoreFunctionForCodeCoverage) { - $codeUnits = $codeUnits->mergeWith( - $mapper->stringToCodeUnits('::' . $metadata->functionName()), - ); - } + throw new InvalidCoversTargetException( + sprintf( + '%s "%s" is not a valid target for code coverage', + $type, + $metadata->asStringForCodeUnitMapper(), + ), + $e->getCode(), + $e, + ); } - - return $codeUnits; } } diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/Api/DataProvider.php b/Sources/vendor/phpunit/phpunit/src/Metadata/Api/DataProvider.php index 2774f63b..219b8c7c 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/Api/DataProvider.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/Api/DataProvider.php @@ -27,15 +27,11 @@ use function strlen; use function substr; use function trim; use PHPUnit\Event; -use PHPUnit\Event\Code\TestMethod; -use PHPUnit\Event\TestData\MoreThanOneDataSetFromDataProviderException; -use PHPUnit\Event\TestData\TestDataCollection; use PHPUnit\Framework\InvalidDataProviderException; use PHPUnit\Metadata\DataProvider as DataProviderMetadata; use PHPUnit\Metadata\MetadataCollection; use PHPUnit\Metadata\Parser\Registry as MetadataRegistry; use PHPUnit\Metadata\TestWith; -use PHPUnit\Util\Reflection; use ReflectionClass; use ReflectionMethod; use Throwable; @@ -44,7 +40,7 @@ use Traversable; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class DataProvider +final readonly class DataProvider { /** * @psalm-param class-string $className @@ -117,11 +113,7 @@ final class DataProvider $object = null; if (!$method->isPublic()) { - Event\Facade::emitter()->testTriggeredPhpunitDeprecation( - $this->valueObjectForTestMethodWithoutTestData( - $className, - $methodName, - ), + throw new InvalidDataProviderException( sprintf( 'Data Provider method %s::%s() is not public', $_dataProvider->className(), @@ -131,38 +123,26 @@ final class DataProvider } if (!$method->isStatic()) { - Event\Facade::emitter()->testTriggeredPhpunitDeprecation( - $this->valueObjectForTestMethodWithoutTestData( - $className, - $methodName, - ), + throw new InvalidDataProviderException( sprintf( 'Data Provider method %s::%s() is not static', $_dataProvider->className(), $_dataProvider->methodName(), ), ); - - $object = $class->newInstanceWithoutConstructor(); } - if ($method->getNumberOfParameters() === 0) { - $data = $method->invoke($object); - } else { - Event\Facade::emitter()->testTriggeredPhpunitDeprecation( - $this->valueObjectForTestMethodWithoutTestData( - $className, - $methodName, - ), + if ($method->getNumberOfParameters() > 0) { + throw new InvalidDataProviderException( sprintf( 'Data Provider method %s::%s() expects an argument', $_dataProvider->className(), $_dataProvider->methodName(), ), ); - - $data = $method->invoke($object, $_dataProvider->methodName()); } + + $data = $method->invoke($object); } catch (Throwable $e) { Event\Facade::emitter()->dataProviderMethodFinished( $testMethod, @@ -221,7 +201,22 @@ final class DataProvider foreach ($testWith as $_testWith) { assert($_testWith instanceof TestWith); - $result[] = $_testWith->data(); + if ($_testWith->hasName()) { + $key = $_testWith->name(); + + if (array_key_exists($key, $result)) { + throw new InvalidDataProviderException( + sprintf( + 'The key "%s" has already been defined by a previous TestWith attribute', + $key, + ), + ); + } + + $result[$key] = $_testWith->data(); + } else { + $result[] = $_testWith->data(); + } } return $result; @@ -236,7 +231,7 @@ final class DataProvider { $docComment = (new ReflectionMethod($className, $methodName))->getDocComment(); - if (!$docComment) { + if ($docComment === false) { return null; } @@ -279,31 +274,4 @@ final class DataProvider return $data; } - - /** - * @psalm-param class-string $className - * @psalm-param non-empty-string $methodName - * - * @throws MoreThanOneDataSetFromDataProviderException - */ - private function valueObjectForTestMethodWithoutTestData(string $className, string $methodName): TestMethod - { - $location = Reflection::sourceLocationFor($className, $methodName); - - return new TestMethod( - $className, - $methodName, - $location['file'], - $location['line'], - Event\Code\TestDoxBuilder::fromClassNameAndMethodName( - $className, - $methodName, - ), - MetadataRegistry::parser()->forClassAndMethod( - $className, - $methodName, - ), - TestDataCollection::fromArray([]), - ); - } } diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/Api/Dependencies.php b/Sources/vendor/phpunit/phpunit/src/Metadata/Api/Dependencies.php index cda6e099..94edee72 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/Api/Dependencies.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/Api/Dependencies.php @@ -18,7 +18,7 @@ use PHPUnit\Metadata\Parser\Registry; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Dependencies +final readonly class Dependencies { /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/Api/Groups.php b/Sources/vendor/phpunit/phpunit/src/Metadata/Api/Groups.php index 73341851..5c78cbdc 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/Api/Groups.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/Api/Groups.php @@ -10,6 +10,7 @@ namespace PHPUnit\Metadata\Api; use function array_flip; +use function array_key_exists; use function array_unique; use function assert; use function strtolower; @@ -29,14 +30,25 @@ use PHPUnit\Metadata\UsesFunction; */ final class Groups { + /** + * @var array> + */ + private static array $groupCache = []; + /** * @psalm-param class-string $className * @psalm-param non-empty-string $methodName * - * @psalm-return list + * @psalm-return array */ public function groups(string $className, string $methodName, bool $includeVirtual = true): array { + $key = $className . '::' . $methodName . '::' . $includeVirtual; + + if (array_key_exists($key, self::$groupCache)) { + return self::$groupCache[$key]; + } + $groups = []; foreach (Registry::parser()->forClassAndMethod($className, $methodName)->isGroup() as $group) { @@ -50,7 +62,7 @@ final class Groups } if (!$includeVirtual) { - return array_unique($groups); + return self::$groupCache[$key] = array_unique($groups); } foreach (Registry::parser()->forClassAndMethod($className, $methodName) as $metadata) { @@ -85,7 +97,7 @@ final class Groups } } - return array_unique($groups); + return self::$groupCache[$key] = array_unique($groups); } /** diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/Api/Requirements.php b/Sources/vendor/phpunit/phpunit/src/Metadata/Api/Requirements.php index 70688a11..0d4a8791 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/Api/Requirements.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/Api/Requirements.php @@ -35,7 +35,7 @@ use PHPUnit\Runner\Version; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Requirements +final readonly class Requirements { /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/BackupGlobals.php b/Sources/vendor/phpunit/phpunit/src/Metadata/BackupGlobals.php index b6c485c8..6bf2fe98 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/BackupGlobals.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/BackupGlobals.php @@ -14,9 +14,9 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class BackupGlobals extends Metadata +final readonly class BackupGlobals extends Metadata { - private readonly bool $enabled; + private bool $enabled; /** * @psalm-param 0|1 $level diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/BackupStaticProperties.php b/Sources/vendor/phpunit/phpunit/src/Metadata/BackupStaticProperties.php index 30cb9c4d..f8d7be52 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/BackupStaticProperties.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/BackupStaticProperties.php @@ -14,9 +14,9 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class BackupStaticProperties extends Metadata +final readonly class BackupStaticProperties extends Metadata { - private readonly bool $enabled; + private bool $enabled; /** * @psalm-param 0|1 $level diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/Before.php b/Sources/vendor/phpunit/phpunit/src/Metadata/Before.php index 08a72b47..ae656f30 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/Before.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/Before.php @@ -14,7 +14,7 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Before extends Metadata +final readonly class Before extends Metadata { /** * @psalm-assert-if-true Before $this diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/BeforeClass.php b/Sources/vendor/phpunit/phpunit/src/Metadata/BeforeClass.php index 9ae35e51..25ecfd32 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/BeforeClass.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/BeforeClass.php @@ -14,7 +14,7 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class BeforeClass extends Metadata +final readonly class BeforeClass extends Metadata { /** * @psalm-assert-if-true BeforeClass $this diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/Covers.php b/Sources/vendor/phpunit/phpunit/src/Metadata/Covers.php index b4c72345..71a9b473 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/Covers.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/Covers.php @@ -14,12 +14,12 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Covers extends Metadata +final readonly class Covers extends Metadata { /** * @psalm-var non-empty-string */ - private readonly string $target; + private string $target; /** * @psalm-param 0|1 $level diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/CoversClass.php b/Sources/vendor/phpunit/phpunit/src/Metadata/CoversClass.php index 22889adf..70b62827 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/CoversClass.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/CoversClass.php @@ -14,12 +14,12 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class CoversClass extends Metadata +final readonly class CoversClass extends Metadata { /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-param 0|1 $level diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/CoversDefaultClass.php b/Sources/vendor/phpunit/phpunit/src/Metadata/CoversDefaultClass.php index 3f7b57c4..0afa4e1c 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/CoversDefaultClass.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/CoversDefaultClass.php @@ -14,12 +14,12 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class CoversDefaultClass extends Metadata +final readonly class CoversDefaultClass extends Metadata { /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-param 0|1 $level diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/CoversFunction.php b/Sources/vendor/phpunit/phpunit/src/Metadata/CoversFunction.php index ee9f858e..974a978f 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/CoversFunction.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/CoversFunction.php @@ -14,12 +14,12 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class CoversFunction extends Metadata +final readonly class CoversFunction extends Metadata { /** * @psalm-var non-empty-string */ - private readonly string $functionName; + private string $functionName; /** * @psalm-param 0|1 $level diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/CoversNothing.php b/Sources/vendor/phpunit/phpunit/src/Metadata/CoversNothing.php index 4703964e..e2a33e52 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/CoversNothing.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/CoversNothing.php @@ -14,7 +14,7 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class CoversNothing extends Metadata +final readonly class CoversNothing extends Metadata { /** * @psalm-assert-if-true CoversNothing $this diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/DataProvider.php b/Sources/vendor/phpunit/phpunit/src/Metadata/DataProvider.php index d1a0bfd5..5f6aba17 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/DataProvider.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/DataProvider.php @@ -14,17 +14,17 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class DataProvider extends Metadata +final readonly class DataProvider extends Metadata { /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-var non-empty-string */ - private readonly string $methodName; + private string $methodName; /** * @psalm-param 0|1 $level diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/DependsOnClass.php b/Sources/vendor/phpunit/phpunit/src/Metadata/DependsOnClass.php index c146afd9..81f2f2b8 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/DependsOnClass.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/DependsOnClass.php @@ -14,14 +14,14 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class DependsOnClass extends Metadata +final readonly class DependsOnClass extends Metadata { /** * @psalm-var class-string */ - private readonly string $className; - private readonly bool $deepClone; - private readonly bool $shallowClone; + private string $className; + private bool $deepClone; + private bool $shallowClone; /** * @psalm-param 0|1 $level diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/DependsOnMethod.php b/Sources/vendor/phpunit/phpunit/src/Metadata/DependsOnMethod.php index 1db27c7b..74c11d48 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/DependsOnMethod.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/DependsOnMethod.php @@ -14,19 +14,19 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class DependsOnMethod extends Metadata +final readonly class DependsOnMethod extends Metadata { /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-var non-empty-string */ - private readonly string $methodName; - private readonly bool $deepClone; - private readonly bool $shallowClone; + private string $methodName; + private bool $deepClone; + private bool $shallowClone; /** * @psalm-param 0|1 $level diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/DoesNotPerformAssertions.php b/Sources/vendor/phpunit/phpunit/src/Metadata/DoesNotPerformAssertions.php index 0e1ac0e7..b7df6886 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/DoesNotPerformAssertions.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/DoesNotPerformAssertions.php @@ -14,7 +14,7 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class DoesNotPerformAssertions extends Metadata +final readonly class DoesNotPerformAssertions extends Metadata { /** * @psalm-assert-if-true DoesNotPerformAssertions $this diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/Exception/AnnotationsAreNotSupportedForInternalClassesException.php b/Sources/vendor/phpunit/phpunit/src/Metadata/Exception/AnnotationsAreNotSupportedForInternalClassesException.php index 5693dfb4..8ef0ba7a 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/Exception/AnnotationsAreNotSupportedForInternalClassesException.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/Exception/AnnotationsAreNotSupportedForInternalClassesException.php @@ -10,12 +10,13 @@ namespace PHPUnit\Metadata; use function sprintf; +use PHPUnit\Exception; use RuntimeException; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class AnnotationsAreNotSupportedForInternalClassesException extends RuntimeException implements \PHPUnit\Exception +final class AnnotationsAreNotSupportedForInternalClassesException extends RuntimeException implements Exception { /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/Exception/ReflectionException.php b/Sources/vendor/phpunit/phpunit/src/Metadata/Exception/ReflectionException.php index 4311e83b..67f26dbb 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/Exception/ReflectionException.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/Exception/ReflectionException.php @@ -9,11 +9,12 @@ */ namespace PHPUnit\Metadata; +use PHPUnit\Exception; use RuntimeException; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class ReflectionException extends RuntimeException implements \PHPUnit\Exception +final class ReflectionException extends RuntimeException implements Exception { } diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/ExcludeGlobalVariableFromBackup.php b/Sources/vendor/phpunit/phpunit/src/Metadata/ExcludeGlobalVariableFromBackup.php index a096d676..98fb71ac 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/ExcludeGlobalVariableFromBackup.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/ExcludeGlobalVariableFromBackup.php @@ -14,12 +14,12 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class ExcludeGlobalVariableFromBackup extends Metadata +final readonly class ExcludeGlobalVariableFromBackup extends Metadata { /** * @psalm-var non-empty-string */ - private readonly string $globalVariableName; + private string $globalVariableName; /** * @psalm-param 0|1 $level diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/ExcludeStaticPropertyFromBackup.php b/Sources/vendor/phpunit/phpunit/src/Metadata/ExcludeStaticPropertyFromBackup.php index 53a3c523..2d0670a3 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/ExcludeStaticPropertyFromBackup.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/ExcludeStaticPropertyFromBackup.php @@ -14,17 +14,17 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class ExcludeStaticPropertyFromBackup extends Metadata +final readonly class ExcludeStaticPropertyFromBackup extends Metadata { /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-var non-empty-string */ - private readonly string $propertyName; + private string $propertyName; /** * @psalm-param 0|1 $level diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/Group.php b/Sources/vendor/phpunit/phpunit/src/Metadata/Group.php index e609d2ed..3908af90 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/Group.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/Group.php @@ -14,12 +14,12 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Group extends Metadata +final readonly class Group extends Metadata { /** * @psalm-var non-empty-string */ - private readonly string $groupName; + private string $groupName; /** * @psalm-param 0|1 $level diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/IgnoreClassForCodeCoverage.php b/Sources/vendor/phpunit/phpunit/src/Metadata/IgnoreClassForCodeCoverage.php deleted file mode 100644 index 5887ccad..00000000 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/IgnoreClassForCodeCoverage.php +++ /dev/null @@ -1,52 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Metadata; - -/** - * @psalm-immutable - * - * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5513 - */ -final class IgnoreClassForCodeCoverage extends Metadata -{ - /** - * @psalm-var class-string - */ - private readonly string $className; - - /** - * @psalm-param 0|1 $level - * @psalm-param class-string $className - */ - protected function __construct(int $level, string $className) - { - parent::__construct($level); - - $this->className = $className; - } - - /** - * @psalm-assert-if-true IgnoreClassForCodeCoverage $this - */ - public function isIgnoreClassForCodeCoverage(): bool - { - return true; - } - - /** - * @psalm-return class-string - */ - public function className(): string - { - return $this->className; - } -} diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/IgnoreDeprecations.php b/Sources/vendor/phpunit/phpunit/src/Metadata/IgnoreDeprecations.php index b84a868c..a83a5dc7 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/IgnoreDeprecations.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/IgnoreDeprecations.php @@ -14,7 +14,7 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class IgnoreDeprecations extends Metadata +final readonly class IgnoreDeprecations extends Metadata { /** * @psalm-assert-if-true IgnoreDeprecations $this diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/IgnoreFunctionForCodeCoverage.php b/Sources/vendor/phpunit/phpunit/src/Metadata/IgnoreFunctionForCodeCoverage.php deleted file mode 100644 index bc4c9b1e..00000000 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/IgnoreFunctionForCodeCoverage.php +++ /dev/null @@ -1,52 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Metadata; - -/** - * @psalm-immutable - * - * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5513 - */ -final class IgnoreFunctionForCodeCoverage extends Metadata -{ - /** - * @psalm-var non-empty-string - */ - private readonly string $functionName; - - /** - * @psalm-param 0|1 $level - * @psalm-param non-empty-string $functionName - */ - protected function __construct(int $level, string $functionName) - { - parent::__construct($level); - - $this->functionName = $functionName; - } - - /** - * @psalm-assert-if-true IgnoreFunctionForCodeCoverage $this - */ - public function isIgnoreFunctionForCodeCoverage(): bool - { - return true; - } - - /** - * @psalm-return non-empty-string - */ - public function functionName(): string - { - return $this->functionName; - } -} diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/IgnoreMethodForCodeCoverage.php b/Sources/vendor/phpunit/phpunit/src/Metadata/IgnoreMethodForCodeCoverage.php deleted file mode 100644 index 398f0310..00000000 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/IgnoreMethodForCodeCoverage.php +++ /dev/null @@ -1,67 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Metadata; - -/** - * @psalm-immutable - * - * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5513 - */ -final class IgnoreMethodForCodeCoverage extends Metadata -{ - /** - * @psalm-var class-string - */ - private readonly string $className; - - /** - * @psalm-var non-empty-string - */ - private readonly string $methodName; - - /** - * @psalm-param 0|1 $level - * @psalm-param class-string $className - * @psalm-param non-empty-string $methodName - */ - protected function __construct(int $level, string $className, string $methodName) - { - parent::__construct($level); - - $this->className = $className; - $this->methodName = $methodName; - } - - /** - * @psalm-assert-if-true IgnoreMethodForCodeCoverage $this - */ - public function isIgnoreMethodForCodeCoverage(): bool - { - return true; - } - - /** - * @psalm-return class-string - */ - public function className(): string - { - return $this->className; - } - - /** - * @psalm-return non-empty-string - */ - public function methodName(): string - { - return $this->methodName; - } -} diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/Metadata.php b/Sources/vendor/phpunit/phpunit/src/Metadata/Metadata.php index 4ac06b15..f8c146a8 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/Metadata.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/Metadata.php @@ -16,7 +16,7 @@ use PHPUnit\Metadata\Version\Requirement; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -abstract class Metadata +abstract readonly class Metadata { private const CLASS_LEVEL = 0; private const METHOD_LEVEL = 1; @@ -24,7 +24,7 @@ abstract class Metadata /** * @psalm-var 0|1 */ - private readonly int $level; + private int $level; public static function after(): After { @@ -213,28 +213,19 @@ abstract class Metadata } /** - * @psalm-param class-string $className - */ - public static function ignoreClassForCodeCoverage(string $className): IgnoreClassForCodeCoverage - { - return new IgnoreClassForCodeCoverage(self::CLASS_LEVEL, $className); - } - - /** - * @psalm-param class-string $className - * @psalm-param non-empty-string $methodName + * @internal This method is not covered by the backward compatibility promise for PHPUnit */ - public static function ignoreMethodForCodeCoverage(string $className, string $methodName): IgnoreMethodForCodeCoverage + public static function ignorePhpunitDeprecationsOnClass(): IgnorePhpunitDeprecations { - return new IgnoreMethodForCodeCoverage(self::CLASS_LEVEL, $className, $methodName); + return new IgnorePhpunitDeprecations(self::CLASS_LEVEL); } /** - * @psalm-param non-empty-string $functionName + * @internal This method is not covered by the backward compatibility promise for PHPUnit */ - public static function ignoreFunctionForCodeCoverage(string $functionName): IgnoreFunctionForCodeCoverage + public static function ignorePhpunitDeprecationsOnMethod(): IgnorePhpunitDeprecations { - return new IgnoreFunctionForCodeCoverage(self::CLASS_LEVEL, $functionName); + return new IgnorePhpunitDeprecations(self::METHOD_LEVEL); } public static function postCondition(): PostCondition @@ -413,9 +404,12 @@ abstract class Metadata return new TestDox(self::METHOD_LEVEL, $text); } - public static function testWith(array $data): TestWith + /** + * @psalm-param ?non-empty-string $name + */ + public static function testWith(array $data, ?string $name = null): TestWith { - return new TestWith(self::METHOD_LEVEL, $data); + return new TestWith(self::METHOD_LEVEL, $data, $name); } /** @@ -634,25 +628,11 @@ abstract class Metadata } /** - * @psalm-assert-if-true IgnoreClassForCodeCoverage $this - */ - public function isIgnoreClassForCodeCoverage(): bool - { - return false; - } - - /** - * @psalm-assert-if-true IgnoreMethodForCodeCoverage $this - */ - public function isIgnoreMethodForCodeCoverage(): bool - { - return false; - } - - /** - * @psalm-assert-if-true IgnoreFunctionForCodeCoverage $this + * @psalm-assert-if-true IgnorePhpunitDeprecations $this + * + * @internal This method is not covered by the backward compatibility promise for PHPUnit */ - public function isIgnoreFunctionForCodeCoverage(): bool + public function isIgnorePhpunitDeprecations(): bool { return false; } diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/MetadataCollection.php b/Sources/vendor/phpunit/phpunit/src/Metadata/MetadataCollection.php index d0b96568..ec39cf83 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/MetadataCollection.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/MetadataCollection.php @@ -22,12 +22,12 @@ use IteratorAggregate; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class MetadataCollection implements Countable, IteratorAggregate +final readonly class MetadataCollection implements Countable, IteratorAggregate { /** * @psalm-var list */ - private readonly array $metadata; + private array $metadata; /** * @psalm-param list $metadata @@ -301,40 +301,14 @@ final class MetadataCollection implements Countable, IteratorAggregate } /** - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5513 + * @internal This method is not covered by the backward compatibility promise for PHPUnit */ - public function isIgnoreClassForCodeCoverage(): self + public function isIgnorePhpunitDeprecations(): self { return new self( ...array_filter( $this->metadata, - static fn (Metadata $metadata): bool => $metadata->isIgnoreClassForCodeCoverage(), - ), - ); - } - - /** - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5513 - */ - public function isIgnoreMethodForCodeCoverage(): self - { - return new self( - ...array_filter( - $this->metadata, - static fn (Metadata $metadata): bool => $metadata->isIgnoreMethodForCodeCoverage(), - ), - ); - } - - /** - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5513 - */ - public function isIgnoreFunctionForCodeCoverage(): self - { - return new self( - ...array_filter( - $this->metadata, - static fn (Metadata $metadata): bool => $metadata->isIgnoreFunctionForCodeCoverage(), + static fn (Metadata $metadata): bool => $metadata->isIgnorePhpunitDeprecations(), ), ); } diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/Parser/Annotation/Registry.php b/Sources/vendor/phpunit/phpunit/src/Metadata/Parser/Annotation/Registry.php index 53a69dae..e41e7428 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/Parser/Annotation/Registry.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/Parser/Annotation/Registry.php @@ -40,10 +40,6 @@ final class Registry return self::$instance ?? self::$instance = new self; } - private function __construct() - { - } - /** * @psalm-param class-string $class * diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/Parser/AnnotationParser.php b/Sources/vendor/phpunit/phpunit/src/Metadata/Parser/AnnotationParser.php index 4d560ea8..040b8a8a 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/Parser/AnnotationParser.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/Parser/AnnotationParser.php @@ -16,11 +16,13 @@ use function explode; use function method_exists; use function preg_replace; use function rtrim; +use function sprintf; use function str_contains; use function str_starts_with; use function strlen; use function substr; use function trim; +use PHPUnit\Event\Facade as EventFacade; use PHPUnit\Metadata\Annotation\Parser\Registry as AnnotationRegistry; use PHPUnit\Metadata\AnnotationsAreNotSupportedForInternalClassesException; use PHPUnit\Metadata\Metadata; @@ -36,6 +38,16 @@ use PHPUnit\Util\VersionComparisonOperator; */ final class AnnotationParser implements Parser { + /** + * @psalm-var array + */ + private static array $deprecationEmittedForClass = []; + + /** + * @psalm-var array + */ + private static array $deprecationEmittedForMethod = []; + /** * @psalm-param class-string $className * @@ -155,6 +167,19 @@ final class AnnotationParser implements Parser ), ); + if (!empty($result) && + !isset(self::$deprecationEmittedForClass[$className]) && + !str_starts_with($className, 'PHPUnit\TestFixture')) { + EventFacade::emitter()->testRunnerTriggeredDeprecation( + sprintf( + 'Metadata found in doc-comment for class %s. Metadata in doc-comments is deprecated and will no longer be supported in PHPUnit 12. Update your test code to use attributes instead.', + $className, + ), + ); + + self::$deprecationEmittedForClass[$className] = true; + } + return MetadataCollection::fromArray($result); } @@ -373,6 +398,20 @@ final class AnnotationParser implements Parser ); } + if (!empty($result) && + !isset(self::$deprecationEmittedForMethod[$className . '::' . $methodName]) && + !str_starts_with($className, 'PHPUnit\TestFixture')) { + EventFacade::emitter()->testRunnerTriggeredDeprecation( + sprintf( + 'Metadata found in doc-comment for method %s::%s(). Metadata in doc-comments is deprecated and will no longer be supported in PHPUnit 12. Update your test code to use attributes instead.', + $className, + $methodName, + ), + ); + + self::$deprecationEmittedForMethod[$className . '::' . $methodName] = true; + } + return MetadataCollection::fromArray($result); } diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/Parser/AttributeParser.php b/Sources/vendor/phpunit/phpunit/src/Metadata/Parser/AttributeParser.php index 93e5f1af..b3912799 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/Parser/AttributeParser.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/Parser/AttributeParser.php @@ -12,7 +12,11 @@ namespace PHPUnit\Metadata\Parser; use const JSON_THROW_ON_ERROR; use function assert; use function json_decode; +use function sprintf; use function str_starts_with; +use function strtolower; +use function trim; +use PHPUnit\Event\Facade as EventFacade; use PHPUnit\Framework\Attributes\After; use PHPUnit\Framework\Attributes\AfterClass; use PHPUnit\Framework\Attributes\BackupGlobals; @@ -37,10 +41,8 @@ use PHPUnit\Framework\Attributes\DoesNotPerformAssertions; use PHPUnit\Framework\Attributes\ExcludeGlobalVariableFromBackup; use PHPUnit\Framework\Attributes\ExcludeStaticPropertyFromBackup; use PHPUnit\Framework\Attributes\Group; -use PHPUnit\Framework\Attributes\IgnoreClassForCodeCoverage; use PHPUnit\Framework\Attributes\IgnoreDeprecations; -use PHPUnit\Framework\Attributes\IgnoreFunctionForCodeCoverage; -use PHPUnit\Framework\Attributes\IgnoreMethodForCodeCoverage; +use PHPUnit\Framework\Attributes\IgnorePhpunitDeprecations; use PHPUnit\Framework\Attributes\Large; use PHPUnit\Framework\Attributes\Medium; use PHPUnit\Framework\Attributes\PostCondition; @@ -75,7 +77,7 @@ use ReflectionMethod; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class AttributeParser implements Parser +final readonly class AttributeParser implements Parser { /** * @psalm-param class-string $className @@ -150,7 +152,9 @@ final class AttributeParser implements Parser case Group::class: assert($attributeInstance instanceof Group); - $result[] = Metadata::groupOnClass($attributeInstance->name()); + if (!$this->isSizeGroup($attributeInstance->name(), $className)) { + $result[] = Metadata::groupOnClass($attributeInstance->name()); + } break; @@ -164,13 +168,6 @@ final class AttributeParser implements Parser break; - case IgnoreClassForCodeCoverage::class: - assert($attributeInstance instanceof IgnoreClassForCodeCoverage); - - $result[] = Metadata::ignoreClassForCodeCoverage($attributeInstance->className()); - - break; - case IgnoreDeprecations::class: assert($attributeInstance instanceof IgnoreDeprecations); @@ -178,17 +175,10 @@ final class AttributeParser implements Parser break; - case IgnoreMethodForCodeCoverage::class: - assert($attributeInstance instanceof IgnoreMethodForCodeCoverage); + case IgnorePhpunitDeprecations::class: + assert($attributeInstance instanceof IgnorePhpunitDeprecations); - $result[] = Metadata::ignoreMethodForCodeCoverage($attributeInstance->className(), $attributeInstance->methodName()); - - break; - - case IgnoreFunctionForCodeCoverage::class: - assert($attributeInstance instanceof IgnoreFunctionForCodeCoverage); - - $result[] = Metadata::ignoreFunctionForCodeCoverage($attributeInstance->functionName()); + $result[] = Metadata::ignorePhpunitDeprecationsOnClass(); break; @@ -486,7 +476,9 @@ final class AttributeParser implements Parser case Group::class: assert($attributeInstance instanceof Group); - $result[] = Metadata::groupOnMethod($attributeInstance->name()); + if (!$this->isSizeGroup($attributeInstance->name(), $className, $methodName)) { + $result[] = Metadata::groupOnMethod($attributeInstance->name()); + } break; @@ -497,6 +489,13 @@ final class AttributeParser implements Parser break; + case IgnorePhpunitDeprecations::class: + assert($attributeInstance instanceof IgnorePhpunitDeprecations); + + $result[] = Metadata::ignorePhpunitDeprecationsOnMethod(); + + break; + case PostCondition::class: $result[] = Metadata::postCondition(); @@ -614,14 +613,17 @@ final class AttributeParser implements Parser case TestWith::class: assert($attributeInstance instanceof TestWith); - $result[] = Metadata::testWith($attributeInstance->data()); + $result[] = Metadata::testWith($attributeInstance->data(), $attributeInstance->name()); break; case TestWithJson::class: assert($attributeInstance instanceof TestWithJson); - $result[] = Metadata::testWith(json_decode($attributeInstance->json(), true, 512, JSON_THROW_ON_ERROR)); + $result[] = Metadata::testWith( + json_decode($attributeInstance->json(), true, 512, JSON_THROW_ON_ERROR), + $attributeInstance->name(), + ); break; @@ -654,4 +656,31 @@ final class AttributeParser implements Parser $this->forMethod($className, $methodName), ); } + + /** + * @param non-empty-string $groupName + * @param class-string $testClassName + * @param ?non-empty-string $testMethodName + */ + private function isSizeGroup(string $groupName, string $testClassName, ?string $testMethodName = null): bool + { + $_groupName = strtolower(trim($groupName)); + + if ($_groupName !== 'small' && $_groupName !== 'medium' && $_groupName !== 'large') { + return false; + } + + EventFacade::emitter()->testRunnerTriggeredWarning( + sprintf( + 'Group name "%s" is not allowed for %s %s%s%s', + $_groupName, + $testMethodName !== null ? 'method' : 'class', + $testClassName, + $testMethodName !== null ? '::' : '', + $testMethodName !== null ? $testMethodName : '', + ), + ); + + return true; + } } diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/Parser/ParserChain.php b/Sources/vendor/phpunit/phpunit/src/Metadata/Parser/ParserChain.php index f00c52ed..f094e946 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/Parser/ParserChain.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/Parser/ParserChain.php @@ -14,10 +14,10 @@ use PHPUnit\Metadata\MetadataCollection; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class ParserChain implements Parser +final readonly class ParserChain implements Parser { - private readonly Parser $attributeReader; - private readonly Parser $annotationReader; + private Parser $attributeReader; + private Parser $annotationReader; public function __construct(Parser $attributeReader, Parser $annotationReader) { diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/Parser/Registry.php b/Sources/vendor/phpunit/phpunit/src/Metadata/Parser/Registry.php index 0b005cf5..f597bc88 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/Parser/Registry.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/Parser/Registry.php @@ -24,10 +24,6 @@ final class Registry return self::$instance ?? self::$instance = self::build(); } - private function __construct() - { - } - private static function build(): Parser { return new CachingParser( diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/PostCondition.php b/Sources/vendor/phpunit/phpunit/src/Metadata/PostCondition.php index 1e30f550..a353bc6e 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/PostCondition.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/PostCondition.php @@ -14,7 +14,7 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class PostCondition extends Metadata +final readonly class PostCondition extends Metadata { /** * @psalm-assert-if-true PostCondition $this diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/PreCondition.php b/Sources/vendor/phpunit/phpunit/src/Metadata/PreCondition.php index 4691f113..dc6631af 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/PreCondition.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/PreCondition.php @@ -14,7 +14,7 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class PreCondition extends Metadata +final readonly class PreCondition extends Metadata { /** * @psalm-assert-if-true PreCondition $this diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/PreserveGlobalState.php b/Sources/vendor/phpunit/phpunit/src/Metadata/PreserveGlobalState.php index 521af6d6..b2abdf72 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/PreserveGlobalState.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/PreserveGlobalState.php @@ -14,9 +14,9 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class PreserveGlobalState extends Metadata +final readonly class PreserveGlobalState extends Metadata { - private readonly bool $enabled; + private bool $enabled; /** * @psalm-param 0|1 $level diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresFunction.php b/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresFunction.php index 638d35c0..2814f1c3 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresFunction.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresFunction.php @@ -14,12 +14,12 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class RequiresFunction extends Metadata +final readonly class RequiresFunction extends Metadata { /** * @psalm-var non-empty-string */ - private readonly string $functionName; + private string $functionName; /** * @psalm-param 0|1 $level diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresMethod.php b/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresMethod.php index 45d611ff..5806c1ce 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresMethod.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresMethod.php @@ -14,17 +14,17 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class RequiresMethod extends Metadata +final readonly class RequiresMethod extends Metadata { /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-var non-empty-string */ - private readonly string $methodName; + private string $methodName; /** * @psalm-param 0|1 $level diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresOperatingSystem.php b/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresOperatingSystem.php index a2b0de4f..7780f94c 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresOperatingSystem.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresOperatingSystem.php @@ -14,12 +14,12 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class RequiresOperatingSystem extends Metadata +final readonly class RequiresOperatingSystem extends Metadata { /** * @psalm-var non-empty-string */ - private readonly string $operatingSystem; + private string $operatingSystem; /** * @psalm-param 0|1 $level diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresOperatingSystemFamily.php b/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresOperatingSystemFamily.php index 84182748..3e6b2125 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresOperatingSystemFamily.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresOperatingSystemFamily.php @@ -14,12 +14,12 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class RequiresOperatingSystemFamily extends Metadata +final readonly class RequiresOperatingSystemFamily extends Metadata { /** * @psalm-var non-empty-string */ - private readonly string $operatingSystemFamily; + private string $operatingSystemFamily; /** * @psalm-param 0|1 $level diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresPhp.php b/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresPhp.php index e73bfb40..ade1912a 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresPhp.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresPhp.php @@ -16,9 +16,9 @@ use PHPUnit\Metadata\Version\Requirement; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class RequiresPhp extends Metadata +final readonly class RequiresPhp extends Metadata { - private readonly Requirement $versionRequirement; + private Requirement $versionRequirement; /** * @psalm-param 0|1 $level diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresPhpExtension.php b/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresPhpExtension.php index 053b8966..be45a00c 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresPhpExtension.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresPhpExtension.php @@ -16,13 +16,13 @@ use PHPUnit\Metadata\Version\Requirement; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class RequiresPhpExtension extends Metadata +final readonly class RequiresPhpExtension extends Metadata { /** * @psalm-var non-empty-string */ - private readonly string $extension; - private readonly ?Requirement $versionRequirement; + private string $extension; + private ?Requirement $versionRequirement; /** * @psalm-param 0|1 $level diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresPhpunit.php b/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresPhpunit.php index 250190e5..8c6c70a0 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresPhpunit.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresPhpunit.php @@ -16,9 +16,9 @@ use PHPUnit\Metadata\Version\Requirement; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class RequiresPhpunit extends Metadata +final readonly class RequiresPhpunit extends Metadata { - private readonly Requirement $versionRequirement; + private Requirement $versionRequirement; /** * @psalm-param 0|1 $level diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresSetting.php b/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresSetting.php index 03f710d7..7a72caa5 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresSetting.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/RequiresSetting.php @@ -14,17 +14,17 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class RequiresSetting extends Metadata +final readonly class RequiresSetting extends Metadata { /** * @psalm-var non-empty-string */ - private readonly string $setting; + private string $setting; /** * @psalm-var non-empty-string */ - private readonly string $value; + private string $value; /** * @psalm-param 0|1 $level diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/RunClassInSeparateProcess.php b/Sources/vendor/phpunit/phpunit/src/Metadata/RunClassInSeparateProcess.php index eb0b7742..907a45d4 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/RunClassInSeparateProcess.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/RunClassInSeparateProcess.php @@ -14,7 +14,7 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class RunClassInSeparateProcess extends Metadata +final readonly class RunClassInSeparateProcess extends Metadata { /** * @psalm-assert-if-true RunClassInSeparateProcess $this diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/RunInSeparateProcess.php b/Sources/vendor/phpunit/phpunit/src/Metadata/RunInSeparateProcess.php index 62d552ae..07febae0 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/RunInSeparateProcess.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/RunInSeparateProcess.php @@ -14,7 +14,7 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class RunInSeparateProcess extends Metadata +final readonly class RunInSeparateProcess extends Metadata { /** * @psalm-assert-if-true RunInSeparateProcess $this diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/RunTestsInSeparateProcesses.php b/Sources/vendor/phpunit/phpunit/src/Metadata/RunTestsInSeparateProcesses.php index ea0807a5..b71233d3 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/RunTestsInSeparateProcesses.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/RunTestsInSeparateProcesses.php @@ -14,7 +14,7 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class RunTestsInSeparateProcesses extends Metadata +final readonly class RunTestsInSeparateProcesses extends Metadata { /** * @psalm-assert-if-true RunTestsInSeparateProcesses $this diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/Test.php b/Sources/vendor/phpunit/phpunit/src/Metadata/Test.php index 6d2aeecd..8ffe1e72 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/Test.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/Test.php @@ -14,7 +14,7 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Test extends Metadata +final readonly class Test extends Metadata { /** * @psalm-assert-if-true Test $this diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/TestDox.php b/Sources/vendor/phpunit/phpunit/src/Metadata/TestDox.php index d78d86cf..9447a846 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/TestDox.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/TestDox.php @@ -14,12 +14,12 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class TestDox extends Metadata +final readonly class TestDox extends Metadata { /** * @psalm-var non-empty-string */ - private readonly string $text; + private string $text; /** * @psalm-param 0|1 $level diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/TestWith.php b/Sources/vendor/phpunit/phpunit/src/Metadata/TestWith.php index 98bef73d..33e06219 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/TestWith.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/TestWith.php @@ -14,18 +14,25 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class TestWith extends Metadata +final readonly class TestWith extends Metadata { - private readonly array $data; + private array $data; + + /** + * @psalm-var ?non-empty-string + */ + private ?string $name; /** * @psalm-param 0|1 $level + * @psalm-param ?non-empty-string $name */ - protected function __construct(int $level, array $data) + protected function __construct(int $level, array $data, ?string $name = null) { parent::__construct($level); $this->data = $data; + $this->name = $name; } /** @@ -40,4 +47,20 @@ final class TestWith extends Metadata { return $this->data; } + + /** + * @psalm-assert-if-true !null $this->name + */ + public function hasName(): bool + { + return $this->name !== null; + } + + /** + * @psalm-return ?non-empty-string + */ + public function name(): ?string + { + return $this->name; + } } diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/Uses.php b/Sources/vendor/phpunit/phpunit/src/Metadata/Uses.php index d3fa216b..6d39c140 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/Uses.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/Uses.php @@ -14,12 +14,12 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Uses extends Metadata +final readonly class Uses extends Metadata { /** * @psalm-var non-empty-string */ - private readonly string $target; + private string $target; /** * @psalm-param 0|1 $level diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/UsesClass.php b/Sources/vendor/phpunit/phpunit/src/Metadata/UsesClass.php index 01e7741e..5852c8f4 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/UsesClass.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/UsesClass.php @@ -14,12 +14,12 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class UsesClass extends Metadata +final readonly class UsesClass extends Metadata { /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-param 0|1 $level diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/UsesDefaultClass.php b/Sources/vendor/phpunit/phpunit/src/Metadata/UsesDefaultClass.php index 48a82471..0ab4736e 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/UsesDefaultClass.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/UsesDefaultClass.php @@ -14,12 +14,12 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class UsesDefaultClass extends Metadata +final readonly class UsesDefaultClass extends Metadata { /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-param 0|1 $level diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/UsesFunction.php b/Sources/vendor/phpunit/phpunit/src/Metadata/UsesFunction.php index 8c46e76b..d5ebb326 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/UsesFunction.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/UsesFunction.php @@ -14,12 +14,12 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class UsesFunction extends Metadata +final readonly class UsesFunction extends Metadata { /** * @psalm-var non-empty-string */ - private readonly string $functionName; + private string $functionName; /** * @psalm-param 0|1 $level diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/Version/ComparisonRequirement.php b/Sources/vendor/phpunit/phpunit/src/Metadata/Version/ComparisonRequirement.php index 86aefaf2..417c8d1c 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/Version/ComparisonRequirement.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/Version/ComparisonRequirement.php @@ -17,10 +17,10 @@ use PHPUnit\Util\VersionComparisonOperator; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class ComparisonRequirement extends Requirement +final readonly class ComparisonRequirement extends Requirement { - private readonly string $version; - private readonly VersionComparisonOperator $operator; + private string $version; + private VersionComparisonOperator $operator; public function __construct(string $version, VersionComparisonOperator $operator) { diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/Version/ConstraintRequirement.php b/Sources/vendor/phpunit/phpunit/src/Metadata/Version/ConstraintRequirement.php index 32857899..4a00c37a 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/Version/ConstraintRequirement.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/Version/ConstraintRequirement.php @@ -18,9 +18,9 @@ use PharIo\Version\VersionConstraint; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class ConstraintRequirement extends Requirement +final readonly class ConstraintRequirement extends Requirement { - private readonly VersionConstraint $constraint; + private VersionConstraint $constraint; public function __construct(VersionConstraint $constraint) { diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/Version/Requirement.php b/Sources/vendor/phpunit/phpunit/src/Metadata/Version/Requirement.php index a61e5003..b5bb4d11 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/Version/Requirement.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/Version/Requirement.php @@ -21,7 +21,7 @@ use PHPUnit\Util\VersionComparisonOperator; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -abstract class Requirement +abstract readonly class Requirement { private const VERSION_COMPARISON = '/(?P[<>=!]{0,2})\s*(?P[\d\.-]+(dev|(RC|alpha|beta)[\d\.])?)[ \t]*\r?$/m'; diff --git a/Sources/vendor/phpunit/phpunit/src/Metadata/WithoutErrorHandler.php b/Sources/vendor/phpunit/phpunit/src/Metadata/WithoutErrorHandler.php index d10f41e6..aa76f88f 100644 --- a/Sources/vendor/phpunit/phpunit/src/Metadata/WithoutErrorHandler.php +++ b/Sources/vendor/phpunit/phpunit/src/Metadata/WithoutErrorHandler.php @@ -14,7 +14,7 @@ namespace PHPUnit\Metadata; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class WithoutErrorHandler extends Metadata +final readonly class WithoutErrorHandler extends Metadata { /** * @psalm-assert-if-true WithoutErrorHandler $this diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Generator.php b/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Generator.php index 6a94baeb..3765eeff 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Generator.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Generator.php @@ -25,10 +25,10 @@ use PHPUnit\TextUI\Configuration\SourceFilter; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Generator +final readonly class Generator { private Baseline $baseline; - private readonly Source $source; + private Source $source; /** * @throws EventFacadeIsSealedException diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Issue.php b/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Issue.php index d90b067b..1967b8ef 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Issue.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Issue.php @@ -18,27 +18,27 @@ use PHPUnit\Runner\FileDoesNotExistException; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Issue +final readonly class Issue { /** * @psalm-var non-empty-string */ - private readonly string $file; + private string $file; /** * @psalm-var positive-int */ - private readonly int $line; + private int $line; /** * @psalm-var non-empty-string */ - private readonly string $hash; + private string $hash; /** * @psalm-var non-empty-string */ - private readonly string $description; + private string $description; /** * @psalm-param non-empty-string $file @@ -123,12 +123,13 @@ final class Issue */ private static function calculateHash(string $file, int $line): string { - if (!is_file($file)) { + $lines = @file($file, FILE_IGNORE_NEW_LINES); + + if ($lines === false && !is_file($file)) { throw new FileDoesNotExistException($file); } - $lines = file($file, FILE_IGNORE_NEW_LINES); - $key = $line - 1; + $key = $line - 1; if (!isset($lines[$key])) { throw new FileDoesNotHaveLineException($file, $line); diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Reader.php b/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Reader.php index 3aa5cfbc..2b0471f7 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Reader.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Reader.php @@ -24,7 +24,7 @@ use PHPUnit\Util\Xml\XmlException; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Reader +final readonly class Reader { /** * @psalm-param non-empty-string $baselineFile diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/RelativePathCalculator.php b/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/RelativePathCalculator.php index 06ed7057..6e29beb9 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/RelativePathCalculator.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/RelativePathCalculator.php @@ -26,12 +26,12 @@ use function trim; * * @see Copied from https://github.com/phpstan/phpstan-src/blob/1.10.33/src/File/ParentDirectoryRelativePathHelper.php */ -final class RelativePathCalculator +final readonly class RelativePathCalculator { /** * @psalm-var non-empty-string $baselineDirectory */ - private readonly string $baselineDirectory; + private string $baselineDirectory; /** * @psalm-param non-empty-string $baselineDirectory diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/Subscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/Subscriber.php index b3ba386c..a67d6697 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/Subscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/Subscriber.php @@ -12,9 +12,9 @@ namespace PHPUnit\Runner\Baseline; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -abstract class Subscriber +abstract readonly class Subscriber { - private readonly Generator $generator; + private Generator $generator; public function __construct(Generator $generator) { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/TestTriggeredDeprecationSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/TestTriggeredDeprecationSubscriber.php index f26ed2ec..3a6f4e08 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/TestTriggeredDeprecationSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/TestTriggeredDeprecationSubscriber.php @@ -16,7 +16,7 @@ use PHPUnit\Runner\FileDoesNotExistException; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestTriggeredDeprecationSubscriber extends Subscriber implements DeprecationTriggeredSubscriber +final readonly class TestTriggeredDeprecationSubscriber extends Subscriber implements DeprecationTriggeredSubscriber { /** * @throws FileDoesNotExistException diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/TestTriggeredNoticeSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/TestTriggeredNoticeSubscriber.php index a531fbca..7c9b2635 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/TestTriggeredNoticeSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/TestTriggeredNoticeSubscriber.php @@ -16,7 +16,7 @@ use PHPUnit\Runner\FileDoesNotExistException; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestTriggeredNoticeSubscriber extends Subscriber implements NoticeTriggeredSubscriber +final readonly class TestTriggeredNoticeSubscriber extends Subscriber implements NoticeTriggeredSubscriber { /** * @throws FileDoesNotExistException diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/TestTriggeredPhpDeprecationSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/TestTriggeredPhpDeprecationSubscriber.php index a7a5d9f1..68e23216 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/TestTriggeredPhpDeprecationSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/TestTriggeredPhpDeprecationSubscriber.php @@ -16,7 +16,7 @@ use PHPUnit\Runner\FileDoesNotExistException; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestTriggeredPhpDeprecationSubscriber extends Subscriber implements PhpDeprecationTriggeredSubscriber +final readonly class TestTriggeredPhpDeprecationSubscriber extends Subscriber implements PhpDeprecationTriggeredSubscriber { /** * @throws FileDoesNotExistException diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/TestTriggeredPhpNoticeSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/TestTriggeredPhpNoticeSubscriber.php index 26085fb6..f3ebbbc2 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/TestTriggeredPhpNoticeSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/TestTriggeredPhpNoticeSubscriber.php @@ -16,7 +16,7 @@ use PHPUnit\Runner\FileDoesNotExistException; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestTriggeredPhpNoticeSubscriber extends Subscriber implements PhpNoticeTriggeredSubscriber +final readonly class TestTriggeredPhpNoticeSubscriber extends Subscriber implements PhpNoticeTriggeredSubscriber { /** * @throws FileDoesNotExistException diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/TestTriggeredPhpWarningSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/TestTriggeredPhpWarningSubscriber.php index a0e617b4..8b8a6f51 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/TestTriggeredPhpWarningSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/TestTriggeredPhpWarningSubscriber.php @@ -16,7 +16,7 @@ use PHPUnit\Runner\FileDoesNotExistException; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestTriggeredPhpWarningSubscriber extends Subscriber implements PhpWarningTriggeredSubscriber +final readonly class TestTriggeredPhpWarningSubscriber extends Subscriber implements PhpWarningTriggeredSubscriber { /** * @throws FileDoesNotExistException diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/TestTriggeredWarningSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/TestTriggeredWarningSubscriber.php index 793b7149..b21b3ebe 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/TestTriggeredWarningSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Subscriber/TestTriggeredWarningSubscriber.php @@ -16,7 +16,7 @@ use PHPUnit\Runner\FileDoesNotExistException; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestTriggeredWarningSubscriber extends Subscriber implements WarningTriggeredSubscriber +final readonly class TestTriggeredWarningSubscriber extends Subscriber implements WarningTriggeredSubscriber { /** * @throws FileDoesNotExistException diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Writer.php b/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Writer.php index 28540930..3bc6abb5 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Writer.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/Baseline/Writer.php @@ -17,7 +17,7 @@ use XMLWriter; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Writer +final readonly class Writer { /** * @psalm-param non-empty-string $baselineFile diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/CodeCoverage.php b/Sources/vendor/phpunit/phpunit/src/Runner/CodeCoverage.php index 371ff66f..52c6d74d 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/CodeCoverage.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/CodeCoverage.php @@ -12,7 +12,6 @@ namespace PHPUnit\Runner; use function file_put_contents; use function sprintf; use PHPUnit\Event\Facade as EventFacade; -use PHPUnit\Event\TestData\MoreThanOneDataSetFromDataProviderException; use PHPUnit\Framework\TestCase; use PHPUnit\TextUI\Configuration\CodeCoverageFilterRegistry; use PHPUnit\TextUI\Configuration\Configuration; @@ -138,9 +137,6 @@ final class CodeCoverage return $this->driver; } - /** - * @throws MoreThanOneDataSetFromDataProviderException - */ public function start(TestCase $test): void { if ($this->collecting) { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/ErrorHandler.php b/Sources/vendor/phpunit/phpunit/src/Runner/ErrorHandler.php index ea3acfa5..e1c5b8a7 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/ErrorHandler.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/ErrorHandler.php @@ -166,7 +166,13 @@ final class ErrorHandler return; } - set_error_handler($this); + $oldErrorHandler = set_error_handler($this); + + if ($oldErrorHandler !== null) { + restore_error_handler(); + + return; + } $this->enabled = true; $this->originalErrorReportingLevel = error_reporting(); diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/Extension/ExtensionBootstrapper.php b/Sources/vendor/phpunit/phpunit/src/Runner/Extension/ExtensionBootstrapper.php index fc8f3175..c6997475 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/Extension/ExtensionBootstrapper.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/Extension/ExtensionBootstrapper.php @@ -14,7 +14,6 @@ use function class_exists; use function class_implements; use function in_array; use function sprintf; -use PHPUnit\Event; use PHPUnit\Event\Facade as EventFacade; use PHPUnit\TextUI\Configuration\Configuration; use ReflectionClass; @@ -23,10 +22,10 @@ use Throwable; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class ExtensionBootstrapper +final readonly class ExtensionBootstrapper { - private readonly Configuration $configuration; - private readonly Facade $facade; + private Configuration $configuration; + private Facade $facade; public function __construct(Configuration $configuration, Facade $facade) { @@ -87,7 +86,7 @@ final class ExtensionBootstrapper return; } - Event\Facade::emitter()->testRunnerBootstrappedExtension( + EventFacade::emitter()->testRunnerBootstrappedExtension( $className, $parameters, ); diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/Extension/Facade.php b/Sources/vendor/phpunit/phpunit/src/Runner/Extension/Facade.php index b168eb62..910f4e5f 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/Extension/Facade.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/Extension/Facade.php @@ -24,7 +24,6 @@ final class Facade private bool $replacesProgressOutput = false; private bool $replacesResultOutput = false; private bool $requiresCodeCoverageCollection = false; - private bool $requiresExportOfObjects = false; /** * @throws EventFacadeIsSealedException @@ -91,20 +90,4 @@ final class Facade { return $this->requiresCodeCoverageCollection; } - - /** - * @deprecated - */ - public function requireExportOfObjects(): void - { - $this->requiresExportOfObjects = true; - } - - /** - * @deprecated - */ - public function requiresExportOfObjects(): bool - { - return $this->requiresExportOfObjects; - } } diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/Extension/ParameterCollection.php b/Sources/vendor/phpunit/phpunit/src/Runner/Extension/ParameterCollection.php index 08b09966..329107e9 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/Extension/ParameterCollection.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/Extension/ParameterCollection.php @@ -17,9 +17,9 @@ use PHPUnit\Runner\ParameterDoesNotExistException; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class ParameterCollection +final readonly class ParameterCollection { - private readonly array $parameters; + private array $parameters; /** * @psalm-param array $parameters diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/Extension/PharLoader.php b/Sources/vendor/phpunit/phpunit/src/Runner/Extension/PharLoader.php index 6e0943c6..68738ac4 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/Extension/PharLoader.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/Extension/PharLoader.php @@ -28,7 +28,7 @@ use Throwable; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class PharLoader +final readonly class PharLoader { /** * @psalm-param non-empty-string $directory diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/Filter/ExcludeGroupFilterIterator.php b/Sources/vendor/phpunit/phpunit/src/Runner/Filter/ExcludeGroupFilterIterator.php index b4f3a45c..8223e496 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/Filter/ExcludeGroupFilterIterator.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/Filter/ExcludeGroupFilterIterator.php @@ -16,8 +16,11 @@ use function in_array; */ final class ExcludeGroupFilterIterator extends GroupFilterIterator { - protected function doAccept(int $id): bool + /** + * @psalm-param list $groupTests + */ + protected function doAccept(int $id, array $groupTests): bool { - return !in_array($id, $this->groupTests, true); + return !in_array($id, $groupTests, true); } } diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/Filter/Factory.php b/Sources/vendor/phpunit/phpunit/src/Runner/Filter/Factory.php index 89eec09c..4c30ae0a 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/Filter/Factory.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/Filter/Factory.php @@ -13,7 +13,6 @@ use function assert; use FilterIterator; use Iterator; use PHPUnit\Framework\TestSuite; -use ReflectionClass; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit @@ -21,7 +20,7 @@ use ReflectionClass; final class Factory { /** - * @psalm-var array + * @psalm-var list */ private array $filters = []; @@ -31,45 +30,63 @@ final class Factory public function addTestIdFilter(array $testIds): void { $this->filters[] = [ - new ReflectionClass(TestIdFilterIterator::class), $testIds, + 'className' => TestIdFilterIterator::class, + 'argument' => $testIds, ]; } /** * @psalm-param list $groups */ - public function addExcludeGroupFilter(array $groups): void + public function addIncludeGroupFilter(array $groups): void { $this->filters[] = [ - new ReflectionClass(ExcludeGroupFilterIterator::class), $groups, + 'className' => IncludeGroupFilterIterator::class, + 'argument' => $groups, ]; } /** * @psalm-param list $groups */ - public function addIncludeGroupFilter(array $groups): void + public function addExcludeGroupFilter(array $groups): void + { + $this->filters[] = [ + 'className' => ExcludeGroupFilterIterator::class, + 'argument' => $groups, + ]; + } + + /** + * @psalm-param non-empty-string $name + */ + public function addIncludeNameFilter(string $name): void { $this->filters[] = [ - new ReflectionClass(IncludeGroupFilterIterator::class), $groups, + 'className' => IncludeNameFilterIterator::class, + 'argument' => $name, ]; } /** * @psalm-param non-empty-string $name */ - public function addNameFilter(string $name): void + public function addExcludeNameFilter(string $name): void { $this->filters[] = [ - new ReflectionClass(NameFilterIterator::class), $name, + 'className' => ExcludeNameFilterIterator::class, + 'argument' => $name, ]; } public function factory(Iterator $iterator, TestSuite $suite): FilterIterator { foreach ($this->filters as $filter) { - [$class, $arguments] = $filter; - $iterator = $class->newInstance($iterator, $arguments, $suite); + $iterator = new $filter['className']( + $iterator, + $filter['argument'], + $suite, + ); } assert($iterator instanceof FilterIterator); diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/Filter/GroupFilterIterator.php b/Sources/vendor/phpunit/phpunit/src/Runner/Filter/GroupFilterIterator.php index 2c9a2960..98927567 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/Filter/GroupFilterIterator.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/Filter/GroupFilterIterator.php @@ -11,6 +11,7 @@ namespace PHPUnit\Runner\Filter; use function array_map; use function array_push; +use function array_values; use function in_array; use function spl_object_id; use PHPUnit\Framework\Test; @@ -26,7 +27,7 @@ abstract class GroupFilterIterator extends RecursiveFilterIterator /** * @psalm-var list */ - protected array $groupTests = []; + private readonly array $groupTests; /** * @psalm-param RecursiveIterator $iterator @@ -36,6 +37,8 @@ abstract class GroupFilterIterator extends RecursiveFilterIterator { parent::__construct($iterator); + $groupTests = []; + foreach ($suite->groupDetails() as $group => $tests) { if (in_array((string) $group, $groups, true)) { $testHashes = array_map( @@ -43,9 +46,11 @@ abstract class GroupFilterIterator extends RecursiveFilterIterator $tests, ); - array_push($this->groupTests, ...$testHashes); + array_push($groupTests, ...$testHashes); } } + + $this->groupTests = array_values($groupTests); } public function accept(): bool @@ -56,8 +61,11 @@ abstract class GroupFilterIterator extends RecursiveFilterIterator return true; } - return $this->doAccept(spl_object_id($test)); + return $this->doAccept(spl_object_id($test), $this->groupTests); } - abstract protected function doAccept(int $id): bool; + /** + * @psalm-param list $groupTests + */ + abstract protected function doAccept(int $id, array $groupTests): bool; } diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/Filter/IncludeGroupFilterIterator.php b/Sources/vendor/phpunit/phpunit/src/Runner/Filter/IncludeGroupFilterIterator.php index 8a89e8e5..0e18df3b 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/Filter/IncludeGroupFilterIterator.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/Filter/IncludeGroupFilterIterator.php @@ -16,8 +16,11 @@ use function in_array; */ final class IncludeGroupFilterIterator extends GroupFilterIterator { - protected function doAccept(int $id): bool + /** + * @psalm-param list $groupTests + */ + protected function doAccept(int $id, array $groupTests): bool { - return in_array($id, $this->groupTests, true); + return in_array($id, $groupTests, true); } } diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/Filter/NameFilterIterator.php b/Sources/vendor/phpunit/phpunit/src/Runner/Filter/NameFilterIterator.php index 8d226638..90268bc5 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/Filter/NameFilterIterator.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/Filter/NameFilterIterator.php @@ -10,38 +10,40 @@ namespace PHPUnit\Runner\Filter; use function end; -use function implode; use function preg_match; use function sprintf; use function str_replace; -use Exception; -use PHPUnit\Framework\SelfDescribing; use PHPUnit\Framework\Test; -use PHPUnit\Framework\TestCase; use PHPUnit\Framework\TestSuite; +use PHPUnit\Runner\PhptTestCase; use RecursiveFilterIterator; use RecursiveIterator; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class NameFilterIterator extends RecursiveFilterIterator +abstract class NameFilterIterator extends RecursiveFilterIterator { - private ?string $filter = null; - private ?int $filterMin = null; - private ?int $filterMax = null; + /** + * @psalm-var non-empty-string + */ + private readonly string $regularExpression; + private readonly ?int $dataSetMinimum; + private readonly ?int $dataSetMaximum; /** * @psalm-param RecursiveIterator $iterator * @psalm-param non-empty-string $filter - * - * @throws Exception */ public function __construct(RecursiveIterator $iterator, string $filter) { parent::__construct($iterator); - $this->setFilter($filter); + $preparedFilter = $this->prepareFilter($filter); + + $this->regularExpression = $preparedFilter['regularExpression']; + $this->dataSetMinimum = $preparedFilter['dataSetMinimum']; + $this->dataSetMaximum = $preparedFilter['dataSetMaximum']; } public function accept(): bool @@ -52,29 +54,34 @@ final class NameFilterIterator extends RecursiveFilterIterator return true; } - $tmp = $this->describe($test); - - if ($tmp[0] !== '') { - $name = implode('::', $tmp); - } else { - $name = $tmp[1]; + if ($test instanceof PhptTestCase) { + return false; } - $accepted = @preg_match($this->filter, $name, $matches); + $name = $test::class . '::' . $test->nameWithDataSet(); - if ($accepted && isset($this->filterMax)) { + $accepted = @preg_match($this->regularExpression, $name, $matches) === 1; + + if ($accepted && isset($this->dataSetMaximum)) { $set = end($matches); - $accepted = $set >= $this->filterMin && $set <= $this->filterMax; + $accepted = $set >= $this->dataSetMinimum && $set <= $this->dataSetMaximum; } - return (bool) $accepted; + return $this->doAccept($accepted); } + abstract protected function doAccept(bool $result): bool; + /** - * @throws Exception + * @psalm-param non-empty-string $filter + * + * @psalm-return array{regularExpression: non-empty-string, dataSetMinimum: ?int, dataSetMaximum: ?int} */ - private function setFilter(string $filter): void + private function prepareFilter(string $filter): array { + $dataSetMinimum = null; + $dataSetMaximum = null; + if (@preg_match($filter, '') === false) { // Handles: // * testAssertEqualsSucceeds#4 @@ -86,8 +93,8 @@ final class NameFilterIterator extends RecursiveFilterIterator $matches[1], ); - $this->filterMin = (int) $matches[2]; - $this->filterMax = (int) $matches[3]; + $dataSetMinimum = (int) $matches[2]; + $dataSetMaximum = (int) $matches[3]; } else { $filter = sprintf( '%s.*with data set #%s$', @@ -118,22 +125,10 @@ final class NameFilterIterator extends RecursiveFilterIterator ); } - $this->filter = $filter; - } - - /** - * @psalm-return array{0: string, 1: string} - */ - private function describe(Test $test): array - { - if ($test instanceof TestCase) { - return [$test::class, $test->nameWithDataSet()]; - } - - if ($test instanceof SelfDescribing) { - return ['', $test->toString()]; - } - - return ['', $test::class]; + return [ + 'regularExpression' => $filter, + 'dataSetMinimum' => $dataSetMinimum, + 'dataSetMaximum' => $dataSetMaximum, + ]; } } diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/Filter/TestIdFilterIterator.php b/Sources/vendor/phpunit/phpunit/src/Runner/Filter/TestIdFilterIterator.php index 6c442896..33fbd351 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/Filter/TestIdFilterIterator.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/Filter/TestIdFilterIterator.php @@ -10,7 +10,6 @@ namespace PHPUnit\Runner\Filter; use function in_array; -use PHPUnit\Event\TestData\MoreThanOneDataSetFromDataProviderException; use PHPUnit\Event\TestData\NoDataSetFromDataProviderException; use PHPUnit\Framework\Test; use PHPUnit\Framework\TestCase; @@ -54,7 +53,7 @@ final class TestIdFilterIterator extends RecursiveFilterIterator try { return in_array($test->valueObjectForEvents()->id(), $this->testIds, true); - } catch (MoreThanOneDataSetFromDataProviderException|NoDataSetFromDataProviderException) { + } catch (NoDataSetFromDataProviderException) { return false; } } diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/GarbageCollection/Subscriber/ExecutionFinishedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/GarbageCollection/Subscriber/ExecutionFinishedSubscriber.php index 6dabd41d..248fa614 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/GarbageCollection/Subscriber/ExecutionFinishedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/GarbageCollection/Subscriber/ExecutionFinishedSubscriber.php @@ -16,7 +16,7 @@ use PHPUnit\Event\TestRunner\ExecutionFinishedSubscriber as TestRunnerExecutionF /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class ExecutionFinishedSubscriber extends Subscriber implements TestRunnerExecutionFinishedSubscriber +final readonly class ExecutionFinishedSubscriber extends Subscriber implements TestRunnerExecutionFinishedSubscriber { /** * @throws \PHPUnit\Framework\InvalidArgumentException diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/GarbageCollection/Subscriber/ExecutionStartedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/GarbageCollection/Subscriber/ExecutionStartedSubscriber.php index 1bb91769..01205779 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/GarbageCollection/Subscriber/ExecutionStartedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/GarbageCollection/Subscriber/ExecutionStartedSubscriber.php @@ -16,7 +16,7 @@ use PHPUnit\Event\TestRunner\ExecutionStartedSubscriber as TestRunnerExecutionSt /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class ExecutionStartedSubscriber extends Subscriber implements TestRunnerExecutionStartedSubscriber +final readonly class ExecutionStartedSubscriber extends Subscriber implements TestRunnerExecutionStartedSubscriber { /** * @throws \PHPUnit\Framework\InvalidArgumentException diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/GarbageCollection/Subscriber/Subscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/GarbageCollection/Subscriber/Subscriber.php index 74d3d70b..011e2e3c 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/GarbageCollection/Subscriber/Subscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/GarbageCollection/Subscriber/Subscriber.php @@ -12,9 +12,9 @@ namespace PHPUnit\Runner\GarbageCollection; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -abstract class Subscriber +abstract readonly class Subscriber { - private readonly GarbageCollectionHandler $handler; + private GarbageCollectionHandler $handler; public function __construct(GarbageCollectionHandler $handler) { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/GarbageCollection/Subscriber/TestFinishedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/GarbageCollection/Subscriber/TestFinishedSubscriber.php index 5736b044..8f193c31 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/GarbageCollection/Subscriber/TestFinishedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/GarbageCollection/Subscriber/TestFinishedSubscriber.php @@ -16,7 +16,7 @@ use PHPUnit\Event\Test\FinishedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestFinishedSubscriber extends Subscriber implements FinishedSubscriber +final readonly class TestFinishedSubscriber extends Subscriber implements FinishedSubscriber { /** * @throws \PHPUnit\Framework\InvalidArgumentException diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/PhptTestCase.php b/Sources/vendor/phpunit/phpunit/src/Runner/PhptTestCase.php index 20577a69..993a3b8e 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/PhptTestCase.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/PhptTestCase.php @@ -57,6 +57,7 @@ use PHPUnit\TextUI\Configuration\Registry as ConfigurationRegistry; use PHPUnit\Util\PHP\AbstractPhpProcess; use SebastianBergmann\CodeCoverage\Data\RawCodeCoverageData; use SebastianBergmann\CodeCoverage\InvalidArgumentException; +use SebastianBergmann\CodeCoverage\ReflectionException; use SebastianBergmann\CodeCoverage\StaticAnalysisCacheNotConfiguredException; use SebastianBergmann\CodeCoverage\Test\TestSize\TestSize; use SebastianBergmann\CodeCoverage\Test\TestStatus\TestStatus; @@ -84,7 +85,7 @@ final class PhptTestCase implements Reorderable, SelfDescribing, Test * * @throws Exception */ - public function __construct(string $filename, AbstractPhpProcess $phpUtil = null) + public function __construct(string $filename, ?AbstractPhpProcess $phpUtil = null) { if (!is_file($filename)) { throw new FileDoesNotExistException($filename); @@ -106,11 +107,11 @@ final class PhptTestCase implements Reorderable, SelfDescribing, Test * Runs a test and collects its result in a TestResult instance. * * @throws \PHPUnit\Framework\Exception - * @throws \SebastianBergmann\CodeCoverage\ReflectionException * @throws \SebastianBergmann\Template\InvalidArgumentException * @throws Exception * @throws InvalidArgumentException * @throws NoPreviousThrowableException + * @throws ReflectionException * @throws StaticAnalysisCacheNotConfiguredException * @throws TestIdMissingException * @throws UnintentionallyCoveredCodeException @@ -217,8 +218,8 @@ final class PhptTestCase implements Reorderable, SelfDescribing, Test $failure = new PhptAssertionFailedError( $e->getMessage(), 0, - $trace[0]['file'], - $trace[0]['line'], + (string) $trace[0]['file'], + (int) $trace[0]['line'], $trace, $comparisonFailure ? $diff : '', ); @@ -637,15 +638,17 @@ final class PhptTestCase implements Reorderable, SelfDescribing, Test $coverage = RawCodeCoverageData::fromXdebugWithoutPathCoverage([]); $files = $this->getCoverageFiles(); + $buffer = false; + if (is_file($files['coverage'])) { $buffer = @file_get_contents($files['coverage']); + } - if ($buffer !== false) { - $coverage = @unserialize($buffer); + if ($buffer !== false) { + $coverage = @unserialize($buffer); - if ($coverage === false) { - $coverage = RawCodeCoverageData::fromXdebugWithoutPathCoverage([]); - } + if ($coverage === false) { + $coverage = RawCodeCoverageData::fromXdebugWithoutPathCoverage([]); } } diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/DefaultResultCache.php b/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/DefaultResultCache.php index bc3e8c44..965fce95 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/DefaultResultCache.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/DefaultResultCache.php @@ -90,8 +90,14 @@ final class DefaultResultCache implements ResultCache return; } + $contents = file_get_contents($this->cacheFilename); + + if ($contents === false) { + return; + } + $data = json_decode( - file_get_contents($this->cacheFilename), + $contents, true, ); diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/NullResultCache.php b/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/NullResultCache.php index 1e93eeb9..289fc6fa 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/NullResultCache.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/NullResultCache.php @@ -14,7 +14,7 @@ use PHPUnit\Framework\TestStatus\TestStatus; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class NullResultCache implements ResultCache +final readonly class NullResultCache implements ResultCache { public function setStatus(string $id, TestStatus $status): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/Subscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/Subscriber.php index 77abb6f1..163c3beb 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/Subscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/Subscriber.php @@ -12,9 +12,9 @@ namespace PHPUnit\Runner\ResultCache; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -abstract class Subscriber +abstract readonly class Subscriber { - private readonly ResultCacheHandler $handler; + private ResultCacheHandler $handler; public function __construct(ResultCacheHandler $handler) { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestConsideredRiskySubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestConsideredRiskySubscriber.php index 6ca0701a..000efa65 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestConsideredRiskySubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestConsideredRiskySubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\ConsideredRiskySubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestConsideredRiskySubscriber extends Subscriber implements ConsideredRiskySubscriber +final readonly class TestConsideredRiskySubscriber extends Subscriber implements ConsideredRiskySubscriber { public function notify(ConsideredRisky $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestErroredSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestErroredSubscriber.php index 954551bd..0273d4b2 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestErroredSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestErroredSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\ErroredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestErroredSubscriber extends Subscriber implements ErroredSubscriber +final readonly class TestErroredSubscriber extends Subscriber implements ErroredSubscriber { public function notify(Errored $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestFailedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestFailedSubscriber.php index effdb0c2..f921a73d 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestFailedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestFailedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\FailedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestFailedSubscriber extends Subscriber implements FailedSubscriber +final readonly class TestFailedSubscriber extends Subscriber implements FailedSubscriber { public function notify(Failed $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestFinishedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestFinishedSubscriber.php index ff39f716..db47a8f9 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestFinishedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestFinishedSubscriber.php @@ -16,7 +16,7 @@ use PHPUnit\Event\Test\FinishedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestFinishedSubscriber extends Subscriber implements FinishedSubscriber +final readonly class TestFinishedSubscriber extends Subscriber implements FinishedSubscriber { /** * @throws \PHPUnit\Framework\InvalidArgumentException diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestMarkedIncompleteSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestMarkedIncompleteSubscriber.php index 69364ac2..81f60d6c 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestMarkedIncompleteSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestMarkedIncompleteSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\MarkedIncompleteSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestMarkedIncompleteSubscriber extends Subscriber implements MarkedIncompleteSubscriber +final readonly class TestMarkedIncompleteSubscriber extends Subscriber implements MarkedIncompleteSubscriber { public function notify(MarkedIncomplete $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestPreparedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestPreparedSubscriber.php index eee675b1..72e014f3 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestPreparedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestPreparedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\PreparedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestPreparedSubscriber extends Subscriber implements PreparedSubscriber +final readonly class TestPreparedSubscriber extends Subscriber implements PreparedSubscriber { public function notify(Prepared $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestSkippedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestSkippedSubscriber.php index 21c748b0..1097cfd6 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestSkippedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestSkippedSubscriber.php @@ -16,7 +16,7 @@ use PHPUnit\Event\Test\SkippedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestSkippedSubscriber extends Subscriber implements SkippedSubscriber +final readonly class TestSkippedSubscriber extends Subscriber implements SkippedSubscriber { /** * @throws \PHPUnit\Framework\InvalidArgumentException diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestSuiteFinishedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestSuiteFinishedSubscriber.php index c252823b..5b2d4c77 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestSuiteFinishedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestSuiteFinishedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\TestSuite\FinishedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestSuiteFinishedSubscriber extends Subscriber implements FinishedSubscriber +final readonly class TestSuiteFinishedSubscriber extends Subscriber implements FinishedSubscriber { public function notify(Finished $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestSuiteStartedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestSuiteStartedSubscriber.php index 1c78b0ec..1bbcaa14 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestSuiteStartedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/ResultCache/Subscriber/TestSuiteStartedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\TestSuite\StartedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestSuiteStartedSubscriber extends Subscriber implements StartedSubscriber +final readonly class TestSuiteStartedSubscriber extends Subscriber implements StartedSubscriber { public function notify(Started $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/BeforeTestClassMethodErroredSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/BeforeTestClassMethodErroredSubscriber.php index cfa5e9d5..71c67093 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/BeforeTestClassMethodErroredSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/BeforeTestClassMethodErroredSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\BeforeFirstTestMethodErroredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class BeforeTestClassMethodErroredSubscriber extends Subscriber implements BeforeFirstTestMethodErroredSubscriber +final readonly class BeforeTestClassMethodErroredSubscriber extends Subscriber implements BeforeFirstTestMethodErroredSubscriber { public function notify(BeforeFirstTestMethodErrored $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/ExecutionStartedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/ExecutionStartedSubscriber.php index 2d1c1a5f..e054117e 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/ExecutionStartedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/ExecutionStartedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\TestRunner\ExecutionStartedSubscriber as TestRunnerExecutionSt /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class ExecutionStartedSubscriber extends Subscriber implements TestRunnerExecutionStartedSubscriber +final readonly class ExecutionStartedSubscriber extends Subscriber implements TestRunnerExecutionStartedSubscriber { public function notify(ExecutionStarted $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/Subscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/Subscriber.php index 7bb28d20..d7138d44 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/Subscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/Subscriber.php @@ -12,9 +12,9 @@ namespace PHPUnit\TestRunner\TestResult; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -abstract class Subscriber +abstract readonly class Subscriber { - private readonly Collector $collector; + private Collector $collector; public function __construct(Collector $collector) { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestConsideredRiskySubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestConsideredRiskySubscriber.php index 777ca47a..478a9fcc 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestConsideredRiskySubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestConsideredRiskySubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\ConsideredRiskySubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestConsideredRiskySubscriber extends Subscriber implements ConsideredRiskySubscriber +final readonly class TestConsideredRiskySubscriber extends Subscriber implements ConsideredRiskySubscriber { public function notify(ConsideredRisky $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestErroredSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestErroredSubscriber.php index 132482b7..44b92626 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestErroredSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestErroredSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\ErroredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestErroredSubscriber extends Subscriber implements ErroredSubscriber +final readonly class TestErroredSubscriber extends Subscriber implements ErroredSubscriber { public function notify(Errored $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestFailedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestFailedSubscriber.php index 7382b0bb..6e2b57bf 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestFailedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestFailedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\FailedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestFailedSubscriber extends Subscriber implements FailedSubscriber +final readonly class TestFailedSubscriber extends Subscriber implements FailedSubscriber { public function notify(Failed $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestFinishedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestFinishedSubscriber.php index 44aea9f9..cc76bdec 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestFinishedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestFinishedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\FinishedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestFinishedSubscriber extends Subscriber implements FinishedSubscriber +final readonly class TestFinishedSubscriber extends Subscriber implements FinishedSubscriber { public function notify(Finished $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestMarkedIncompleteSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestMarkedIncompleteSubscriber.php index 9c486c53..52986468 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestMarkedIncompleteSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestMarkedIncompleteSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\MarkedIncompleteSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestMarkedIncompleteSubscriber extends Subscriber implements MarkedIncompleteSubscriber +final readonly class TestMarkedIncompleteSubscriber extends Subscriber implements MarkedIncompleteSubscriber { public function notify(MarkedIncomplete $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestPreparedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestPreparedSubscriber.php index cc91590d..064515b8 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestPreparedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestPreparedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\PreparedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestPreparedSubscriber extends Subscriber implements PreparedSubscriber +final readonly class TestPreparedSubscriber extends Subscriber implements PreparedSubscriber { public function notify(Prepared $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestRunnerTriggeredDeprecationSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestRunnerTriggeredDeprecationSubscriber.php index 4dce071c..9fa45e60 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestRunnerTriggeredDeprecationSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestRunnerTriggeredDeprecationSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\TestRunner\DeprecationTriggeredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestRunnerTriggeredDeprecationSubscriber extends Subscriber implements DeprecationTriggeredSubscriber +final readonly class TestRunnerTriggeredDeprecationSubscriber extends Subscriber implements DeprecationTriggeredSubscriber { public function notify(DeprecationTriggered $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestRunnerTriggeredWarningSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestRunnerTriggeredWarningSubscriber.php index ddc2564d..2ef1e0e1 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestRunnerTriggeredWarningSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestRunnerTriggeredWarningSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\TestRunner\WarningTriggeredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestRunnerTriggeredWarningSubscriber extends Subscriber implements WarningTriggeredSubscriber +final readonly class TestRunnerTriggeredWarningSubscriber extends Subscriber implements WarningTriggeredSubscriber { public function notify(WarningTriggered $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestSkippedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestSkippedSubscriber.php index 651e12f5..622d0251 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestSkippedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestSkippedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\SkippedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestSkippedSubscriber extends Subscriber implements SkippedSubscriber +final readonly class TestSkippedSubscriber extends Subscriber implements SkippedSubscriber { public function notify(Skipped $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestSuiteFinishedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestSuiteFinishedSubscriber.php index b4a51dac..84d72c81 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestSuiteFinishedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestSuiteFinishedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\TestSuite\FinishedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestSuiteFinishedSubscriber extends Subscriber implements FinishedSubscriber +final readonly class TestSuiteFinishedSubscriber extends Subscriber implements FinishedSubscriber { public function notify(Finished $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestSuiteSkippedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestSuiteSkippedSubscriber.php index a16ae17e..20609944 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestSuiteSkippedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestSuiteSkippedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\TestSuite\SkippedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestSuiteSkippedSubscriber extends Subscriber implements SkippedSubscriber +final readonly class TestSuiteSkippedSubscriber extends Subscriber implements SkippedSubscriber { public function notify(Skipped $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestSuiteStartedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestSuiteStartedSubscriber.php index d50b1232..5908a66d 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestSuiteStartedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestSuiteStartedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\TestSuite\StartedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestSuiteStartedSubscriber extends Subscriber implements StartedSubscriber +final readonly class TestSuiteStartedSubscriber extends Subscriber implements StartedSubscriber { public function notify(Started $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredDeprecationSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredDeprecationSubscriber.php index 7692bae3..3b7d339a 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredDeprecationSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredDeprecationSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\DeprecationTriggeredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestTriggeredDeprecationSubscriber extends Subscriber implements DeprecationTriggeredSubscriber +final readonly class TestTriggeredDeprecationSubscriber extends Subscriber implements DeprecationTriggeredSubscriber { public function notify(DeprecationTriggered $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredErrorSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredErrorSubscriber.php index fc48c2d4..1a2956c6 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredErrorSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredErrorSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\ErrorTriggeredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestTriggeredErrorSubscriber extends Subscriber implements ErrorTriggeredSubscriber +final readonly class TestTriggeredErrorSubscriber extends Subscriber implements ErrorTriggeredSubscriber { public function notify(ErrorTriggered $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredNoticeSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredNoticeSubscriber.php index dbedc8bd..8544cdea 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredNoticeSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredNoticeSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\NoticeTriggeredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestTriggeredNoticeSubscriber extends Subscriber implements NoticeTriggeredSubscriber +final readonly class TestTriggeredNoticeSubscriber extends Subscriber implements NoticeTriggeredSubscriber { public function notify(NoticeTriggered $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpDeprecationSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpDeprecationSubscriber.php index a1bbc804..c2b73c49 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpDeprecationSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpDeprecationSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\PhpDeprecationTriggeredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestTriggeredPhpDeprecationSubscriber extends Subscriber implements PhpDeprecationTriggeredSubscriber +final readonly class TestTriggeredPhpDeprecationSubscriber extends Subscriber implements PhpDeprecationTriggeredSubscriber { public function notify(PhpDeprecationTriggered $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpNoticeSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpNoticeSubscriber.php index 16f442c8..193d7eef 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpNoticeSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpNoticeSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\PhpNoticeTriggeredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestTriggeredPhpNoticeSubscriber extends Subscriber implements PhpNoticeTriggeredSubscriber +final readonly class TestTriggeredPhpNoticeSubscriber extends Subscriber implements PhpNoticeTriggeredSubscriber { public function notify(PhpNoticeTriggered $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpWarningSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpWarningSubscriber.php index 9ff15316..499ea179 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpWarningSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpWarningSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\PhpWarningTriggeredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestTriggeredPhpWarningSubscriber extends Subscriber implements PhpWarningTriggeredSubscriber +final readonly class TestTriggeredPhpWarningSubscriber extends Subscriber implements PhpWarningTriggeredSubscriber { public function notify(PhpWarningTriggered $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpunitDeprecationSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpunitDeprecationSubscriber.php index bb3ce03c..f1b7b4a9 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpunitDeprecationSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpunitDeprecationSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\PhpunitDeprecationTriggeredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestTriggeredPhpunitDeprecationSubscriber extends Subscriber implements PhpunitDeprecationTriggeredSubscriber +final readonly class TestTriggeredPhpunitDeprecationSubscriber extends Subscriber implements PhpunitDeprecationTriggeredSubscriber { public function notify(PhpunitDeprecationTriggered $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpunitErrorSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpunitErrorSubscriber.php index e61bf0b4..9ce03a5f 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpunitErrorSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpunitErrorSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\PhpunitErrorTriggeredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestTriggeredPhpunitErrorSubscriber extends Subscriber implements PhpunitErrorTriggeredSubscriber +final readonly class TestTriggeredPhpunitErrorSubscriber extends Subscriber implements PhpunitErrorTriggeredSubscriber { public function notify(PhpunitErrorTriggered $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpunitWarningSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpunitWarningSubscriber.php index 89f24886..8f431b3b 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpunitWarningSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpunitWarningSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\PhpunitWarningTriggeredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestTriggeredPhpunitWarningSubscriber extends Subscriber implements PhpunitWarningTriggeredSubscriber +final readonly class TestTriggeredPhpunitWarningSubscriber extends Subscriber implements PhpunitWarningTriggeredSubscriber { public function notify(PhpunitWarningTriggered $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredWarningSubscriber.php b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredWarningSubscriber.php index ac34bb27..633e6777 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredWarningSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredWarningSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\WarningTriggeredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestTriggeredWarningSubscriber extends Subscriber implements WarningTriggeredSubscriber +final readonly class TestTriggeredWarningSubscriber extends Subscriber implements WarningTriggeredSubscriber { public function notify(WarningTriggered $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/TestResult.php b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/TestResult.php index 0944b7cf..2c572608 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/TestResult.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/TestResult/TestResult.php @@ -27,106 +27,106 @@ use PHPUnit\TestRunner\TestResult\Issues\Issue; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestResult +final readonly class TestResult { - private readonly int $numberOfTests; - private readonly int $numberOfTestsRun; - private readonly int $numberOfAssertions; + private int $numberOfTests; + private int $numberOfTestsRun; + private int $numberOfAssertions; /** * @psalm-var list */ - private readonly array $testErroredEvents; + private array $testErroredEvents; /** * @psalm-var list */ - private readonly array $testFailedEvents; + private array $testFailedEvents; /** * @psalm-var list */ - private readonly array $testMarkedIncompleteEvents; + private array $testMarkedIncompleteEvents; /** * @psalm-var list */ - private readonly array $testSuiteSkippedEvents; + private array $testSuiteSkippedEvents; /** * @psalm-var list */ - private readonly array $testSkippedEvents; + private array $testSkippedEvents; /** * @psalm-var array> */ - private readonly array $testConsideredRiskyEvents; + private array $testConsideredRiskyEvents; /** * @psalm-var array> */ - private readonly array $testTriggeredPhpunitDeprecationEvents; + private array $testTriggeredPhpunitDeprecationEvents; /** * @psalm-var array> */ - private readonly array $testTriggeredPhpunitErrorEvents; + private array $testTriggeredPhpunitErrorEvents; /** * @psalm-var array> */ - private readonly array $testTriggeredPhpunitWarningEvents; + private array $testTriggeredPhpunitWarningEvents; /** * @psalm-var list */ - private readonly array $testRunnerTriggeredDeprecationEvents; + private array $testRunnerTriggeredDeprecationEvents; /** * @psalm-var list */ - private readonly array $testRunnerTriggeredWarningEvents; + private array $testRunnerTriggeredWarningEvents; /** * @psalm-var list */ - private readonly array $errors; + private array $errors; /** * @psalm-var list */ - private readonly array $deprecations; + private array $deprecations; /** * @psalm-var list */ - private readonly array $notices; + private array $notices; /** * @psalm-var list */ - private readonly array $warnings; + private array $warnings; /** * @psalm-var list */ - private readonly array $phpDeprecations; + private array $phpDeprecations; /** * @psalm-var list */ - private readonly array $phpNotices; + private array $phpNotices; /** * @psalm-var list */ - private readonly array $phpWarnings; + private array $phpWarnings; /** * @psalm-var non-negative-int */ - private readonly int $numberOfIssuesIgnoredByBaseline; + private int $numberOfIssuesIgnoredByBaseline; /** * @psalm-param list $testErroredEvents diff --git a/Sources/vendor/phpunit/phpunit/src/Runner/Version.php b/Sources/vendor/phpunit/phpunit/src/Runner/Version.php index bcabd74a..9ee65a8f 100644 --- a/Sources/vendor/phpunit/phpunit/src/Runner/Version.php +++ b/Sources/vendor/phpunit/phpunit/src/Runner/Version.php @@ -34,7 +34,7 @@ final class Version } if (self::$version === '') { - self::$version = (new VersionId('10.5.5', dirname(__DIR__, 2)))->asString(); + self::$version = (new VersionId('11.0.8', dirname(__DIR__, 2)))->asString(); } return self::$version; @@ -51,6 +51,11 @@ final class Version return implode('.', array_slice(explode('.', $version), 0, 2)); } + public static function majorVersionNumber(): int + { + return (int) explode('.', self::series())[0]; + } + public static function getVersionString(): string { return 'PHPUnit ' . self::id() . ' by Sebastian Bergmann and contributors.'; diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Application.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Application.php index 7dc77d13..d95541e1 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Application.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Application.php @@ -27,12 +27,12 @@ use PHPUnit\Logging\TeamCity\TeamCityLogger; use PHPUnit\Logging\TestDox\HtmlRenderer as TestDoxHtmlRenderer; use PHPUnit\Logging\TestDox\PlainTextRenderer as TestDoxTextRenderer; use PHPUnit\Logging\TestDox\TestResultCollector as TestDoxResultCollector; -use PHPUnit\Metadata\Api\CodeCoverage as CodeCoverageMetadataApi; use PHPUnit\Runner\Baseline\CannotLoadBaselineException; use PHPUnit\Runner\Baseline\Generator as BaselineGenerator; use PHPUnit\Runner\Baseline\Reader; use PHPUnit\Runner\Baseline\Writer; use PHPUnit\Runner\CodeCoverage; +use PHPUnit\Runner\DeprecationCollector\Facade as DeprecationCollector; use PHPUnit\Runner\ErrorHandler; use PHPUnit\Runner\Extension\ExtensionBootstrapper; use PHPUnit\Runner\Extension\Facade as ExtensionFacade; @@ -52,6 +52,7 @@ use PHPUnit\TextUI\CliArguments\XmlConfigurationFileFinder; use PHPUnit\TextUI\Command\AtLeastVersionCommand; use PHPUnit\TextUI\Command\GenerateConfigurationCommand; use PHPUnit\TextUI\Command\ListGroupsCommand; +use PHPUnit\TextUI\Command\ListTestFilesCommand; use PHPUnit\TextUI\Command\ListTestsAsTextCommand; use PHPUnit\TextUI\Command\ListTestsAsXmlCommand; use PHPUnit\TextUI\Command\ListTestSuitesCommand; @@ -78,7 +79,7 @@ use Throwable; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Application +final readonly class Application { public function run(array $argv): int { @@ -115,7 +116,6 @@ final class Application $extensionReplacesOutput = false; $extensionReplacesProgressOutput = false; $extensionReplacesResultOutput = false; - $extensionRequiresExportOfObjects = false; if (!$configuration->noExtensions()) { if ($configuration->hasPharExtensionDirectory()) { @@ -129,11 +129,6 @@ final class Application $extensionReplacesOutput = $bootstrappedExtensions['replacesOutput']; $extensionReplacesProgressOutput = $bootstrappedExtensions['replacesProgressOutput']; $extensionReplacesResultOutput = $bootstrappedExtensions['replacesResultOutput']; - $extensionRequiresExportOfObjects = $bootstrappedExtensions['requiresExportOfObjects']; - } - - if ($extensionRequiresExportOfObjects) { - EventFacade::emitter()->exportObjects(); } CodeCoverage::instance()->init( @@ -142,19 +137,13 @@ final class Application $extensionRequiresCodeCoverageCollection, ); - if (CodeCoverage::instance()->isActive()) { - CodeCoverage::instance()->ignoreLines( - (new CodeCoverageMetadataApi)->linesToBeIgnored($testSuite), - ); - } - $printer = OutputFacade::init( $configuration, $extensionReplacesProgressOutput, $extensionReplacesResultOutput, ); - if (!$extensionReplacesOutput) { + if (!$configuration->debug() && !$extensionReplacesOutput) { $this->writeRuntimeInformation($printer, $configuration); $this->writePharExtensionInformation($printer, $pharExtensions); $this->writeRandomSeedInformation($printer, $configuration); @@ -162,11 +151,21 @@ final class Application $printer->print(PHP_EOL); } + if ($configuration->debug()) { + EventFacade::instance()->registerTracer( + new EventLogger( + 'php://stdout', + false, + ), + ); + } + $this->registerLogfileWriters($configuration); $testDoxResultCollector = $this->testDoxResultCollector($configuration); TestResultFacade::init(); + DeprecationCollector::init(); $resultCache = $this->initializeTestResultCache($configuration); @@ -216,7 +215,7 @@ final class Application $result = TestResultFacade::result(); - if (!$extensionReplacesResultOutput) { + if (!$extensionReplacesResultOutput && !$configuration->debug()) { OutputFacade::printResult($result, $testDoxResult, $duration); } @@ -323,7 +322,7 @@ final class Application private function loadXmlConfiguration(false|string $configurationFile): XmlConfiguration { - if (!$configurationFile) { + if ($configurationFile === false) { return DefaultConfiguration::create(); } @@ -344,7 +343,7 @@ final class Application } /** - * @psalm-return array{requiresCodeCoverageCollection: bool, replacesOutput: bool, replacesProgressOutput: bool, replacesResultOutput: bool, requiresExportOfObjects: bool} + * @psalm-return array{requiresCodeCoverageCollection: bool, replacesOutput: bool, replacesProgressOutput: bool, replacesResultOutput: bool} */ private function bootstrapExtensions(Configuration $configuration): array { @@ -367,7 +366,6 @@ final class Application 'replacesOutput' => $facade->replacesOutput(), 'replacesProgressOutput' => $facade->replacesProgressOutput(), 'replacesResultOutput' => $facade->replacesResultOutput(), - 'requiresExportOfObjects' => $facade->requiresExportOfObjects(), ]; } @@ -378,7 +376,7 @@ final class Application } if ($cliConfiguration->migrateConfiguration()) { - if (!$configurationFile) { + if ($configurationFile === false) { $this->exitWithErrorMessage('No configuration file found to migrate'); } @@ -420,6 +418,10 @@ final class Application ), ); } + + if ($cliConfiguration->listTestFiles()) { + $this->execute(new ListTestFilesCommand($testSuite)); + } } private function executeCommandsThatRequireCompleteConfiguration(Configuration $configuration, CliConfiguration $cliConfiguration): void @@ -531,8 +533,6 @@ final class Application true, ), ); - - EventFacade::emitter()->exportObjects(); } if ($configuration->hasLogfileJunit()) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/AtLeastVersionCommand.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/AtLeastVersionCommand.php index 2fe62c51..0d776af0 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/AtLeastVersionCommand.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/AtLeastVersionCommand.php @@ -15,9 +15,9 @@ use PHPUnit\Runner\Version; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class AtLeastVersionCommand implements Command +final readonly class AtLeastVersionCommand implements Command { - private readonly string $version; + private string $version; public function __construct(string $version) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/GenerateConfigurationCommand.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/GenerateConfigurationCommand.php index 7f450006..a379b085 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/GenerateConfigurationCommand.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/GenerateConfigurationCommand.php @@ -19,7 +19,7 @@ use PHPUnit\TextUI\XmlConfiguration\Generator; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class GenerateConfigurationCommand implements Command +final readonly class GenerateConfigurationCommand implements Command { public function execute(): Result { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/ListGroupsCommand.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/ListGroupsCommand.php index e014d3f0..9c485d9f 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/ListGroupsCommand.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/ListGroupsCommand.php @@ -18,9 +18,9 @@ use PHPUnit\TextUI\Configuration\Registry; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class ListGroupsCommand implements Command +final readonly class ListGroupsCommand implements Command { - private readonly TestSuite $suite; + private TestSuite $suite; public function __construct(TestSuite $suite) { @@ -59,6 +59,10 @@ final class ListGroupsCommand implements Command $buffer .= 'The --filter and --list-groups options cannot be combined, --filter is ignored' . PHP_EOL; } + if ($configuration->hasExcludeFilter()) { + $buffer .= 'The --exclude-filter and --list-groups options cannot be combined, --exclude-filter is ignored' . PHP_EOL; + } + if ($configuration->hasGroups()) { $buffer .= 'The --group and --list-groups options cannot be combined, --group is ignored' . PHP_EOL; } @@ -68,7 +72,7 @@ final class ListGroupsCommand implements Command } if ($configuration->includeTestSuite() !== '') { - $buffer .= 'The --testsuite and --list-groups options cannot be combined, --exclude-group is ignored' . PHP_EOL; + $buffer .= 'The --testsuite and --list-groups options cannot be combined, --testsuite is ignored' . PHP_EOL; } if (!empty($buffer)) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/ListTestSuitesCommand.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/ListTestSuitesCommand.php index 78c17116..82ce7907 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/ListTestSuitesCommand.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/ListTestSuitesCommand.php @@ -16,9 +16,9 @@ use PHPUnit\TextUI\Configuration\TestSuiteCollection; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class ListTestSuitesCommand implements Command +final readonly class ListTestSuitesCommand implements Command { - private readonly TestSuiteCollection $suites; + private TestSuiteCollection $suites; public function __construct(TestSuiteCollection $suites) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/ListTestsAsTextCommand.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/ListTestsAsTextCommand.php index c376a631..dd771b18 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/ListTestsAsTextCommand.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/ListTestsAsTextCommand.php @@ -20,9 +20,9 @@ use RecursiveIteratorIterator; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class ListTestsAsTextCommand implements Command +final readonly class ListTestsAsTextCommand implements Command { - private readonly TestSuite $suite; + private TestSuite $suite; public function __construct(TestSuite $suite) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/ListTestsAsXmlCommand.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/ListTestsAsXmlCommand.php index acb4500c..ebf9fc87 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/ListTestsAsXmlCommand.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/ListTestsAsXmlCommand.php @@ -10,9 +10,8 @@ namespace PHPUnit\TextUI\Command; use function file_put_contents; -use function implode; +use function ksort; use function sprintf; -use function str_replace; use PHPUnit\Framework\TestCase; use PHPUnit\Framework\TestSuite; use PHPUnit\Runner\PhptTestCase; @@ -23,10 +22,10 @@ use XMLWriter; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class ListTestsAsXmlCommand implements Command +final readonly class ListTestsAsXmlCommand implements Command { - private readonly string $filename; - private readonly TestSuite $suite; + private string $filename; + private TestSuite $suite; public function __construct(string $filename, TestSuite $suite) { @@ -42,64 +41,82 @@ final class ListTestsAsXmlCommand implements Command $writer->openMemory(); $writer->setIndent(true); $writer->startDocument(); + + $writer->startElement('testSuite'); + $writer->writeAttribute('xmlns', 'https://xml.phpunit.de/testSuite'); + $writer->startElement('tests'); - $currentTestCase = null; + $currentTestClass = null; + $groups = []; foreach (new RecursiveIteratorIterator($this->suite) as $test) { if ($test instanceof TestCase) { - if ($test::class !== $currentTestCase) { - if ($currentTestCase !== null) { + foreach ($test->groups() as $group) { + if (!isset($groups[$group])) { + $groups[$group] = []; + } + + $groups[$group][] = $test->valueObjectForEvents()->id(); + } + + if ($test::class !== $currentTestClass) { + if ($currentTestClass !== null) { $writer->endElement(); } - $writer->startElement('testCaseClass'); + $writer->startElement('testClass'); $writer->writeAttribute('name', $test::class); + $writer->writeAttribute('file', $test->valueObjectForEvents()->file()); - $currentTestCase = $test::class; + $currentTestClass = $test::class; } - $writer->startElement('testCaseMethod'); + $writer->startElement('testMethod'); $writer->writeAttribute('id', $test->valueObjectForEvents()->id()); - $writer->writeAttribute('name', $test->name()); - $writer->writeAttribute('groups', implode(',', $test->groups())); - - /** - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5481 - */ - if (!empty($test->dataSetAsString())) { - $writer->writeAttribute( - 'dataSet', - str_replace( - ' with data set ', - '', - $test->dataSetAsString(), - ), - ); - } - + $writer->writeAttribute('name', $test->valueObjectForEvents()->methodName()); $writer->endElement(); continue; } if ($test instanceof PhptTestCase) { - if ($currentTestCase !== null) { + if ($currentTestClass !== null) { $writer->endElement(); - $currentTestCase = null; + $currentTestClass = null; } - $writer->startElement('phptFile'); - $writer->writeAttribute('path', $test->getName()); + $writer->startElement('phpt'); + $writer->writeAttribute('file', $test->getName()); $writer->endElement(); } } - if ($currentTestCase !== null) { + if ($currentTestClass !== null) { + $writer->endElement(); + } + + $writer->endElement(); + + ksort($groups); + + $writer->startElement('groups'); + + foreach ($groups as $groupName => $testIds) { + $writer->startElement('group'); + $writer->writeAttribute('name', $groupName); + + foreach ($testIds as $testId) { + $writer->startElement('test'); + $writer->writeAttribute('id', $testId); + $writer->endElement(); + } + $writer->endElement(); } + $writer->endElement(); $writer->endElement(); file_put_contents($this->filename, $writer->outputMemory()); diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/MigrateConfigurationCommand.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/MigrateConfigurationCommand.php index 50001940..2f31e042 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/MigrateConfigurationCommand.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/MigrateConfigurationCommand.php @@ -11,15 +11,16 @@ namespace PHPUnit\TextUI\Command; use function copy; use function file_put_contents; +use function sprintf; use PHPUnit\TextUI\XmlConfiguration\Migrator; use Throwable; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class MigrateConfigurationCommand implements Command +final readonly class MigrateConfigurationCommand implements Command { - private readonly string $filename; + private string $filename; public function __construct(string $filename) { @@ -28,24 +29,33 @@ final class MigrateConfigurationCommand implements Command public function execute(): Result { - copy($this->filename, $this->filename . '.bak'); + try { + $migrated = (new Migrator)->migrate($this->filename); - $buffer = 'Created backup: ' . $this->filename . '.bak' . PHP_EOL; - $shellExitCode = Result::SUCCESS; + copy($this->filename, $this->filename . '.bak'); - try { - file_put_contents( - $this->filename, - (new Migrator)->migrate($this->filename), - ); + file_put_contents($this->filename, $migrated); - $buffer .= 'Migrated configuration: ' . $this->filename . PHP_EOL; + return Result::from( + sprintf( + 'Created backup: %s.bak%sMigrated configuration: %s%s', + $this->filename, + PHP_EOL, + $this->filename, + PHP_EOL, + ), + ); } catch (Throwable $t) { - $buffer .= 'Migration failed: ' . $t->getMessage() . PHP_EOL; - - $shellExitCode = Result::FAILURE; + return Result::from( + sprintf( + 'Migration of %s failed:%s%s%s', + $this->filename, + PHP_EOL, + $t->getMessage(), + PHP_EOL, + ), + Result::FAILURE, + ); } - - return Result::from($buffer, $shellExitCode); } } diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/ShowHelpCommand.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/ShowHelpCommand.php index aae306e5..c58231f8 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/ShowHelpCommand.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/ShowHelpCommand.php @@ -14,9 +14,9 @@ use PHPUnit\TextUI\Help; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class ShowHelpCommand implements Command +final readonly class ShowHelpCommand implements Command { - private readonly int $shellExitCode; + private int $shellExitCode; public function __construct(int $shellExitCode) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/ShowVersionCommand.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/ShowVersionCommand.php index b5ddfc29..432d6242 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/ShowVersionCommand.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/ShowVersionCommand.php @@ -12,7 +12,7 @@ namespace PHPUnit\TextUI\Command; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class ShowVersionCommand implements Command +final readonly class ShowVersionCommand implements Command { public function execute(): Result { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/VersionCheckCommand.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/VersionCheckCommand.php index 9de4c02a..c21a8dca 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/VersionCheckCommand.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/VersionCheckCommand.php @@ -19,25 +19,43 @@ use PHPUnit\Runner\Version; * * @codeCoverageIgnore */ -final class VersionCheckCommand implements Command +final readonly class VersionCheckCommand implements Command { public function execute(): Result { - $latestVersion = file_get_contents('https://phar.phpunit.de/latest-version-of/phpunit'); - $isOutdated = version_compare($latestVersion, Version::id(), '>'); + $latestVersion = file_get_contents('https://phar.phpunit.de/latest-version-of/phpunit'); + $latestCompatibleVersion = @file_get_contents('https://phar.phpunit.de/latest-version-of/phpunit-' . Version::majorVersionNumber()); - if ($isOutdated) { + $notLatest = version_compare($latestVersion, Version::id(), '>'); + $notLatestCompatible = false; + + if ($latestCompatibleVersion !== false) { + $notLatestCompatible = version_compare($latestCompatibleVersion, Version::id(), '>'); + } + + if (!$notLatest && !$notLatestCompatible) { return Result::from( - sprintf( - 'You are not using the latest version of PHPUnit.' . PHP_EOL . - 'The latest version is PHPUnit %s.' . PHP_EOL, - $latestVersion, - ), + 'You are using the latest version of PHPUnit.' . PHP_EOL, + ); + } + + $buffer = 'You are not using the latest version of PHPUnit.' . PHP_EOL; + + if ($notLatestCompatible) { + $buffer .= sprintf( + 'The latest version compatible with PHPUnit %s is PHPUnit %s.' . PHP_EOL, + Version::id(), + $latestCompatibleVersion, + ); + } + + if ($notLatest) { + $buffer .= sprintf( + 'The latest version is PHPUnit %s.' . PHP_EOL, + $latestVersion, ); } - return Result::from( - 'You are using the latest version of PHPUnit.' . PHP_EOL, - ); + return Result::from($buffer, Result::FAILURE); } } diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/WarmCodeCoverageCacheCommand.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/WarmCodeCoverageCacheCommand.php index 86303e13..beae3508 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/WarmCodeCoverageCacheCommand.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Commands/WarmCodeCoverageCacheCommand.php @@ -21,10 +21,10 @@ use SebastianBergmann\Timer\Timer; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class WarmCodeCoverageCacheCommand implements Command +final readonly class WarmCodeCoverageCacheCommand implements Command { - private readonly Configuration $configuration; - private readonly CodeCoverageFilterRegistry $codeCoverageFilterRegistry; + private Configuration $configuration; + private CodeCoverageFilterRegistry $codeCoverageFilterRegistry; public function __construct(Configuration $configuration, CodeCoverageFilterRegistry $codeCoverageFilterRegistry) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Result.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Result.php index 7391c6da..fc55eeb1 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Result.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Command/Result.php @@ -14,14 +14,14 @@ namespace PHPUnit\TextUI\Command; * * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Result +final readonly class Result { public const SUCCESS = 0; public const FAILURE = 1; public const EXCEPTION = 2; public const CRASH = 255; - private readonly string $output; - private readonly int $shellExitCode; + private string $output; + private int $shellExitCode; public static function from(string $output = '', int $shellExitCode = self::SUCCESS): self { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Builder.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Builder.php index 48fc0578..29ca2125 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Builder.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Builder.php @@ -21,7 +21,7 @@ use PHPUnit\TextUI\XmlConfiguration\Loader; * * @codeCoverageIgnore */ -final class Builder +final readonly class Builder { /** * @throws ConfigurationCannotBeBuiltException @@ -33,7 +33,7 @@ final class Builder $configurationFile = (new XmlConfigurationFileFinder)->find($cliConfiguration); $xmlConfiguration = DefaultConfiguration::create(); - if ($configurationFile) { + if ($configurationFile !== false) { $xmlConfiguration = (new Loader)->load($configurationFile); } diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Cli/Builder.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Cli/Builder.php index 034656bf..d35e4e52 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Cli/Builder.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Cli/Builder.php @@ -16,7 +16,9 @@ use function getcwd; use function is_file; use function is_numeric; use function sprintf; +use PHPUnit\Event\Facade as EventFacade; use PHPUnit\Runner\TestSuiteSorter; +use PHPUnit\Util\Filesystem; use SebastianBergmann\CliParser\Exception as CliParserException; use SebastianBergmann\CliParser\Parser as CliParser; @@ -31,12 +33,10 @@ final class Builder 'cache-result', 'do-not-cache-result', 'cache-directory=', - 'cache-result-file=', 'check-version', 'colors==', 'columns=', 'configuration=', - 'coverage-cache=', 'warm-coverage-cache', 'coverage-filter=', 'coverage-clover=', @@ -58,6 +58,7 @@ final class Builder 'enforce-time-limit', 'exclude-group=', 'filter=', + 'exclude-filter=', 'generate-baseline=', 'use-baseline=', 'ignore-baseline', @@ -72,6 +73,7 @@ final class Builder 'include-path=', 'list-groups', 'list-suites', + 'list-test-files', 'list-tests', 'list-tests-xml=', 'log-junit=', @@ -122,9 +124,15 @@ final class Builder 'log-events-text=', 'log-events-verbose-text=', 'version', + 'debug', ]; private const SHORT_OPTIONS = 'd:c:h'; + /** + * @psalm-var array + */ + private array $processed = []; + /** * @throws Exception */ @@ -151,12 +159,10 @@ final class Builder $bootstrap = null; $cacheDirectory = null; $cacheResult = null; - $cacheResultFile = null; $checkVersion = false; $colors = null; $columns = null; $configuration = null; - $coverageCacheDirectory = null; $warmCoverageCache = false; $coverageFilter = null; $coverageClover = null; @@ -199,6 +205,7 @@ final class Builder $stopOnSkipped = null; $stopOnWarning = null; $filter = null; + $excludeFilter = null; $generateBaseline = null; $useBaseline = null; $ignoreBaseline = false; @@ -213,6 +220,7 @@ final class Builder $junitLogfile = null; $listGroups = false; $listSuites = false; + $listTestFiles = false; $listTests = false; $listTestsXml = null; $noCoverage = null; @@ -240,8 +248,11 @@ final class Builder $logEventsVerboseText = null; $printerTeamCity = null; $printerTestDox = null; + $debug = false; foreach ($options[0] as $option) { + $optionAllowedMultipleTimes = false; + switch ($option[0]) { case '--colors': $colors = $option[1] ?: \PHPUnit\TextUI\Configuration\Configuration::COLOR_AUTO; @@ -268,11 +279,6 @@ final class Builder break; - case '--cache-result-file': - $cacheResultFile = $option[1]; - - break; - case '--columns': if (is_numeric($option[1])) { $columns = (int) $option[1]; @@ -288,11 +294,6 @@ final class Builder break; - case '--coverage-cache': - $coverageCacheDirectory = $option[1]; - - break; - case '--warm-coverage-cache': $warmCoverageCache = true; @@ -355,6 +356,8 @@ final class Builder } } + $optionAllowedMultipleTimes = true; + break; case 'h': @@ -368,6 +371,11 @@ final class Builder break; + case '--exclude-filter': + $excludeFilter = $option[1]; + + break; + case '--testsuite': $testSuite = $option[1]; @@ -390,7 +398,7 @@ final class Builder case '--use-baseline': $useBaseline = $option[1]; - if (!is_file($useBaseline) && basename($useBaseline) === $useBaseline) { + if (basename($useBaseline) === $useBaseline && !is_file($useBaseline)) { $useBaseline = getcwd() . DIRECTORY_SEPARATOR . $useBaseline; } @@ -451,6 +459,11 @@ final class Builder break; + case '--list-test-files': + $listTestFiles = true; + + break; + case '--list-tests': $listTests = true; @@ -803,15 +816,42 @@ final class Builder break; case '--log-events-text': - $logEventsText = $option[1]; + $logEventsText = Filesystem::resolveStreamOrFile($option[1]); + + if ($logEventsText === false) { + throw new Exception( + sprintf( + 'The path "%s" specified for the --log-events-text option could not be resolved', + $option[1], + ), + ); + } break; case '--log-events-verbose-text': - $logEventsVerboseText = $option[1]; + $logEventsVerboseText = Filesystem::resolveStreamOrFile($option[1]); + + if ($logEventsVerboseText === false) { + throw new Exception( + sprintf( + 'The path "%s" specified for the --log-events-verbose-text option could not be resolved', + $option[1], + ), + ); + } + + break; + + case '--debug': + $debug = true; break; } + + if (!$optionAllowedMultipleTimes) { + $this->markProcessed($option[0]); + } } if (empty($iniSettings)) { @@ -831,7 +871,6 @@ final class Builder $bootstrap, $cacheDirectory, $cacheResult, - $cacheResultFile, $checkVersion, $colors, $columns, @@ -846,7 +885,6 @@ final class Builder $coverageTextShowOnlySummary, $coverageXml, $pathCoverage, - $coverageCacheDirectory, $warmCoverageCache, $defaultTimeLimit, $disableCodeCoverageIgnore, @@ -872,6 +910,7 @@ final class Builder $stopOnSkipped, $stopOnWarning, $filter, + $excludeFilter, $generateBaseline, $useBaseline, $ignoreBaseline, @@ -886,6 +925,7 @@ final class Builder $junitLogfile, $listGroups, $listSuites, + $listTestFiles, $listTests, $listTestsXml, $noCoverage, @@ -920,6 +960,30 @@ final class Builder $logEventsVerboseText, $printerTeamCity, $printerTestDox, + $debug, ); } + + /** + * @psalm-param non-empty-string $option + */ + private function markProcessed(string $option): void + { + if (!isset($this->processed[$option])) { + $this->processed[$option] = 1; + + return; + } + + $this->processed[$option]++; + + if ($this->processed[$option] === 2) { + EventFacade::emitter()->testRunnerTriggeredWarning( + sprintf( + 'Option %s cannot be used more than once', + $option, + ), + ); + } + } } diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Cli/Configuration.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Cli/Configuration.php index cca980ea..5c738e24 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Cli/Configuration.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Cli/Configuration.php @@ -14,118 +14,119 @@ namespace PHPUnit\TextUI\CliArguments; * * @psalm-immutable */ -final class Configuration +final readonly class Configuration { /** * @psalm-var list */ - private readonly array $arguments; - private readonly ?string $atLeastVersion; - private readonly ?bool $backupGlobals; - private readonly ?bool $backupStaticProperties; - private readonly ?bool $beStrictAboutChangesToGlobalState; - private readonly ?string $bootstrap; - private readonly ?string $cacheDirectory; - private readonly ?bool $cacheResult; - private readonly ?string $cacheResultFile; - private readonly bool $checkVersion; - private readonly ?string $colors; - private readonly null|int|string $columns; - private readonly ?string $configurationFile; - private readonly ?array $coverageFilter; - private readonly ?string $coverageClover; - private readonly ?string $coverageCobertura; - private readonly ?string $coverageCrap4J; - private readonly ?string $coverageHtml; - private readonly ?string $coveragePhp; - private readonly ?string $coverageText; - private readonly ?bool $coverageTextShowUncoveredFiles; - private readonly ?bool $coverageTextShowOnlySummary; - private readonly ?string $coverageXml; - private readonly ?bool $pathCoverage; - private readonly ?string $coverageCacheDirectory; - private readonly bool $warmCoverageCache; - private readonly ?int $defaultTimeLimit; - private readonly ?bool $disableCodeCoverageIgnore; - private readonly ?bool $disallowTestOutput; - private readonly ?bool $enforceTimeLimit; - private readonly ?array $excludeGroups; - private readonly ?int $executionOrder; - private readonly ?int $executionOrderDefects; - private readonly ?bool $failOnDeprecation; - private readonly ?bool $failOnEmptyTestSuite; - private readonly ?bool $failOnIncomplete; - private readonly ?bool $failOnNotice; - private readonly ?bool $failOnRisky; - private readonly ?bool $failOnSkipped; - private readonly ?bool $failOnWarning; - private readonly ?bool $stopOnDefect; - private readonly ?bool $stopOnDeprecation; - private readonly ?bool $stopOnError; - private readonly ?bool $stopOnFailure; - private readonly ?bool $stopOnIncomplete; - private readonly ?bool $stopOnNotice; - private readonly ?bool $stopOnRisky; - private readonly ?bool $stopOnSkipped; - private readonly ?bool $stopOnWarning; - private readonly ?string $filter; - private readonly ?string $generateBaseline; - private readonly ?string $useBaseline; - private readonly bool $ignoreBaseline; - private readonly bool $generateConfiguration; - private readonly bool $migrateConfiguration; - private readonly ?array $groups; - private readonly ?array $testsCovering; - private readonly ?array $testsUsing; - private readonly bool $help; - private readonly ?string $includePath; - private readonly ?array $iniSettings; - private readonly ?string $junitLogfile; - private readonly bool $listGroups; - private readonly bool $listSuites; - private readonly bool $listTests; - private readonly ?string $listTestsXml; - private readonly ?bool $noCoverage; - private readonly ?bool $noExtensions; - private readonly ?bool $noOutput; - private readonly ?bool $noProgress; - private readonly ?bool $noResults; - private readonly ?bool $noLogging; - private readonly ?bool $processIsolation; - private readonly ?int $randomOrderSeed; - private readonly ?bool $reportUselessTests; - private readonly ?bool $resolveDependencies; - private readonly ?bool $reverseList; - private readonly ?bool $stderr; - private readonly ?bool $strictCoverage; - private readonly ?string $teamcityLogfile; - private readonly ?bool $teamCityPrinter; - private readonly ?string $testdoxHtmlFile; - private readonly ?string $testdoxTextFile; - private readonly ?bool $testdoxPrinter; + private array $arguments; + private ?string $atLeastVersion; + private ?bool $backupGlobals; + private ?bool $backupStaticProperties; + private ?bool $beStrictAboutChangesToGlobalState; + private ?string $bootstrap; + private ?string $cacheDirectory; + private ?bool $cacheResult; + private bool $checkVersion; + private ?string $colors; + private null|int|string $columns; + private ?string $configurationFile; + private ?array $coverageFilter; + private ?string $coverageClover; + private ?string $coverageCobertura; + private ?string $coverageCrap4J; + private ?string $coverageHtml; + private ?string $coveragePhp; + private ?string $coverageText; + private ?bool $coverageTextShowUncoveredFiles; + private ?bool $coverageTextShowOnlySummary; + private ?string $coverageXml; + private ?bool $pathCoverage; + private bool $warmCoverageCache; + private ?int $defaultTimeLimit; + private ?bool $disableCodeCoverageIgnore; + private ?bool $disallowTestOutput; + private ?bool $enforceTimeLimit; + private ?array $excludeGroups; + private ?int $executionOrder; + private ?int $executionOrderDefects; + private ?bool $failOnDeprecation; + private ?bool $failOnEmptyTestSuite; + private ?bool $failOnIncomplete; + private ?bool $failOnNotice; + private ?bool $failOnRisky; + private ?bool $failOnSkipped; + private ?bool $failOnWarning; + private ?bool $stopOnDefect; + private ?bool $stopOnDeprecation; + private ?bool $stopOnError; + private ?bool $stopOnFailure; + private ?bool $stopOnIncomplete; + private ?bool $stopOnNotice; + private ?bool $stopOnRisky; + private ?bool $stopOnSkipped; + private ?bool $stopOnWarning; + private ?string $filter; + private ?string $excludeFilter; + private ?string $generateBaseline; + private ?string $useBaseline; + private bool $ignoreBaseline; + private bool $generateConfiguration; + private bool $migrateConfiguration; + private ?array $groups; + private ?array $testsCovering; + private ?array $testsUsing; + private bool $help; + private ?string $includePath; + private ?array $iniSettings; + private ?string $junitLogfile; + private bool $listGroups; + private bool $listSuites; + private bool $listTestFiles; + private bool $listTests; + private ?string $listTestsXml; + private ?bool $noCoverage; + private ?bool $noExtensions; + private ?bool $noOutput; + private ?bool $noProgress; + private ?bool $noResults; + private ?bool $noLogging; + private ?bool $processIsolation; + private ?int $randomOrderSeed; + private ?bool $reportUselessTests; + private ?bool $resolveDependencies; + private ?bool $reverseList; + private ?bool $stderr; + private ?bool $strictCoverage; + private ?string $teamcityLogfile; + private ?bool $teamCityPrinter; + private ?string $testdoxHtmlFile; + private ?string $testdoxTextFile; + private ?bool $testdoxPrinter; /** * @psalm-var ?non-empty-list */ - private readonly ?array $testSuffixes; - private readonly ?string $testSuite; - private readonly ?string $excludeTestSuite; - private readonly bool $useDefaultConfiguration; - private readonly ?bool $displayDetailsOnIncompleteTests; - private readonly ?bool $displayDetailsOnSkippedTests; - private readonly ?bool $displayDetailsOnTestsThatTriggerDeprecations; - private readonly ?bool $displayDetailsOnTestsThatTriggerErrors; - private readonly ?bool $displayDetailsOnTestsThatTriggerNotices; - private readonly ?bool $displayDetailsOnTestsThatTriggerWarnings; - private readonly bool $version; - private readonly ?string $logEventsText; - private readonly ?string $logEventsVerboseText; + private ?array $testSuffixes; + private ?string $testSuite; + private ?string $excludeTestSuite; + private bool $useDefaultConfiguration; + private ?bool $displayDetailsOnIncompleteTests; + private ?bool $displayDetailsOnSkippedTests; + private ?bool $displayDetailsOnTestsThatTriggerDeprecations; + private ?bool $displayDetailsOnTestsThatTriggerErrors; + private ?bool $displayDetailsOnTestsThatTriggerNotices; + private ?bool $displayDetailsOnTestsThatTriggerWarnings; + private bool $version; + private ?string $logEventsText; + private ?string $logEventsVerboseText; + private bool $debug; /** * @psalm-param list $arguments * @psalm-param ?non-empty-list $testSuffixes */ - public function __construct(array $arguments, ?string $atLeastVersion, ?bool $backupGlobals, ?bool $backupStaticProperties, ?bool $beStrictAboutChangesToGlobalState, ?string $bootstrap, ?string $cacheDirectory, ?bool $cacheResult, ?string $cacheResultFile, bool $checkVersion, ?string $colors, null|int|string $columns, ?string $configurationFile, ?string $coverageClover, ?string $coverageCobertura, ?string $coverageCrap4J, ?string $coverageHtml, ?string $coveragePhp, ?string $coverageText, ?bool $coverageTextShowUncoveredFiles, ?bool $coverageTextShowOnlySummary, ?string $coverageXml, ?bool $pathCoverage, ?string $coverageCacheDirectory, bool $warmCoverageCache, ?int $defaultTimeLimit, ?bool $disableCodeCoverageIgnore, ?bool $disallowTestOutput, ?bool $enforceTimeLimit, ?array $excludeGroups, ?int $executionOrder, ?int $executionOrderDefects, ?bool $failOnDeprecation, ?bool $failOnEmptyTestSuite, ?bool $failOnIncomplete, ?bool $failOnNotice, ?bool $failOnRisky, ?bool $failOnSkipped, ?bool $failOnWarning, ?bool $stopOnDefect, ?bool $stopOnDeprecation, ?bool $stopOnError, ?bool $stopOnFailure, ?bool $stopOnIncomplete, ?bool $stopOnNotice, ?bool $stopOnRisky, ?bool $stopOnSkipped, ?bool $stopOnWarning, ?string $filter, ?string $generateBaseline, ?string $useBaseline, bool $ignoreBaseline, bool $generateConfiguration, bool $migrateConfiguration, ?array $groups, ?array $testsCovering, ?array $testsUsing, bool $help, ?string $includePath, ?array $iniSettings, ?string $junitLogfile, bool $listGroups, bool $listSuites, bool $listTests, ?string $listTestsXml, ?bool $noCoverage, ?bool $noExtensions, ?bool $noOutput, ?bool $noProgress, ?bool $noResults, ?bool $noLogging, ?bool $processIsolation, ?int $randomOrderSeed, ?bool $reportUselessTests, ?bool $resolveDependencies, ?bool $reverseList, ?bool $stderr, ?bool $strictCoverage, ?string $teamcityLogfile, ?string $testdoxHtmlFile, ?string $testdoxTextFile, ?array $testSuffixes, ?string $testSuite, ?string $excludeTestSuite, bool $useDefaultConfiguration, ?bool $displayDetailsOnIncompleteTests, ?bool $displayDetailsOnSkippedTests, ?bool $displayDetailsOnTestsThatTriggerDeprecations, ?bool $displayDetailsOnTestsThatTriggerErrors, ?bool $displayDetailsOnTestsThatTriggerNotices, ?bool $displayDetailsOnTestsThatTriggerWarnings, bool $version, ?array $coverageFilter, ?string $logEventsText, ?string $logEventsVerboseText, ?bool $printerTeamCity, ?bool $printerTestDox) + public function __construct(array $arguments, ?string $atLeastVersion, ?bool $backupGlobals, ?bool $backupStaticProperties, ?bool $beStrictAboutChangesToGlobalState, ?string $bootstrap, ?string $cacheDirectory, ?bool $cacheResult, bool $checkVersion, ?string $colors, null|int|string $columns, ?string $configurationFile, ?string $coverageClover, ?string $coverageCobertura, ?string $coverageCrap4J, ?string $coverageHtml, ?string $coveragePhp, ?string $coverageText, ?bool $coverageTextShowUncoveredFiles, ?bool $coverageTextShowOnlySummary, ?string $coverageXml, ?bool $pathCoverage, bool $warmCoverageCache, ?int $defaultTimeLimit, ?bool $disableCodeCoverageIgnore, ?bool $disallowTestOutput, ?bool $enforceTimeLimit, ?array $excludeGroups, ?int $executionOrder, ?int $executionOrderDefects, ?bool $failOnDeprecation, ?bool $failOnEmptyTestSuite, ?bool $failOnIncomplete, ?bool $failOnNotice, ?bool $failOnRisky, ?bool $failOnSkipped, ?bool $failOnWarning, ?bool $stopOnDefect, ?bool $stopOnDeprecation, ?bool $stopOnError, ?bool $stopOnFailure, ?bool $stopOnIncomplete, ?bool $stopOnNotice, ?bool $stopOnRisky, ?bool $stopOnSkipped, ?bool $stopOnWarning, ?string $filter, ?string $excludeFilter, ?string $generateBaseline, ?string $useBaseline, bool $ignoreBaseline, bool $generateConfiguration, bool $migrateConfiguration, ?array $groups, ?array $testsCovering, ?array $testsUsing, bool $help, ?string $includePath, ?array $iniSettings, ?string $junitLogfile, bool $listGroups, bool $listSuites, bool $listTestFiles, bool $listTests, ?string $listTestsXml, ?bool $noCoverage, ?bool $noExtensions, ?bool $noOutput, ?bool $noProgress, ?bool $noResults, ?bool $noLogging, ?bool $processIsolation, ?int $randomOrderSeed, ?bool $reportUselessTests, ?bool $resolveDependencies, ?bool $reverseList, ?bool $stderr, ?bool $strictCoverage, ?string $teamcityLogfile, ?string $testdoxHtmlFile, ?string $testdoxTextFile, ?array $testSuffixes, ?string $testSuite, ?string $excludeTestSuite, bool $useDefaultConfiguration, ?bool $displayDetailsOnIncompleteTests, ?bool $displayDetailsOnSkippedTests, ?bool $displayDetailsOnTestsThatTriggerDeprecations, ?bool $displayDetailsOnTestsThatTriggerErrors, ?bool $displayDetailsOnTestsThatTriggerNotices, ?bool $displayDetailsOnTestsThatTriggerWarnings, bool $version, ?array $coverageFilter, ?string $logEventsText, ?string $logEventsVerboseText, ?bool $printerTeamCity, ?bool $printerTestDox, bool $debug) { $this->arguments = $arguments; $this->atLeastVersion = $atLeastVersion; @@ -135,7 +136,6 @@ final class Configuration $this->bootstrap = $bootstrap; $this->cacheDirectory = $cacheDirectory; $this->cacheResult = $cacheResult; - $this->cacheResultFile = $cacheResultFile; $this->checkVersion = $checkVersion; $this->colors = $colors; $this->columns = $columns; @@ -151,7 +151,6 @@ final class Configuration $this->coverageTextShowOnlySummary = $coverageTextShowOnlySummary; $this->coverageXml = $coverageXml; $this->pathCoverage = $pathCoverage; - $this->coverageCacheDirectory = $coverageCacheDirectory; $this->warmCoverageCache = $warmCoverageCache; $this->defaultTimeLimit = $defaultTimeLimit; $this->disableCodeCoverageIgnore = $disableCodeCoverageIgnore; @@ -177,6 +176,7 @@ final class Configuration $this->stopOnSkipped = $stopOnSkipped; $this->stopOnWarning = $stopOnWarning; $this->filter = $filter; + $this->excludeFilter = $excludeFilter; $this->generateBaseline = $generateBaseline; $this->useBaseline = $useBaseline; $this->ignoreBaseline = $ignoreBaseline; @@ -191,6 +191,7 @@ final class Configuration $this->junitLogfile = $junitLogfile; $this->listGroups = $listGroups; $this->listSuites = $listSuites; + $this->listTestFiles = $listTestFiles; $this->listTests = $listTests; $this->listTestsXml = $listTestsXml; $this->noCoverage = $noCoverage; @@ -224,6 +225,7 @@ final class Configuration $this->logEventsVerboseText = $logEventsVerboseText; $this->teamCityPrinter = $printerTeamCity; $this->testdoxPrinter = $printerTestDox; + $this->debug = $debug; } /** @@ -374,30 +376,6 @@ final class Configuration return $this->cacheResult; } - /** - * @psalm-assert-if-true !null $this->cacheResultFile - * - * @deprecated - */ - public function hasCacheResultFile(): bool - { - return $this->cacheResultFile !== null; - } - - /** - * @throws Exception - * - * @deprecated - */ - public function cacheResultFile(): string - { - if (!$this->hasCacheResultFile()) { - throw new Exception; - } - - return $this->cacheResultFile; - } - public function checkVersion(): bool { return $this->checkVersion; @@ -683,30 +661,6 @@ final class Configuration return $this->pathCoverage; } - /** - * @psalm-assert-if-true !null $this->coverageCacheDirectory - * - * @deprecated - */ - public function hasCoverageCacheDirectory(): bool - { - return $this->coverageCacheDirectory !== null; - } - - /** - * @throws Exception - * - * @deprecated - */ - public function coverageCacheDirectory(): string - { - if (!$this->hasCoverageCacheDirectory()) { - throw new Exception; - } - - return $this->coverageCacheDirectory; - } - public function warmCoverageCache(): bool { return $this->warmCoverageCache; @@ -1172,6 +1126,26 @@ final class Configuration return $this->stopOnWarning; } + /** + * @psalm-assert-if-true !null $this->excludeFilter + */ + public function hasExcludeFilter(): bool + { + return $this->excludeFilter !== null; + } + + /** + * @throws Exception + */ + public function excludeFilter(): string + { + if (!$this->hasExcludeFilter()) { + throw new Exception; + } + + return $this->excludeFilter; + } + /** * @psalm-assert-if-true !null $this->filter */ @@ -1382,6 +1356,11 @@ final class Configuration return $this->listSuites; } + public function listTestFiles(): bool + { + return $this->listTestFiles; + } + public function listTests(): bool { return $this->listTests; @@ -1998,4 +1977,9 @@ final class Configuration return $this->logEventsVerboseText; } + + public function debug(): bool + { + return $this->debug; + } } diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Cli/XmlConfigurationFileFinder.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Cli/XmlConfigurationFileFinder.php index 55a89c1e..c26db7cb 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Cli/XmlConfigurationFileFinder.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Cli/XmlConfigurationFileFinder.php @@ -17,7 +17,7 @@ use function realpath; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class XmlConfigurationFileFinder +final readonly class XmlConfigurationFileFinder { public function find(Configuration $configuration): false|string { @@ -27,7 +27,7 @@ final class XmlConfigurationFileFinder if (is_dir($configuration->configurationFile())) { $candidate = $this->configurationFileInDirectory($configuration->configurationFile()); - if ($candidate) { + if ($candidate !== false) { return $candidate; } @@ -40,7 +40,7 @@ final class XmlConfigurationFileFinder if ($useDefaultConfiguration) { $candidate = $this->configurationFileInDirectory(getcwd()); - if ($candidate) { + if ($candidate !== false) { return $candidate; } } diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Configuration.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Configuration.php index ae18bbb6..903cfeba 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Configuration.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Configuration.php @@ -14,7 +14,7 @@ namespace PHPUnit\TextUI\Configuration; * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ -final class Configuration +final readonly class Configuration { public const COLOR_NEVER = 'never'; public const COLOR_AUTO = 'auto'; @@ -24,120 +24,121 @@ final class Configuration /** * @psalm-var list */ - private readonly array $cliArguments; - private readonly ?string $configurationFile; - private readonly ?string $bootstrap; - private readonly bool $cacheResult; - private readonly ?string $cacheDirectory; - private readonly ?string $coverageCacheDirectory; - private readonly Source $source; - private readonly bool $pathCoverage; - private readonly ?string $coverageClover; - private readonly ?string $coverageCobertura; - private readonly ?string $coverageCrap4j; - private readonly int $coverageCrap4jThreshold; - private readonly ?string $coverageHtml; - private readonly int $coverageHtmlLowUpperBound; - private readonly int $coverageHtmlHighLowerBound; - private readonly string $coverageHtmlColorSuccessLow; - private readonly string $coverageHtmlColorSuccessMedium; - private readonly string $coverageHtmlColorSuccessHigh; - private readonly string $coverageHtmlColorWarning; - private readonly string $coverageHtmlColorDanger; - private readonly ?string $coverageHtmlCustomCssFile; - private readonly ?string $coveragePhp; - private readonly ?string $coverageText; - private readonly bool $coverageTextShowUncoveredFiles; - private readonly bool $coverageTextShowOnlySummary; - private readonly ?string $coverageXml; - private readonly string $testResultCacheFile; - private readonly bool $ignoreDeprecatedCodeUnitsFromCodeCoverage; - private readonly bool $disableCodeCoverageIgnore; - private readonly bool $failOnDeprecation; - private readonly bool $failOnEmptyTestSuite; - private readonly bool $failOnIncomplete; - private readonly bool $failOnNotice; - private readonly bool $failOnRisky; - private readonly bool $failOnSkipped; - private readonly bool $failOnWarning; - private readonly bool $stopOnDefect; - private readonly bool $stopOnDeprecation; - private readonly bool $stopOnError; - private readonly bool $stopOnFailure; - private readonly bool $stopOnIncomplete; - private readonly bool $stopOnNotice; - private readonly bool $stopOnRisky; - private readonly bool $stopOnSkipped; - private readonly bool $stopOnWarning; - private readonly bool $outputToStandardErrorStream; - private readonly int $columns; - private readonly bool $noExtensions; + private array $cliArguments; + private ?string $configurationFile; + private ?string $bootstrap; + private bool $cacheResult; + private ?string $cacheDirectory; + private ?string $coverageCacheDirectory; + private Source $source; + private bool $pathCoverage; + private ?string $coverageClover; + private ?string $coverageCobertura; + private ?string $coverageCrap4j; + private int $coverageCrap4jThreshold; + private ?string $coverageHtml; + private int $coverageHtmlLowUpperBound; + private int $coverageHtmlHighLowerBound; + private string $coverageHtmlColorSuccessLow; + private string $coverageHtmlColorSuccessMedium; + private string $coverageHtmlColorSuccessHigh; + private string $coverageHtmlColorWarning; + private string $coverageHtmlColorDanger; + private ?string $coverageHtmlCustomCssFile; + private ?string $coveragePhp; + private ?string $coverageText; + private bool $coverageTextShowUncoveredFiles; + private bool $coverageTextShowOnlySummary; + private ?string $coverageXml; + private string $testResultCacheFile; + private bool $ignoreDeprecatedCodeUnitsFromCodeCoverage; + private bool $disableCodeCoverageIgnore; + private bool $failOnDeprecation; + private bool $failOnEmptyTestSuite; + private bool $failOnIncomplete; + private bool $failOnNotice; + private bool $failOnRisky; + private bool $failOnSkipped; + private bool $failOnWarning; + private bool $stopOnDefect; + private bool $stopOnDeprecation; + private bool $stopOnError; + private bool $stopOnFailure; + private bool $stopOnIncomplete; + private bool $stopOnNotice; + private bool $stopOnRisky; + private bool $stopOnSkipped; + private bool $stopOnWarning; + private bool $outputToStandardErrorStream; + private int $columns; + private bool $noExtensions; /** * @psalm-var ?non-empty-string */ - private readonly ?string $pharExtensionDirectory; + private ?string $pharExtensionDirectory; /** * @psalm-var list}> */ - private readonly array $extensionBootstrappers; - private readonly bool $backupGlobals; - private readonly bool $backupStaticProperties; - private readonly bool $beStrictAboutChangesToGlobalState; - private readonly bool $colors; - private readonly bool $processIsolation; - private readonly bool $enforceTimeLimit; - private readonly int $defaultTimeLimit; - private readonly int $timeoutForSmallTests; - private readonly int $timeoutForMediumTests; - private readonly int $timeoutForLargeTests; - private readonly bool $reportUselessTests; - private readonly bool $strictCoverage; - private readonly bool $disallowTestOutput; - private readonly bool $displayDetailsOnIncompleteTests; - private readonly bool $displayDetailsOnSkippedTests; - private readonly bool $displayDetailsOnTestsThatTriggerDeprecations; - private readonly bool $displayDetailsOnTestsThatTriggerErrors; - private readonly bool $displayDetailsOnTestsThatTriggerNotices; - private readonly bool $displayDetailsOnTestsThatTriggerWarnings; - private readonly bool $reverseDefectList; - private readonly bool $requireCoverageMetadata; - private readonly bool $registerMockObjectsFromTestArgumentsRecursively; - private readonly bool $noProgress; - private readonly bool $noResults; - private readonly bool $noOutput; - private readonly int $executionOrder; - private readonly int $executionOrderDefects; - private readonly bool $resolveDependencies; - private readonly ?string $logfileTeamcity; - private readonly ?string $logfileJunit; - private readonly ?string $logfileTestdoxHtml; - private readonly ?string $logfileTestdoxText; - private readonly ?string $logEventsText; - private readonly ?string $logEventsVerboseText; - private readonly ?array $testsCovering; - private readonly ?array $testsUsing; - private readonly bool $teamCityOutput; - private readonly bool $testDoxOutput; - private readonly ?string $filter; - private readonly ?array $groups; - private readonly ?array $excludeGroups; - private readonly int $randomOrderSeed; - private readonly bool $includeUncoveredFiles; - private readonly TestSuiteCollection $testSuite; - private readonly string $includeTestSuite; - private readonly string $excludeTestSuite; - private readonly ?string $defaultTestSuite; + private array $extensionBootstrappers; + private bool $backupGlobals; + private bool $backupStaticProperties; + private bool $beStrictAboutChangesToGlobalState; + private bool $colors; + private bool $processIsolation; + private bool $enforceTimeLimit; + private int $defaultTimeLimit; + private int $timeoutForSmallTests; + private int $timeoutForMediumTests; + private int $timeoutForLargeTests; + private bool $reportUselessTests; + private bool $strictCoverage; + private bool $disallowTestOutput; + private bool $displayDetailsOnIncompleteTests; + private bool $displayDetailsOnSkippedTests; + private bool $displayDetailsOnTestsThatTriggerDeprecations; + private bool $displayDetailsOnTestsThatTriggerErrors; + private bool $displayDetailsOnTestsThatTriggerNotices; + private bool $displayDetailsOnTestsThatTriggerWarnings; + private bool $reverseDefectList; + private bool $requireCoverageMetadata; + private bool $noProgress; + private bool $noResults; + private bool $noOutput; + private int $executionOrder; + private int $executionOrderDefects; + private bool $resolveDependencies; + private ?string $logfileTeamcity; + private ?string $logfileJunit; + private ?string $logfileTestdoxHtml; + private ?string $logfileTestdoxText; + private ?string $logEventsText; + private ?string $logEventsVerboseText; + private ?array $testsCovering; + private ?array $testsUsing; + private bool $teamCityOutput; + private bool $testDoxOutput; + private ?string $filter; + private ?string $excludeFilter; + private ?array $groups; + private ?array $excludeGroups; + private int $randomOrderSeed; + private bool $includeUncoveredFiles; + private TestSuiteCollection $testSuite; + private string $includeTestSuite; + private string $excludeTestSuite; + private ?string $defaultTestSuite; /** * @psalm-var non-empty-list */ - private readonly array $testSuffixes; - private readonly Php $php; - private readonly bool $controlGarbageCollector; - private readonly int $numberOfTestsBeforeGarbageCollection; - private readonly ?string $generateBaseline; + private array $testSuffixes; + private Php $php; + private bool $controlGarbageCollector; + private int $numberOfTestsBeforeGarbageCollection; + private ?string $generateBaseline; + private bool $debug; /** * @psalm-param list $cliArguments @@ -145,110 +146,111 @@ final class Configuration * @psalm-param non-empty-list $testSuffixes * @psalm-param list}> $extensionBootstrappers */ - public function __construct(array $cliArguments, ?string $configurationFile, ?string $bootstrap, bool $cacheResult, ?string $cacheDirectory, ?string $coverageCacheDirectory, Source $source, string $testResultCacheFile, ?string $coverageClover, ?string $coverageCobertura, ?string $coverageCrap4j, int $coverageCrap4jThreshold, ?string $coverageHtml, int $coverageHtmlLowUpperBound, int $coverageHtmlHighLowerBound, string $coverageHtmlColorSuccessLow, string $coverageHtmlColorSuccessMedium, string $coverageHtmlColorSuccessHigh, string $coverageHtmlColorWarning, string $coverageHtmlColorDanger, ?string $coverageHtmlCustomCssFile, ?string $coveragePhp, ?string $coverageText, bool $coverageTextShowUncoveredFiles, bool $coverageTextShowOnlySummary, ?string $coverageXml, bool $pathCoverage, bool $ignoreDeprecatedCodeUnitsFromCodeCoverage, bool $disableCodeCoverageIgnore, bool $failOnDeprecation, bool $failOnEmptyTestSuite, bool $failOnIncomplete, bool $failOnNotice, bool $failOnRisky, bool $failOnSkipped, bool $failOnWarning, bool $stopOnDefect, bool $stopOnDeprecation, bool $stopOnError, bool $stopOnFailure, bool $stopOnIncomplete, bool $stopOnNotice, bool $stopOnRisky, bool $stopOnSkipped, bool $stopOnWarning, bool $outputToStandardErrorStream, int|string $columns, bool $noExtensions, ?string $pharExtensionDirectory, array $extensionBootstrappers, bool $backupGlobals, bool $backupStaticProperties, bool $beStrictAboutChangesToGlobalState, bool $colors, bool $processIsolation, bool $enforceTimeLimit, int $defaultTimeLimit, int $timeoutForSmallTests, int $timeoutForMediumTests, int $timeoutForLargeTests, bool $reportUselessTests, bool $strictCoverage, bool $disallowTestOutput, bool $displayDetailsOnIncompleteTests, bool $displayDetailsOnSkippedTests, bool $displayDetailsOnTestsThatTriggerDeprecations, bool $displayDetailsOnTestsThatTriggerErrors, bool $displayDetailsOnTestsThatTriggerNotices, bool $displayDetailsOnTestsThatTriggerWarnings, bool $reverseDefectList, bool $requireCoverageMetadata, bool $registerMockObjectsFromTestArgumentsRecursively, bool $noProgress, bool $noResults, bool $noOutput, int $executionOrder, int $executionOrderDefects, bool $resolveDependencies, ?string $logfileTeamcity, ?string $logfileJunit, ?string $logfileTestdoxHtml, ?string $logfileTestdoxText, ?string $logEventsText, ?string $logEventsVerboseText, bool $teamCityOutput, bool $testDoxOutput, ?array $testsCovering, ?array $testsUsing, ?string $filter, ?array $groups, ?array $excludeGroups, int $randomOrderSeed, bool $includeUncoveredFiles, TestSuiteCollection $testSuite, string $includeTestSuite, string $excludeTestSuite, ?string $defaultTestSuite, array $testSuffixes, Php $php, bool $controlGarbageCollector, int $numberOfTestsBeforeGarbageCollection, ?string $generateBaseline) - { - $this->cliArguments = $cliArguments; - $this->configurationFile = $configurationFile; - $this->bootstrap = $bootstrap; - $this->cacheResult = $cacheResult; - $this->cacheDirectory = $cacheDirectory; - $this->coverageCacheDirectory = $coverageCacheDirectory; - $this->source = $source; - $this->testResultCacheFile = $testResultCacheFile; - $this->coverageClover = $coverageClover; - $this->coverageCobertura = $coverageCobertura; - $this->coverageCrap4j = $coverageCrap4j; - $this->coverageCrap4jThreshold = $coverageCrap4jThreshold; - $this->coverageHtml = $coverageHtml; - $this->coverageHtmlLowUpperBound = $coverageHtmlLowUpperBound; - $this->coverageHtmlHighLowerBound = $coverageHtmlHighLowerBound; - $this->coverageHtmlColorSuccessLow = $coverageHtmlColorSuccessLow; - $this->coverageHtmlColorSuccessMedium = $coverageHtmlColorSuccessMedium; - $this->coverageHtmlColorSuccessHigh = $coverageHtmlColorSuccessHigh; - $this->coverageHtmlColorWarning = $coverageHtmlColorWarning; - $this->coverageHtmlColorDanger = $coverageHtmlColorDanger; - $this->coverageHtmlCustomCssFile = $coverageHtmlCustomCssFile; - $this->coveragePhp = $coveragePhp; - $this->coverageText = $coverageText; - $this->coverageTextShowUncoveredFiles = $coverageTextShowUncoveredFiles; - $this->coverageTextShowOnlySummary = $coverageTextShowOnlySummary; - $this->coverageXml = $coverageXml; - $this->pathCoverage = $pathCoverage; - $this->ignoreDeprecatedCodeUnitsFromCodeCoverage = $ignoreDeprecatedCodeUnitsFromCodeCoverage; - $this->disableCodeCoverageIgnore = $disableCodeCoverageIgnore; - $this->failOnDeprecation = $failOnDeprecation; - $this->failOnEmptyTestSuite = $failOnEmptyTestSuite; - $this->failOnIncomplete = $failOnIncomplete; - $this->failOnNotice = $failOnNotice; - $this->failOnRisky = $failOnRisky; - $this->failOnSkipped = $failOnSkipped; - $this->failOnWarning = $failOnWarning; - $this->stopOnDefect = $stopOnDefect; - $this->stopOnDeprecation = $stopOnDeprecation; - $this->stopOnError = $stopOnError; - $this->stopOnFailure = $stopOnFailure; - $this->stopOnIncomplete = $stopOnIncomplete; - $this->stopOnNotice = $stopOnNotice; - $this->stopOnRisky = $stopOnRisky; - $this->stopOnSkipped = $stopOnSkipped; - $this->stopOnWarning = $stopOnWarning; - $this->outputToStandardErrorStream = $outputToStandardErrorStream; - $this->columns = $columns; - $this->noExtensions = $noExtensions; - $this->pharExtensionDirectory = $pharExtensionDirectory; - $this->extensionBootstrappers = $extensionBootstrappers; - $this->backupGlobals = $backupGlobals; - $this->backupStaticProperties = $backupStaticProperties; - $this->beStrictAboutChangesToGlobalState = $beStrictAboutChangesToGlobalState; - $this->colors = $colors; - $this->processIsolation = $processIsolation; - $this->enforceTimeLimit = $enforceTimeLimit; - $this->defaultTimeLimit = $defaultTimeLimit; - $this->timeoutForSmallTests = $timeoutForSmallTests; - $this->timeoutForMediumTests = $timeoutForMediumTests; - $this->timeoutForLargeTests = $timeoutForLargeTests; - $this->reportUselessTests = $reportUselessTests; - $this->strictCoverage = $strictCoverage; - $this->disallowTestOutput = $disallowTestOutput; - $this->displayDetailsOnIncompleteTests = $displayDetailsOnIncompleteTests; - $this->displayDetailsOnSkippedTests = $displayDetailsOnSkippedTests; - $this->displayDetailsOnTestsThatTriggerDeprecations = $displayDetailsOnTestsThatTriggerDeprecations; - $this->displayDetailsOnTestsThatTriggerErrors = $displayDetailsOnTestsThatTriggerErrors; - $this->displayDetailsOnTestsThatTriggerNotices = $displayDetailsOnTestsThatTriggerNotices; - $this->displayDetailsOnTestsThatTriggerWarnings = $displayDetailsOnTestsThatTriggerWarnings; - $this->reverseDefectList = $reverseDefectList; - $this->requireCoverageMetadata = $requireCoverageMetadata; - $this->registerMockObjectsFromTestArgumentsRecursively = $registerMockObjectsFromTestArgumentsRecursively; - $this->noProgress = $noProgress; - $this->noResults = $noResults; - $this->noOutput = $noOutput; - $this->executionOrder = $executionOrder; - $this->executionOrderDefects = $executionOrderDefects; - $this->resolveDependencies = $resolveDependencies; - $this->logfileTeamcity = $logfileTeamcity; - $this->logfileJunit = $logfileJunit; - $this->logfileTestdoxHtml = $logfileTestdoxHtml; - $this->logfileTestdoxText = $logfileTestdoxText; - $this->logEventsText = $logEventsText; - $this->logEventsVerboseText = $logEventsVerboseText; - $this->teamCityOutput = $teamCityOutput; - $this->testDoxOutput = $testDoxOutput; - $this->testsCovering = $testsCovering; - $this->testsUsing = $testsUsing; - $this->filter = $filter; - $this->groups = $groups; - $this->excludeGroups = $excludeGroups; - $this->randomOrderSeed = $randomOrderSeed; - $this->includeUncoveredFiles = $includeUncoveredFiles; - $this->testSuite = $testSuite; - $this->includeTestSuite = $includeTestSuite; - $this->excludeTestSuite = $excludeTestSuite; - $this->defaultTestSuite = $defaultTestSuite; - $this->testSuffixes = $testSuffixes; - $this->php = $php; - $this->controlGarbageCollector = $controlGarbageCollector; - $this->numberOfTestsBeforeGarbageCollection = $numberOfTestsBeforeGarbageCollection; - $this->generateBaseline = $generateBaseline; + public function __construct(array $cliArguments, ?string $configurationFile, ?string $bootstrap, bool $cacheResult, ?string $cacheDirectory, ?string $coverageCacheDirectory, Source $source, string $testResultCacheFile, ?string $coverageClover, ?string $coverageCobertura, ?string $coverageCrap4j, int $coverageCrap4jThreshold, ?string $coverageHtml, int $coverageHtmlLowUpperBound, int $coverageHtmlHighLowerBound, string $coverageHtmlColorSuccessLow, string $coverageHtmlColorSuccessMedium, string $coverageHtmlColorSuccessHigh, string $coverageHtmlColorWarning, string $coverageHtmlColorDanger, ?string $coverageHtmlCustomCssFile, ?string $coveragePhp, ?string $coverageText, bool $coverageTextShowUncoveredFiles, bool $coverageTextShowOnlySummary, ?string $coverageXml, bool $pathCoverage, bool $ignoreDeprecatedCodeUnitsFromCodeCoverage, bool $disableCodeCoverageIgnore, bool $failOnDeprecation, bool $failOnEmptyTestSuite, bool $failOnIncomplete, bool $failOnNotice, bool $failOnRisky, bool $failOnSkipped, bool $failOnWarning, bool $stopOnDefect, bool $stopOnDeprecation, bool $stopOnError, bool $stopOnFailure, bool $stopOnIncomplete, bool $stopOnNotice, bool $stopOnRisky, bool $stopOnSkipped, bool $stopOnWarning, bool $outputToStandardErrorStream, int|string $columns, bool $noExtensions, ?string $pharExtensionDirectory, array $extensionBootstrappers, bool $backupGlobals, bool $backupStaticProperties, bool $beStrictAboutChangesToGlobalState, bool $colors, bool $processIsolation, bool $enforceTimeLimit, int $defaultTimeLimit, int $timeoutForSmallTests, int $timeoutForMediumTests, int $timeoutForLargeTests, bool $reportUselessTests, bool $strictCoverage, bool $disallowTestOutput, bool $displayDetailsOnIncompleteTests, bool $displayDetailsOnSkippedTests, bool $displayDetailsOnTestsThatTriggerDeprecations, bool $displayDetailsOnTestsThatTriggerErrors, bool $displayDetailsOnTestsThatTriggerNotices, bool $displayDetailsOnTestsThatTriggerWarnings, bool $reverseDefectList, bool $requireCoverageMetadata, bool $noProgress, bool $noResults, bool $noOutput, int $executionOrder, int $executionOrderDefects, bool $resolveDependencies, ?string $logfileTeamcity, ?string $logfileJunit, ?string $logfileTestdoxHtml, ?string $logfileTestdoxText, ?string $logEventsText, ?string $logEventsVerboseText, bool $teamCityOutput, bool $testDoxOutput, ?array $testsCovering, ?array $testsUsing, ?string $filter, ?string $excludeFilter, ?array $groups, ?array $excludeGroups, int $randomOrderSeed, bool $includeUncoveredFiles, TestSuiteCollection $testSuite, string $includeTestSuite, string $excludeTestSuite, ?string $defaultTestSuite, array $testSuffixes, Php $php, bool $controlGarbageCollector, int $numberOfTestsBeforeGarbageCollection, ?string $generateBaseline, bool $debug) + { + $this->cliArguments = $cliArguments; + $this->configurationFile = $configurationFile; + $this->bootstrap = $bootstrap; + $this->cacheResult = $cacheResult; + $this->cacheDirectory = $cacheDirectory; + $this->coverageCacheDirectory = $coverageCacheDirectory; + $this->source = $source; + $this->testResultCacheFile = $testResultCacheFile; + $this->coverageClover = $coverageClover; + $this->coverageCobertura = $coverageCobertura; + $this->coverageCrap4j = $coverageCrap4j; + $this->coverageCrap4jThreshold = $coverageCrap4jThreshold; + $this->coverageHtml = $coverageHtml; + $this->coverageHtmlLowUpperBound = $coverageHtmlLowUpperBound; + $this->coverageHtmlHighLowerBound = $coverageHtmlHighLowerBound; + $this->coverageHtmlColorSuccessLow = $coverageHtmlColorSuccessLow; + $this->coverageHtmlColorSuccessMedium = $coverageHtmlColorSuccessMedium; + $this->coverageHtmlColorSuccessHigh = $coverageHtmlColorSuccessHigh; + $this->coverageHtmlColorWarning = $coverageHtmlColorWarning; + $this->coverageHtmlColorDanger = $coverageHtmlColorDanger; + $this->coverageHtmlCustomCssFile = $coverageHtmlCustomCssFile; + $this->coveragePhp = $coveragePhp; + $this->coverageText = $coverageText; + $this->coverageTextShowUncoveredFiles = $coverageTextShowUncoveredFiles; + $this->coverageTextShowOnlySummary = $coverageTextShowOnlySummary; + $this->coverageXml = $coverageXml; + $this->pathCoverage = $pathCoverage; + $this->ignoreDeprecatedCodeUnitsFromCodeCoverage = $ignoreDeprecatedCodeUnitsFromCodeCoverage; + $this->disableCodeCoverageIgnore = $disableCodeCoverageIgnore; + $this->failOnDeprecation = $failOnDeprecation; + $this->failOnEmptyTestSuite = $failOnEmptyTestSuite; + $this->failOnIncomplete = $failOnIncomplete; + $this->failOnNotice = $failOnNotice; + $this->failOnRisky = $failOnRisky; + $this->failOnSkipped = $failOnSkipped; + $this->failOnWarning = $failOnWarning; + $this->stopOnDefect = $stopOnDefect; + $this->stopOnDeprecation = $stopOnDeprecation; + $this->stopOnError = $stopOnError; + $this->stopOnFailure = $stopOnFailure; + $this->stopOnIncomplete = $stopOnIncomplete; + $this->stopOnNotice = $stopOnNotice; + $this->stopOnRisky = $stopOnRisky; + $this->stopOnSkipped = $stopOnSkipped; + $this->stopOnWarning = $stopOnWarning; + $this->outputToStandardErrorStream = $outputToStandardErrorStream; + $this->columns = $columns; + $this->noExtensions = $noExtensions; + $this->pharExtensionDirectory = $pharExtensionDirectory; + $this->extensionBootstrappers = $extensionBootstrappers; + $this->backupGlobals = $backupGlobals; + $this->backupStaticProperties = $backupStaticProperties; + $this->beStrictAboutChangesToGlobalState = $beStrictAboutChangesToGlobalState; + $this->colors = $colors; + $this->processIsolation = $processIsolation; + $this->enforceTimeLimit = $enforceTimeLimit; + $this->defaultTimeLimit = $defaultTimeLimit; + $this->timeoutForSmallTests = $timeoutForSmallTests; + $this->timeoutForMediumTests = $timeoutForMediumTests; + $this->timeoutForLargeTests = $timeoutForLargeTests; + $this->reportUselessTests = $reportUselessTests; + $this->strictCoverage = $strictCoverage; + $this->disallowTestOutput = $disallowTestOutput; + $this->displayDetailsOnIncompleteTests = $displayDetailsOnIncompleteTests; + $this->displayDetailsOnSkippedTests = $displayDetailsOnSkippedTests; + $this->displayDetailsOnTestsThatTriggerDeprecations = $displayDetailsOnTestsThatTriggerDeprecations; + $this->displayDetailsOnTestsThatTriggerErrors = $displayDetailsOnTestsThatTriggerErrors; + $this->displayDetailsOnTestsThatTriggerNotices = $displayDetailsOnTestsThatTriggerNotices; + $this->displayDetailsOnTestsThatTriggerWarnings = $displayDetailsOnTestsThatTriggerWarnings; + $this->reverseDefectList = $reverseDefectList; + $this->requireCoverageMetadata = $requireCoverageMetadata; + $this->noProgress = $noProgress; + $this->noResults = $noResults; + $this->noOutput = $noOutput; + $this->executionOrder = $executionOrder; + $this->executionOrderDefects = $executionOrderDefects; + $this->resolveDependencies = $resolveDependencies; + $this->logfileTeamcity = $logfileTeamcity; + $this->logfileJunit = $logfileJunit; + $this->logfileTestdoxHtml = $logfileTestdoxHtml; + $this->logfileTestdoxText = $logfileTestdoxText; + $this->logEventsText = $logEventsText; + $this->logEventsVerboseText = $logEventsVerboseText; + $this->teamCityOutput = $teamCityOutput; + $this->testDoxOutput = $testDoxOutput; + $this->testsCovering = $testsCovering; + $this->testsUsing = $testsUsing; + $this->filter = $filter; + $this->excludeFilter = $excludeFilter; + $this->groups = $groups; + $this->excludeGroups = $excludeGroups; + $this->randomOrderSeed = $randomOrderSeed; + $this->includeUncoveredFiles = $includeUncoveredFiles; + $this->testSuite = $testSuite; + $this->includeTestSuite = $includeTestSuite; + $this->excludeTestSuite = $excludeTestSuite; + $this->defaultTestSuite = $defaultTestSuite; + $this->testSuffixes = $testSuffixes; + $this->php = $php; + $this->controlGarbageCollector = $controlGarbageCollector; + $this->numberOfTestsBeforeGarbageCollection = $numberOfTestsBeforeGarbageCollection; + $this->generateBaseline = $generateBaseline; + $this->debug = $debug; } /** @@ -267,32 +269,6 @@ final class Configuration return $this->cliArguments; } - /** - * @psalm-assert-if-true !empty $this->cliArguments - * - * @deprecated Use hasCliArguments() instead - */ - public function hasCliArgument(): bool - { - return !empty($this->cliArguments); - } - - /** - * @throws NoCliArgumentException - * - * @return non-empty-string - * - * @deprecated Use cliArguments()[0] instead - */ - public function cliArgument(): string - { - if (!$this->hasCliArguments()) { - throw new NoCliArgumentException; - } - - return $this->cliArguments[0]; - } - /** * @psalm-assert-if-true !null $this->configurationFile */ @@ -383,70 +359,6 @@ final class Configuration return $this->source; } - /** - * @deprecated Use source()->restrictDeprecations() instead - */ - public function restrictDeprecations(): bool - { - return $this->source()->restrictDeprecations(); - } - - /** - * @deprecated Use source()->restrictNotices() instead - */ - public function restrictNotices(): bool - { - return $this->source()->restrictNotices(); - } - - /** - * @deprecated Use source()->restrictWarnings() instead - */ - public function restrictWarnings(): bool - { - return $this->source()->restrictWarnings(); - } - - /** - * @deprecated Use source()->notEmpty() instead - */ - public function hasNonEmptyListOfFilesToBeIncludedInCodeCoverageReport(): bool - { - return $this->source->notEmpty(); - } - - /** - * @deprecated Use source()->includeDirectories() instead - */ - public function coverageIncludeDirectories(): FilterDirectoryCollection - { - return $this->source()->includeDirectories(); - } - - /** - * @deprecated Use source()->includeFiles() instead - */ - public function coverageIncludeFiles(): FileCollection - { - return $this->source()->includeFiles(); - } - - /** - * @deprecated Use source()->excludeDirectories() instead - */ - public function coverageExcludeDirectories(): FilterDirectoryCollection - { - return $this->source()->excludeDirectories(); - } - - /** - * @deprecated Use source()->excludeFiles() instead - */ - public function coverageExcludeFiles(): FileCollection - { - return $this->source()->excludeFiles(); - } - public function testResultCacheFile(): string { return $this->testResultCacheFile; @@ -778,14 +690,6 @@ final class Configuration return $this->columns; } - /** - * @deprecated Use noExtensions() instead - */ - public function loadPharExtensions(): bool - { - return $this->noExtensions; - } - public function noExtensions(): bool { return $this->noExtensions; @@ -926,14 +830,6 @@ final class Configuration return $this->requireCoverageMetadata; } - /** - * @deprecated - */ - public function registerMockObjectsFromTestArgumentsRecursively(): bool - { - return $this->registerMockObjectsFromTestArgumentsRecursively; - } - public function noProgress(): bool { return $this->noProgress; @@ -1158,6 +1054,26 @@ final class Configuration return $this->filter; } + /** + * @psalm-assert-if-true !null $this->excludeFilter + */ + public function hasExcludeFilter(): bool + { + return $this->excludeFilter !== null; + } + + /** + * @throws FilterNotConfiguredException + */ + public function excludeFilter(): string + { + if (!$this->hasExcludeFilter()) { + throw new FilterNotConfiguredException; + } + + return $this->excludeFilter; + } + /** * @psalm-assert-if-true !empty $this->groups */ @@ -1285,4 +1201,9 @@ final class Configuration return $this->generateBaseline; } + + public function debug(): bool + { + return $this->debug; + } } diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Merger.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Merger.php index 95f595a4..e1fcd5b7 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Merger.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Merger.php @@ -20,6 +20,7 @@ use function time; use PHPUnit\Event\Facade as EventFacade; use PHPUnit\Runner\TestSuiteSorter; use PHPUnit\TextUI\CliArguments\Configuration as CliConfiguration; +use PHPUnit\TextUI\CliArguments\Exception; use PHPUnit\TextUI\XmlConfiguration\Configuration as XmlConfiguration; use PHPUnit\TextUI\XmlConfiguration\LoadedFromFileConfiguration; use PHPUnit\TextUI\XmlConfiguration\SchemaDetector; @@ -32,11 +33,11 @@ use SebastianBergmann\Invoker\Invoker; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Merger +final readonly class Merger { /** - * @throws \PHPUnit\TextUI\CliArguments\Exception * @throws \PHPUnit\TextUI\XmlConfiguration\Exception + * @throws Exception * @throws NoCustomCssFileException */ public function merge(CliConfiguration $cliConfiguration, XmlConfiguration $xmlConfiguration): Configuration @@ -77,20 +78,8 @@ final class Merger $testResultCacheFile = $cacheDirectory . DIRECTORY_SEPARATOR . 'test-results'; } - if ($coverageCacheDirectory === null) { - if ($cliConfiguration->hasCoverageCacheDirectory() && Filesystem::createDirectory($cliConfiguration->coverageCacheDirectory())) { - $coverageCacheDirectory = realpath($cliConfiguration->coverageCacheDirectory()); - } elseif ($xmlConfiguration->codeCoverage()->hasCacheDirectory()) { - $coverageCacheDirectory = $xmlConfiguration->codeCoverage()->cacheDirectory()->path(); - } - } - if (!isset($testResultCacheFile)) { - if ($cliConfiguration->hasCacheResultFile()) { - $testResultCacheFile = $cliConfiguration->cacheResultFile(); - } elseif ($xmlConfiguration->phpunit()->hasCacheResultFile()) { - $testResultCacheFile = $xmlConfiguration->phpunit()->cacheResultFile(); - } elseif ($xmlConfiguration->wasLoadedFromFile()) { + if ($xmlConfiguration->wasLoadedFromFile()) { $testResultCacheFile = dirname(realpath($xmlConfiguration->filename())) . DIRECTORY_SEPARATOR . '.phpunit.result.cache'; } else { $candidate = realpath($_SERVER['PHP_SELF']); @@ -462,8 +451,7 @@ final class Merger $reverseDefectList = $xmlConfiguration->phpunit()->reverseDefectList(); } - $requireCoverageMetadata = $xmlConfiguration->phpunit()->requireCoverageMetadata(); - $registerMockObjectsFromTestArgumentsRecursively = $xmlConfiguration->phpunit()->registerMockObjectsFromTestArgumentsRecursively(); + $requireCoverageMetadata = $xmlConfiguration->phpunit()->requireCoverageMetadata(); if ($cliConfiguration->hasExecutionOrder()) { $executionOrder = $cliConfiguration->executionOrder(); @@ -594,6 +582,12 @@ final class Merger $filter = $cliConfiguration->filter(); } + $excludeFilter = null; + + if ($cliConfiguration->hasExcludeFilter()) { + $excludeFilter = $cliConfiguration->excludeFilter(); + } + if ($cliConfiguration->hasGroups()) { $groups = $cliConfiguration->groups(); } else { @@ -681,24 +675,14 @@ final class Merger } } - if ($xmlConfiguration->codeCoverage()->hasNonEmptyListOfFilesToBeIncludedInCodeCoverageReport()) { - foreach ($xmlConfiguration->codeCoverage()->directories() as $directory) { - $sourceIncludeDirectories[] = $directory; - } - - $sourceIncludeFiles = $xmlConfiguration->codeCoverage()->files(); - $sourceExcludeDirectories = $xmlConfiguration->codeCoverage()->excludeDirectories(); - $sourceExcludeFiles = $xmlConfiguration->codeCoverage()->excludeFiles(); - } else { - foreach ($xmlConfiguration->source()->includeDirectories() as $directory) { - $sourceIncludeDirectories[] = $directory; - } - - $sourceIncludeFiles = $xmlConfiguration->source()->includeFiles(); - $sourceExcludeDirectories = $xmlConfiguration->source()->excludeDirectories(); - $sourceExcludeFiles = $xmlConfiguration->source()->excludeFiles(); + foreach ($xmlConfiguration->source()->includeDirectories() as $directory) { + $sourceIncludeDirectories[] = $directory; } + $sourceIncludeFiles = $xmlConfiguration->source()->includeFiles(); + $sourceExcludeDirectories = $xmlConfiguration->source()->excludeDirectories(); + $sourceExcludeFiles = $xmlConfiguration->source()->excludeFiles(); + $useBaseline = null; $generateBaseline = null; @@ -804,7 +788,6 @@ final class Merger $displayDetailsOnTestsThatTriggerWarnings, $reverseDefectList, $requireCoverageMetadata, - $registerMockObjectsFromTestArgumentsRecursively, $noProgress, $noResults, $noOutput, @@ -822,6 +805,7 @@ final class Merger $testsCovering, $testsUsing, $filter, + $excludeFilter, $groups, $excludeGroups, $randomOrderSeed, @@ -847,6 +831,7 @@ final class Merger $xmlConfiguration->phpunit()->controlGarbageCollector(), $xmlConfiguration->phpunit()->numberOfTestsBeforeGarbageCollection(), $generateBaseline, + $cliConfiguration->debug(), ); } } diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/PhpHandler.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/PhpHandler.php index 4417c713..7818c1bb 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/PhpHandler.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/PhpHandler.php @@ -22,7 +22,7 @@ use function putenv; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class PhpHandler +final readonly class PhpHandler { public function handle(Php $configuration): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Registry.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Registry.php index e2b1ad3b..80720bc9 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Registry.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Registry.php @@ -16,6 +16,7 @@ use function serialize; use function unserialize; use PHPUnit\Event\Facade as EventFacade; use PHPUnit\TextUI\CliArguments\Configuration as CliConfiguration; +use PHPUnit\TextUI\CliArguments\Exception; use PHPUnit\TextUI\XmlConfiguration\Configuration as XmlConfiguration; use PHPUnit\Util\VersionComparisonOperator; @@ -89,8 +90,8 @@ final class Registry } /** - * @throws \PHPUnit\TextUI\CliArguments\Exception * @throws \PHPUnit\TextUI\XmlConfiguration\Exception + * @throws Exception * @throws NoCustomCssFileException */ public static function init(CliConfiguration $cliConfiguration, XmlConfiguration $xmlConfiguration): Configuration diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/SourceFilter.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/SourceFilter.php index 1586a649..73c1a314 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/SourceFilter.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/SourceFilter.php @@ -12,7 +12,7 @@ namespace PHPUnit\TextUI\Configuration; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class SourceFilter +final readonly class SourceFilter { public function includes(Source $source, string $path): bool { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/TestSuiteBuilder.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/TestSuiteBuilder.php index d3fff95d..1a1155ce 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/TestSuiteBuilder.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/TestSuiteBuilder.php @@ -28,7 +28,7 @@ use SebastianBergmann\FileIterator\Facade as FileIteratorFacade; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestSuiteBuilder +final readonly class TestSuiteBuilder { /** * @throws \PHPUnit\Framework\Exception @@ -91,6 +91,13 @@ final class TestSuiteBuilder */ private function testSuiteFromPath(string $path, array $suffixes, ?TestSuite $suite = null): TestSuite { + if (str_ends_with($path, '.phpt') && is_file($path)) { + $suite = $suite ?: TestSuite::empty($path); + $suite->addTestFile($path); + + return $suite; + } + if (is_dir($path)) { $files = (new FileIteratorFacade)->getFilesAsArray($path, $suffixes); @@ -100,13 +107,6 @@ final class TestSuiteBuilder return $suite; } - if (is_file($path) && str_ends_with($path, '.phpt')) { - $suite = $suite ?: TestSuite::empty($path); - $suite->addTestFile($path); - - return $suite; - } - try { $testClass = (new TestSuiteLoader)->load($path); } catch (Exception $e) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/Constant.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/Constant.php index 44a4a83a..e2d43042 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/Constant.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/Constant.php @@ -14,10 +14,10 @@ namespace PHPUnit\TextUI\Configuration; * * @psalm-immutable */ -final class Constant +final readonly class Constant { - private readonly string $name; - private readonly bool|string $value; + private string $name; + private bool|string $value; public function __construct(string $name, bool|string $value) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/ConstantCollection.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/ConstantCollection.php index f93ab5f2..653b8289 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/ConstantCollection.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/ConstantCollection.php @@ -20,12 +20,12 @@ use IteratorAggregate; * * @template-implements IteratorAggregate */ -final class ConstantCollection implements Countable, IteratorAggregate +final readonly class ConstantCollection implements Countable, IteratorAggregate { /** * @psalm-var list */ - private readonly array $constants; + private array $constants; /** * @psalm-param list $constants diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/ConstantCollectionIterator.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/ConstantCollectionIterator.php index acb4c8b9..60347b0f 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/ConstantCollectionIterator.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/ConstantCollectionIterator.php @@ -10,8 +10,6 @@ namespace PHPUnit\TextUI\Configuration; use function count; -use function iterator_count; -use Countable; use Iterator; /** @@ -19,7 +17,7 @@ use Iterator; * * @template-implements Iterator */ -final class ConstantCollectionIterator implements Countable, Iterator +final class ConstantCollectionIterator implements Iterator { /** * @psalm-var list @@ -32,11 +30,6 @@ final class ConstantCollectionIterator implements Countable, Iterator $this->constants = $constants->asArray(); } - public function count(): int - { - return iterator_count($this); - } - public function rewind(): void { $this->position = 0; diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/Directory.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/Directory.php index 4158b656..b40b2d7a 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/Directory.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/Directory.php @@ -14,9 +14,9 @@ namespace PHPUnit\TextUI\Configuration; * * @psalm-immutable */ -final class Directory +final readonly class Directory { - private readonly string $path; + private string $path; public function __construct(string $path) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/DirectoryCollection.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/DirectoryCollection.php index 618adcc1..8ff890ff 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/DirectoryCollection.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/DirectoryCollection.php @@ -20,12 +20,12 @@ use IteratorAggregate; * * @template-implements IteratorAggregate */ -final class DirectoryCollection implements Countable, IteratorAggregate +final readonly class DirectoryCollection implements Countable, IteratorAggregate { /** * @psalm-var list */ - private readonly array $directories; + private array $directories; /** * @psalm-param list $directories diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/DirectoryCollectionIterator.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/DirectoryCollectionIterator.php index 4e5655ce..f2d8d8de 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/DirectoryCollectionIterator.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/DirectoryCollectionIterator.php @@ -10,8 +10,6 @@ namespace PHPUnit\TextUI\Configuration; use function count; -use function iterator_count; -use Countable; use Iterator; /** @@ -19,7 +17,7 @@ use Iterator; * * @template-implements Iterator */ -final class DirectoryCollectionIterator implements Countable, Iterator +final class DirectoryCollectionIterator implements Iterator { /** * @psalm-var list @@ -32,11 +30,6 @@ final class DirectoryCollectionIterator implements Countable, Iterator $this->directories = $directories->asArray(); } - public function count(): int - { - return iterator_count($this); - } - public function rewind(): void { $this->position = 0; diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/ExtensionBootstrap.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/ExtensionBootstrap.php index c6893422..959fbbfe 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/ExtensionBootstrap.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/ExtensionBootstrap.php @@ -14,17 +14,17 @@ namespace PHPUnit\TextUI\Configuration; * * @psalm-immutable */ -final class ExtensionBootstrap +final readonly class ExtensionBootstrap { /** * @psalm-var class-string */ - private readonly string $className; + private string $className; /** * @psalm-var array */ - private readonly array $parameters; + private array $parameters; /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/ExtensionBootstrapCollection.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/ExtensionBootstrapCollection.php index 2a144378..5a105211 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/ExtensionBootstrapCollection.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/ExtensionBootstrapCollection.php @@ -18,12 +18,12 @@ use IteratorAggregate; * * @psalm-immutable */ -final class ExtensionBootstrapCollection implements IteratorAggregate +final readonly class ExtensionBootstrapCollection implements IteratorAggregate { /** * @psalm-var list */ - private readonly array $extensionBootstraps; + private array $extensionBootstraps; /** * @psalm-param list $extensionBootstraps diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/ExtensionBootstrapCollectionIterator.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/ExtensionBootstrapCollectionIterator.php index 0de1711f..84899f25 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/ExtensionBootstrapCollectionIterator.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/ExtensionBootstrapCollectionIterator.php @@ -10,8 +10,6 @@ namespace PHPUnit\TextUI\Configuration; use function count; -use function iterator_count; -use Countable; use Iterator; /** @@ -19,7 +17,7 @@ use Iterator; * * @template-implements Iterator */ -final class ExtensionBootstrapCollectionIterator implements Countable, Iterator +final class ExtensionBootstrapCollectionIterator implements Iterator { /** * @psalm-var list @@ -32,11 +30,6 @@ final class ExtensionBootstrapCollectionIterator implements Countable, Iterator $this->extensionBootstraps = $extensionBootstraps->asArray(); } - public function count(): int - { - return iterator_count($this); - } - public function rewind(): void { $this->position = 0; diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/File.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/File.php index 035b9a35..fcaebed9 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/File.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/File.php @@ -14,12 +14,12 @@ namespace PHPUnit\TextUI\Configuration; * * @psalm-immutable */ -final class File +final readonly class File { /** * @psalm-var non-empty-string */ - private readonly string $path; + private string $path; /** * @psalm-param non-empty-string $path diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/FileCollection.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/FileCollection.php index ee730aaa..342394c7 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/FileCollection.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/FileCollection.php @@ -20,12 +20,12 @@ use IteratorAggregate; * * @template-implements IteratorAggregate */ -final class FileCollection implements Countable, IteratorAggregate +final readonly class FileCollection implements Countable, IteratorAggregate { /** * @psalm-var list */ - private readonly array $files; + private array $files; /** * @psalm-param list $files diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/FileCollectionIterator.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/FileCollectionIterator.php index 9627fca6..a7b9948e 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/FileCollectionIterator.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/FileCollectionIterator.php @@ -10,8 +10,6 @@ namespace PHPUnit\TextUI\Configuration; use function count; -use function iterator_count; -use Countable; use Iterator; /** @@ -19,7 +17,7 @@ use Iterator; * * @template-implements Iterator */ -final class FileCollectionIterator implements Countable, Iterator +final class FileCollectionIterator implements Iterator { /** * @psalm-var list @@ -32,11 +30,6 @@ final class FileCollectionIterator implements Countable, Iterator $this->files = $files->asArray(); } - public function count(): int - { - return iterator_count($this); - } - public function rewind(): void { $this->position = 0; diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/FilterDirectory.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/FilterDirectory.php index d66f9511..fcae3617 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/FilterDirectory.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/FilterDirectory.php @@ -14,14 +14,14 @@ namespace PHPUnit\TextUI\Configuration; * * @psalm-immutable */ -final class FilterDirectory +final readonly class FilterDirectory { /** * @psalm-var non-empty-string */ - private readonly string $path; - private readonly string $prefix; - private readonly string $suffix; + private string $path; + private string $prefix; + private string $suffix; /** * @psalm-param non-empty-string $path diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/FilterDirectoryCollection.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/FilterDirectoryCollection.php index 53b474d8..232c5d24 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/FilterDirectoryCollection.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/FilterDirectoryCollection.php @@ -20,12 +20,12 @@ use IteratorAggregate; * * @template-implements IteratorAggregate */ -final class FilterDirectoryCollection implements Countable, IteratorAggregate +final readonly class FilterDirectoryCollection implements Countable, IteratorAggregate { /** * @psalm-var list */ - private readonly array $directories; + private array $directories; /** * @psalm-param list $directories diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/FilterDirectoryCollectionIterator.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/FilterDirectoryCollectionIterator.php index 3d145981..dbe09be9 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/FilterDirectoryCollectionIterator.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/FilterDirectoryCollectionIterator.php @@ -10,8 +10,6 @@ namespace PHPUnit\TextUI\Configuration; use function count; -use function iterator_count; -use Countable; use Iterator; /** @@ -19,7 +17,7 @@ use Iterator; * * @template-implements Iterator */ -final class FilterDirectoryCollectionIterator implements Countable, Iterator +final class FilterDirectoryCollectionIterator implements Iterator { /** * @psalm-var list @@ -32,11 +30,6 @@ final class FilterDirectoryCollectionIterator implements Countable, Iterator $this->directories = $directories->asArray(); } - public function count(): int - { - return iterator_count($this); - } - public function rewind(): void { $this->position = 0; diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/Group.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/Group.php index 1ee1baac..d60a7de2 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/Group.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/Group.php @@ -14,9 +14,9 @@ namespace PHPUnit\TextUI\Configuration; * * @psalm-immutable */ -final class Group +final readonly class Group { - private readonly string $name; + private string $name; public function __construct(string $name) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/GroupCollection.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/GroupCollection.php index eb581de5..0787f1f9 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/GroupCollection.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/GroupCollection.php @@ -18,12 +18,12 @@ use IteratorAggregate; * * @template-implements IteratorAggregate */ -final class GroupCollection implements IteratorAggregate +final readonly class GroupCollection implements IteratorAggregate { /** * @psalm-var list */ - private readonly array $groups; + private array $groups; /** * @psalm-param list $groups diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/GroupCollectionIterator.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/GroupCollectionIterator.php index 9b4795ac..7df907ea 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/GroupCollectionIterator.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/GroupCollectionIterator.php @@ -10,8 +10,6 @@ namespace PHPUnit\TextUI\Configuration; use function count; -use function iterator_count; -use Countable; use Iterator; /** @@ -19,7 +17,7 @@ use Iterator; * * @template-implements Iterator */ -final class GroupCollectionIterator implements Countable, Iterator +final class GroupCollectionIterator implements Iterator { /** * @psalm-var list @@ -32,11 +30,6 @@ final class GroupCollectionIterator implements Countable, Iterator $this->groups = $groups->asArray(); } - public function count(): int - { - return iterator_count($this); - } - public function rewind(): void { $this->position = 0; diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/IniSetting.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/IniSetting.php index aa88d731..b7539f98 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/IniSetting.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/IniSetting.php @@ -14,10 +14,10 @@ namespace PHPUnit\TextUI\Configuration; * * @psalm-immutable */ -final class IniSetting +final readonly class IniSetting { - private readonly string $name; - private readonly string $value; + private string $name; + private string $value; public function __construct(string $name, string $value) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/IniSettingCollection.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/IniSettingCollection.php index 2d405b4a..4ab61027 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/IniSettingCollection.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/IniSettingCollection.php @@ -20,12 +20,12 @@ use IteratorAggregate; * * @template-implements IteratorAggregate */ -final class IniSettingCollection implements Countable, IteratorAggregate +final readonly class IniSettingCollection implements Countable, IteratorAggregate { /** * @psalm-var list */ - private readonly array $iniSettings; + private array $iniSettings; /** * @psalm-param list $iniSettings diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/IniSettingCollectionIterator.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/IniSettingCollectionIterator.php index 196358c0..5e1e1402 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/IniSettingCollectionIterator.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/IniSettingCollectionIterator.php @@ -10,8 +10,6 @@ namespace PHPUnit\TextUI\Configuration; use function count; -use function iterator_count; -use Countable; use Iterator; /** @@ -19,7 +17,7 @@ use Iterator; * * @template-implements Iterator */ -final class IniSettingCollectionIterator implements Countable, Iterator +final class IniSettingCollectionIterator implements Iterator { /** * @psalm-var list @@ -32,11 +30,6 @@ final class IniSettingCollectionIterator implements Countable, Iterator $this->iniSettings = $iniSettings->asArray(); } - public function count(): int - { - return iterator_count($this); - } - public function rewind(): void { $this->position = 0; diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/Php.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/Php.php index 17d08484..19654ebe 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/Php.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/Php.php @@ -14,19 +14,19 @@ namespace PHPUnit\TextUI\Configuration; * * @psalm-immutable */ -final class Php +final readonly class Php { - private readonly DirectoryCollection $includePaths; - private readonly IniSettingCollection $iniSettings; - private readonly ConstantCollection $constants; - private readonly VariableCollection $globalVariables; - private readonly VariableCollection $envVariables; - private readonly VariableCollection $postVariables; - private readonly VariableCollection $getVariables; - private readonly VariableCollection $cookieVariables; - private readonly VariableCollection $serverVariables; - private readonly VariableCollection $filesVariables; - private readonly VariableCollection $requestVariables; + private DirectoryCollection $includePaths; + private IniSettingCollection $iniSettings; + private ConstantCollection $constants; + private VariableCollection $globalVariables; + private VariableCollection $envVariables; + private VariableCollection $postVariables; + private VariableCollection $getVariables; + private VariableCollection $cookieVariables; + private VariableCollection $serverVariables; + private VariableCollection $filesVariables; + private VariableCollection $requestVariables; public function __construct(DirectoryCollection $includePaths, IniSettingCollection $iniSettings, ConstantCollection $constants, VariableCollection $globalVariables, VariableCollection $envVariables, VariableCollection $postVariables, VariableCollection $getVariables, VariableCollection $cookieVariables, VariableCollection $serverVariables, VariableCollection $filesVariables, VariableCollection $requestVariables) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/Source.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/Source.php index b22edba8..a13eccec 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/Source.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/Source.php @@ -14,27 +14,27 @@ namespace PHPUnit\TextUI\Configuration; * * @psalm-immutable */ -final class Source +final readonly class Source { /** * @psalm-var non-empty-string */ - private readonly ?string $baseline; - private readonly bool $ignoreBaseline; - private readonly FilterDirectoryCollection $includeDirectories; - private readonly FileCollection $includeFiles; - private readonly FilterDirectoryCollection $excludeDirectories; - private readonly FileCollection $excludeFiles; - private readonly bool $restrictDeprecations; - private readonly bool $restrictNotices; - private readonly bool $restrictWarnings; - private readonly bool $ignoreSuppressionOfDeprecations; - private readonly bool $ignoreSuppressionOfPhpDeprecations; - private readonly bool $ignoreSuppressionOfErrors; - private readonly bool $ignoreSuppressionOfNotices; - private readonly bool $ignoreSuppressionOfPhpNotices; - private readonly bool $ignoreSuppressionOfWarnings; - private readonly bool $ignoreSuppressionOfPhpWarnings; + private ?string $baseline; + private bool $ignoreBaseline; + private FilterDirectoryCollection $includeDirectories; + private FileCollection $includeFiles; + private FilterDirectoryCollection $excludeDirectories; + private FileCollection $excludeFiles; + private bool $restrictDeprecations; + private bool $restrictNotices; + private bool $restrictWarnings; + private bool $ignoreSuppressionOfDeprecations; + private bool $ignoreSuppressionOfPhpDeprecations; + private bool $ignoreSuppressionOfErrors; + private bool $ignoreSuppressionOfNotices; + private bool $ignoreSuppressionOfPhpNotices; + private bool $ignoreSuppressionOfWarnings; + private bool $ignoreSuppressionOfPhpWarnings; /** * @psalm-param non-empty-string $baseline diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestDirectory.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestDirectory.php index d19e8859..1aa97d20 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestDirectory.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestDirectory.php @@ -16,27 +16,34 @@ use PHPUnit\Util\VersionComparisonOperator; * * @psalm-immutable */ -final class TestDirectory +final readonly class TestDirectory { /** * @psalm-var non-empty-string */ - private readonly string $path; - private readonly string $prefix; - private readonly string $suffix; - private readonly string $phpVersion; - private readonly VersionComparisonOperator $phpVersionOperator; + private string $path; + private string $prefix; + private string $suffix; + private string $phpVersion; + private VersionComparisonOperator $phpVersionOperator; + + /** + * @psalm-var list + */ + private array $groups; /** * @psalm-param non-empty-string $path + * @psalm-param list $groups */ - public function __construct(string $path, string $prefix, string $suffix, string $phpVersion, VersionComparisonOperator $phpVersionOperator) + public function __construct(string $path, string $prefix, string $suffix, string $phpVersion, VersionComparisonOperator $phpVersionOperator, array $groups) { $this->path = $path; $this->prefix = $prefix; $this->suffix = $suffix; $this->phpVersion = $phpVersion; $this->phpVersionOperator = $phpVersionOperator; + $this->groups = $groups; } /** @@ -66,4 +73,12 @@ final class TestDirectory { return $this->phpVersionOperator; } + + /** + * @psalm-return list + */ + public function groups(): array + { + return $this->groups; + } } diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestDirectoryCollection.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestDirectoryCollection.php index a3667a8e..9048370c 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestDirectoryCollection.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestDirectoryCollection.php @@ -20,12 +20,12 @@ use IteratorAggregate; * * @template-implements IteratorAggregate */ -final class TestDirectoryCollection implements Countable, IteratorAggregate +final readonly class TestDirectoryCollection implements Countable, IteratorAggregate { /** * @psalm-var list */ - private readonly array $directories; + private array $directories; /** * @psalm-param list $directories diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestDirectoryCollectionIterator.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestDirectoryCollectionIterator.php index 157c4983..fce7bc76 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestDirectoryCollectionIterator.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestDirectoryCollectionIterator.php @@ -10,8 +10,6 @@ namespace PHPUnit\TextUI\Configuration; use function count; -use function iterator_count; -use Countable; use Iterator; /** @@ -19,7 +17,7 @@ use Iterator; * * @template-implements Iterator */ -final class TestDirectoryCollectionIterator implements Countable, Iterator +final class TestDirectoryCollectionIterator implements Iterator { /** * @psalm-var list @@ -32,11 +30,6 @@ final class TestDirectoryCollectionIterator implements Countable, Iterator $this->directories = $directories->asArray(); } - public function count(): int - { - return iterator_count($this); - } - public function rewind(): void { $this->position = 0; diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestFile.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestFile.php index f0a81010..9d9d8de3 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestFile.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestFile.php @@ -16,19 +16,35 @@ use PHPUnit\Util\VersionComparisonOperator; * * @psalm-immutable */ -final class TestFile +final readonly class TestFile { - private readonly string $path; - private readonly string $phpVersion; - private readonly VersionComparisonOperator $phpVersionOperator; + /** + * @psalm-var non-empty-string + */ + private string $path; + private string $phpVersion; + private VersionComparisonOperator $phpVersionOperator; - public function __construct(string $path, string $phpVersion, VersionComparisonOperator $phpVersionOperator) + /** + * @psalm-var list + */ + private array $groups; + + /** + * @psalm-param non-empty-string $path + * @psalm-param list $groups + */ + public function __construct(string $path, string $phpVersion, VersionComparisonOperator $phpVersionOperator, array $groups) { $this->path = $path; $this->phpVersion = $phpVersion; $this->phpVersionOperator = $phpVersionOperator; + $this->groups = $groups; } + /** + * @psalm-return non-empty-string + */ public function path(): string { return $this->path; @@ -43,4 +59,12 @@ final class TestFile { return $this->phpVersionOperator; } + + /** + * @psalm-return list + */ + public function groups(): array + { + return $this->groups; + } } diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestFileCollection.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestFileCollection.php index 4582664b..fcb30a3c 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestFileCollection.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestFileCollection.php @@ -20,12 +20,12 @@ use IteratorAggregate; * * @template-implements IteratorAggregate */ -final class TestFileCollection implements Countable, IteratorAggregate +final readonly class TestFileCollection implements Countable, IteratorAggregate { /** * @psalm-var list */ - private readonly array $files; + private array $files; /** * @psalm-param list $files diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestFileCollectionIterator.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestFileCollectionIterator.php index 4efdfdd3..51d3d611 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestFileCollectionIterator.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestFileCollectionIterator.php @@ -10,8 +10,6 @@ namespace PHPUnit\TextUI\Configuration; use function count; -use function iterator_count; -use Countable; use Iterator; /** @@ -19,7 +17,7 @@ use Iterator; * * @template-implements Iterator */ -final class TestFileCollectionIterator implements Countable, Iterator +final class TestFileCollectionIterator implements Iterator { /** * @psalm-var list @@ -32,11 +30,6 @@ final class TestFileCollectionIterator implements Countable, Iterator $this->files = $files->asArray(); } - public function count(): int - { - return iterator_count($this); - } - public function rewind(): void { $this->position = 0; diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestSuite.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestSuite.php index 7105242b..17a158c2 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestSuite.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestSuite.php @@ -14,15 +14,15 @@ namespace PHPUnit\TextUI\Configuration; * * @psalm-immutable */ -final class TestSuite +final readonly class TestSuite { /** * @psalm-var non-empty-string */ - private readonly string $name; - private readonly TestDirectoryCollection $directories; - private readonly TestFileCollection $files; - private readonly FileCollection $exclude; + private string $name; + private TestDirectoryCollection $directories; + private TestFileCollection $files; + private FileCollection $exclude; /** * @psalm-param non-empty-string $name diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestSuiteCollection.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestSuiteCollection.php index 493ef0aa..ab4a1b32 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestSuiteCollection.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestSuiteCollection.php @@ -20,12 +20,12 @@ use IteratorAggregate; * * @template-implements IteratorAggregate */ -final class TestSuiteCollection implements Countable, IteratorAggregate +final readonly class TestSuiteCollection implements Countable, IteratorAggregate { /** * @psalm-var list */ - private readonly array $testSuites; + private array $testSuites; /** * @psalm-param list $testSuites diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestSuiteCollectionIterator.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestSuiteCollectionIterator.php index 89d35d9b..ab06f8f9 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestSuiteCollectionIterator.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/TestSuiteCollectionIterator.php @@ -10,8 +10,6 @@ namespace PHPUnit\TextUI\Configuration; use function count; -use function iterator_count; -use Countable; use Iterator; /** @@ -19,7 +17,7 @@ use Iterator; * * @template-implements Iterator */ -final class TestSuiteCollectionIterator implements Countable, Iterator +final class TestSuiteCollectionIterator implements Iterator { /** * @psalm-var list @@ -32,11 +30,6 @@ final class TestSuiteCollectionIterator implements Countable, Iterator $this->testSuites = $testSuites->asArray(); } - public function count(): int - { - return iterator_count($this); - } - public function rewind(): void { $this->position = 0; diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/Variable.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/Variable.php index edf41d94..97d93107 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/Variable.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/Variable.php @@ -14,11 +14,11 @@ namespace PHPUnit\TextUI\Configuration; * * @psalm-immutable */ -final class Variable +final readonly class Variable { - private readonly string $name; - private readonly mixed $value; - private readonly bool $force; + private string $name; + private mixed $value; + private bool $force; public function __construct(string $name, mixed $value, bool $force) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/VariableCollection.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/VariableCollection.php index 9c3dc459..3b7b9176 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/VariableCollection.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/VariableCollection.php @@ -20,12 +20,12 @@ use IteratorAggregate; * * @template-implements IteratorAggregate */ -final class VariableCollection implements Countable, IteratorAggregate +final readonly class VariableCollection implements Countable, IteratorAggregate { /** * @psalm-var list */ - private readonly array $variables; + private array $variables; /** * @psalm-param list $variables diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/VariableCollectionIterator.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/VariableCollectionIterator.php index e9d6a355..cfcad6eb 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/VariableCollectionIterator.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Value/VariableCollectionIterator.php @@ -10,8 +10,6 @@ namespace PHPUnit\TextUI\Configuration; use function count; -use function iterator_count; -use Countable; use Iterator; /** @@ -19,7 +17,7 @@ use Iterator; * * @template-implements Iterator */ -final class VariableCollectionIterator implements Countable, Iterator +final class VariableCollectionIterator implements Iterator { /** * @psalm-var list @@ -32,11 +30,6 @@ final class VariableCollectionIterator implements Countable, Iterator $this->variables = $variables->asArray(); } - public function count(): int - { - return iterator_count($this); - } - public function rewind(): void { $this->position = 0; diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/CodeCoverage.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/CodeCoverage.php index b38feefc..47b31daa 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/CodeCoverage.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/CodeCoverage.php @@ -9,10 +9,6 @@ */ namespace PHPUnit\TextUI\XmlConfiguration\CodeCoverage; -use function count; -use PHPUnit\TextUI\Configuration\Directory; -use PHPUnit\TextUI\Configuration\FileCollection; -use PHPUnit\TextUI\Configuration\FilterDirectoryCollection; use PHPUnit\TextUI\XmlConfiguration\CodeCoverage\Report\Clover; use PHPUnit\TextUI\XmlConfiguration\CodeCoverage\Report\Cobertura; use PHPUnit\TextUI\XmlConfiguration\CodeCoverage\Report\Crap4j; @@ -27,32 +23,22 @@ use PHPUnit\TextUI\XmlConfiguration\Exception; * * @psalm-immutable */ -final class CodeCoverage +final readonly class CodeCoverage { - private readonly ?Directory $cacheDirectory; - private readonly FilterDirectoryCollection $directories; - private readonly FileCollection $files; - private readonly FilterDirectoryCollection $excludeDirectories; - private readonly FileCollection $excludeFiles; - private readonly bool $pathCoverage; - private readonly bool $includeUncoveredFiles; - private readonly bool $ignoreDeprecatedCodeUnits; - private readonly bool $disableCodeCoverageIgnore; - private readonly ?Clover $clover; - private readonly ?Cobertura $cobertura; - private readonly ?Crap4j $crap4j; - private readonly ?Html $html; - private readonly ?Php $php; - private readonly ?Text $text; - private readonly ?Xml $xml; - - public function __construct(?Directory $cacheDirectory, FilterDirectoryCollection $directories, FileCollection $files, FilterDirectoryCollection $excludeDirectories, FileCollection $excludeFiles, bool $pathCoverage, bool $includeUncoveredFiles, bool $ignoreDeprecatedCodeUnits, bool $disableCodeCoverageIgnore, ?Clover $clover, ?Cobertura $cobertura, ?Crap4j $crap4j, ?Html $html, ?Php $php, ?Text $text, ?Xml $xml) + private bool $pathCoverage; + private bool $includeUncoveredFiles; + private bool $ignoreDeprecatedCodeUnits; + private bool $disableCodeCoverageIgnore; + private ?Clover $clover; + private ?Cobertura $cobertura; + private ?Crap4j $crap4j; + private ?Html $html; + private ?Php $php; + private ?Text $text; + private ?Xml $xml; + + public function __construct(bool $pathCoverage, bool $includeUncoveredFiles, bool $ignoreDeprecatedCodeUnits, bool $disableCodeCoverageIgnore, ?Clover $clover, ?Cobertura $cobertura, ?Crap4j $crap4j, ?Html $html, ?Php $php, ?Text $text, ?Xml $xml) { - $this->cacheDirectory = $cacheDirectory; - $this->directories = $directories; - $this->files = $files; - $this->excludeDirectories = $excludeDirectories; - $this->excludeFiles = $excludeFiles; $this->pathCoverage = $pathCoverage; $this->includeUncoveredFiles = $includeUncoveredFiles; $this->ignoreDeprecatedCodeUnits = $ignoreDeprecatedCodeUnits; @@ -66,57 +52,6 @@ final class CodeCoverage $this->xml = $xml; } - /** - * @psalm-assert-if-true !null $this->cacheDirectory - * - * @deprecated - */ - public function hasCacheDirectory(): bool - { - return $this->cacheDirectory !== null; - } - - /** - * @throws Exception - * - * @deprecated - */ - public function cacheDirectory(): Directory - { - if (!$this->hasCacheDirectory()) { - throw new Exception( - 'No cache directory has been configured', - ); - } - - return $this->cacheDirectory; - } - - public function hasNonEmptyListOfFilesToBeIncludedInCodeCoverageReport(): bool - { - return count($this->directories) > 0 || count($this->files) > 0; - } - - public function directories(): FilterDirectoryCollection - { - return $this->directories; - } - - public function files(): FileCollection - { - return $this->files; - } - - public function excludeDirectories(): FilterDirectoryCollection - { - return $this->excludeDirectories; - } - - public function excludeFiles(): FileCollection - { - return $this->excludeFiles; - } - public function pathCoverage(): bool { return $this->pathCoverage; diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Clover.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Clover.php index 0d59cef5..dd5ca28d 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Clover.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Clover.php @@ -16,9 +16,9 @@ use PHPUnit\TextUI\Configuration\File; * * @psalm-immutable */ -final class Clover +final readonly class Clover { - private readonly File $target; + private File $target; public function __construct(File $target) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Cobertura.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Cobertura.php index 5c15cf27..19cb5dce 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Cobertura.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Cobertura.php @@ -16,9 +16,9 @@ use PHPUnit\TextUI\Configuration\File; * * @psalm-immutable */ -final class Cobertura +final readonly class Cobertura { - private readonly File $target; + private File $target; public function __construct(File $target) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Crap4j.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Crap4j.php index 3e292df3..47ab2a81 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Crap4j.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Crap4j.php @@ -16,10 +16,10 @@ use PHPUnit\TextUI\Configuration\File; * * @psalm-immutable */ -final class Crap4j +final readonly class Crap4j { - private readonly File $target; - private readonly int $threshold; + private File $target; + private int $threshold; public function __construct(File $target, int $threshold) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Html.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Html.php index 8a5841d2..91605b8f 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Html.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Html.php @@ -17,17 +17,17 @@ use PHPUnit\TextUI\Configuration\NoCustomCssFileException; * * @psalm-immutable */ -final class Html +final readonly class Html { - private readonly Directory $target; - private readonly int $lowUpperBound; - private readonly int $highLowerBound; - private readonly string $colorSuccessLow; - private readonly string $colorSuccessMedium; - private readonly string $colorSuccessHigh; - private readonly string $colorWarning; - private readonly string $colorDanger; - private readonly ?string $customCssFile; + private Directory $target; + private int $lowUpperBound; + private int $highLowerBound; + private string $colorSuccessLow; + private string $colorSuccessMedium; + private string $colorSuccessHigh; + private string $colorWarning; + private string $colorDanger; + private ?string $customCssFile; public function __construct(Directory $target, int $lowUpperBound, int $highLowerBound, string $colorSuccessLow, string $colorSuccessMedium, string $colorSuccessHigh, string $colorWarning, string $colorDanger, ?string $customCssFile) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Php.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Php.php index 121287a1..91c18333 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Php.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Php.php @@ -16,9 +16,9 @@ use PHPUnit\TextUI\Configuration\File; * * @psalm-immutable */ -final class Php +final readonly class Php { - private readonly File $target; + private File $target; public function __construct(File $target) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Text.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Text.php index 749c32cf..4c4a3b85 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Text.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Text.php @@ -16,11 +16,11 @@ use PHPUnit\TextUI\Configuration\File; * * @psalm-immutable */ -final class Text +final readonly class Text { - private readonly File $target; - private readonly bool $showUncoveredFiles; - private readonly bool $showOnlySummary; + private File $target; + private bool $showUncoveredFiles; + private bool $showOnlySummary; public function __construct(File $target, bool $showUncoveredFiles, bool $showOnlySummary) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Xml.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Xml.php index 2f891e97..581f0efc 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Xml.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/Report/Xml.php @@ -16,9 +16,9 @@ use PHPUnit\TextUI\Configuration\Directory; * * @psalm-immutable */ -final class Xml +final readonly class Xml { - private readonly Directory $target; + private Directory $target; public function __construct(Directory $target) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Configuration.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Configuration.php index c78d58f5..9959a0b7 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Configuration.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Configuration.php @@ -21,16 +21,16 @@ use PHPUnit\TextUI\XmlConfiguration\Logging\Logging; * * @psalm-immutable */ -abstract class Configuration +abstract readonly class Configuration { - private readonly ExtensionBootstrapCollection $extensions; - private readonly Source $source; - private readonly CodeCoverage $codeCoverage; - private readonly Groups $groups; - private readonly Logging $logging; - private readonly Php $php; - private readonly PHPUnit $phpunit; - private readonly TestSuiteCollection $testSuite; + private ExtensionBootstrapCollection $extensions; + private Source $source; + private CodeCoverage $codeCoverage; + private Groups $groups; + private Logging $logging; + private Php $php; + private PHPUnit $phpunit; + private TestSuiteCollection $testSuite; public function __construct(ExtensionBootstrapCollection $extensions, Source $source, CodeCoverage $codeCoverage, Groups $groups, Logging $logging, Php $php, PHPUnit $phpunit, TestSuiteCollection $testSuite) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/DefaultConfiguration.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/DefaultConfiguration.php index 5c652e95..d646dd34 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/DefaultConfiguration.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/DefaultConfiguration.php @@ -29,7 +29,7 @@ use PHPUnit\TextUI\XmlConfiguration\Logging\Logging; * * @psalm-immutable */ -final class DefaultConfiguration extends Configuration +final readonly class DefaultConfiguration extends Configuration { public static function create(): self { @@ -54,11 +54,6 @@ final class DefaultConfiguration extends Configuration false, ), new CodeCoverage( - null, - CodeCoverageFilterDirectoryCollection::fromArray([]), - FileCollection::fromArray([]), - CodeCoverageFilterDirectoryCollection::fromArray([]), - FileCollection::fromArray([]), false, true, false, @@ -97,7 +92,6 @@ final class DefaultConfiguration extends Configuration new PHPUnit( null, true, - null, 80, \PHPUnit\TextUI\Configuration\Configuration::COLOR_DEFAULT, false, @@ -145,7 +139,6 @@ final class DefaultConfiguration extends Configuration false, false, false, - false, 100, ), TestSuiteCollection::fromArray([]), diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Generator.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Generator.php index 39e7095f..4d11a71e 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Generator.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Generator.php @@ -14,7 +14,7 @@ use function str_replace; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Generator +final readonly class Generator { /** * @var string diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Groups.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Groups.php index e8f61b5e..b51d7504 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Groups.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Groups.php @@ -16,10 +16,10 @@ use PHPUnit\TextUI\Configuration\GroupCollection; * * @psalm-immutable */ -final class Groups +final readonly class Groups { - private readonly GroupCollection $include; - private readonly GroupCollection $exclude; + private GroupCollection $include; + private GroupCollection $exclude; public function __construct(GroupCollection $include, GroupCollection $exclude) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/LoadedFromFileConfiguration.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/LoadedFromFileConfiguration.php index cf7274d6..bb41470a 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/LoadedFromFileConfiguration.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/LoadedFromFileConfiguration.php @@ -21,10 +21,10 @@ use PHPUnit\TextUI\XmlConfiguration\Logging\Logging; * * @psalm-immutable */ -final class LoadedFromFileConfiguration extends Configuration +final readonly class LoadedFromFileConfiguration extends Configuration { - private readonly string $filename; - private readonly ValidationResult $validationResult; + private string $filename; + private ValidationResult $validationResult; public function __construct(string $filename, ValidationResult $validationResult, ExtensionBootstrapCollection $extensions, Source $source, CodeCoverage $codeCoverage, Groups $groups, Logging $logging, Php $php, PHPUnit $phpunit, TestSuiteCollection $testSuite) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Loader.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Loader.php index 3b8c8b7c..64b3501c 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Loader.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Loader.php @@ -30,6 +30,7 @@ use DOMNode; use DOMXPath; use PHPUnit\Runner\TestSuiteSorter; use PHPUnit\Runner\Version; +use PHPUnit\TextUI\Configuration\Configuration; use PHPUnit\TextUI\Configuration\Constant; use PHPUnit\TextUI\Configuration\ConstantCollection; use PHPUnit\TextUI\Configuration\Directory; @@ -76,7 +77,7 @@ use SebastianBergmann\CodeCoverage\Report\Thresholds; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Loader +final readonly class Loader { /** * @throws Exception @@ -300,7 +301,6 @@ final class Loader private function codeCoverage(string $filename, DOMXPath $xpath): CodeCoverage { - $cacheDirectory = null; $pathCoverage = false; $includeUncoveredFiles = true; $ignoreDeprecatedCodeUnits = false; @@ -309,14 +309,6 @@ final class Loader $element = $this->element($xpath, 'coverage'); if ($element) { - $cacheDirectory = $this->getStringAttribute($element, 'cacheDirectory'); - - if ($cacheDirectory !== null) { - $cacheDirectory = new Directory( - $this->toAbsolutePath($filename, $cacheDirectory), - ); - } - $pathCoverage = $this->getBooleanAttribute( $element, 'pathCoverage', @@ -455,11 +447,6 @@ final class Loader } return new CodeCoverage( - $cacheDirectory, - $this->readFilterDirectories($filename, $xpath, 'coverage/include/directory'), - $this->readFilterFiles($filename, $xpath, 'coverage/include/file'), - $this->readFilterDirectories($filename, $xpath, 'coverage/exclude/directory'), - $this->readFilterFiles($filename, $xpath, 'coverage/exclude/file'), $pathCoverage, $includeUncoveredFiles, $ignoreDeprecatedCodeUnits, @@ -474,7 +461,7 @@ final class Loader ); } - private function getBoolean(string $value, bool|string $default): bool|string + private function getBoolean(string $value, bool $default): bool { if (strtolower($value) === 'false') { return false; @@ -487,6 +474,19 @@ final class Loader return $default; } + private function getValue(string $value): bool|string + { + if (strtolower($value) === 'false') { + return false; + } + + if (strtolower($value) === 'true') { + return true; + } + + return $value; + } + private function readFilterDirectories(string $filename, DOMXPath $xpath, string $query): FilterDirectoryCollection { $directories = []; @@ -556,7 +556,7 @@ final class Loader return $default; } - return (bool) $this->getBoolean( + return $this->getBoolean( $element->getAttribute($attribute), false, ); @@ -635,7 +635,7 @@ final class Loader $constants[] = new Constant( $const->getAttribute('name'), - $this->getBoolean($value, $value), + $this->getValue($value), ); } @@ -660,7 +660,7 @@ final class Loader $verbatim = false; if ($var->hasAttribute('force')) { - $force = (bool) $this->getBoolean($var->getAttribute('force'), false); + $force = $this->getBoolean($var->getAttribute('force'), false); } if ($var->hasAttribute('verbatim')) { @@ -668,7 +668,7 @@ final class Loader } if (!$verbatim) { - $value = $this->getBoolean($value, $value); + $value = $this->getValue($value); } $variables[$array][] = new Variable($name, $value, $force); @@ -750,12 +750,6 @@ final class Loader $cacheDirectory = $this->toAbsolutePath($filename, $cacheDirectory); } - $cacheResultFile = $this->getStringAttribute($document->documentElement, 'cacheResultFile'); - - if ($cacheResultFile !== null) { - $cacheResultFile = $this->toAbsolutePath($filename, $cacheResultFile); - } - $bootstrap = $this->getStringAttribute($document->documentElement, 'bootstrap'); if ($bootstrap !== null) { @@ -772,30 +766,23 @@ final class Loader if ($document->documentElement->hasAttribute('backupStaticProperties')) { $backupStaticProperties = $this->getBooleanAttribute($document->documentElement, 'backupStaticProperties', false); - } elseif ($document->documentElement->hasAttribute('backupStaticAttributes')) { - $backupStaticProperties = $this->getBooleanAttribute($document->documentElement, 'backupStaticAttributes', false); } $requireCoverageMetadata = false; if ($document->documentElement->hasAttribute('requireCoverageMetadata')) { $requireCoverageMetadata = $this->getBooleanAttribute($document->documentElement, 'requireCoverageMetadata', false); - } elseif ($document->documentElement->hasAttribute('forceCoversAnnotation')) { - $requireCoverageMetadata = $this->getBooleanAttribute($document->documentElement, 'forceCoversAnnotation', false); } $beStrictAboutCoverageMetadata = false; if ($document->documentElement->hasAttribute('beStrictAboutCoverageMetadata')) { $beStrictAboutCoverageMetadata = $this->getBooleanAttribute($document->documentElement, 'beStrictAboutCoverageMetadata', false); - } elseif ($document->documentElement->hasAttribute('forceCoversAnnotation')) { - $beStrictAboutCoverageMetadata = $this->getBooleanAttribute($document->documentElement, 'beStrictAboutCoversAnnotation', false); } return new PHPUnit( $cacheDirectory, $this->getBooleanAttribute($document->documentElement, 'cacheResult', true), - $cacheResultFile, $this->getColumns($document), $this->getColors($document), $this->getBooleanAttribute($document->documentElement, 'stderr', false), @@ -841,7 +828,6 @@ final class Loader $defectsFirst, $this->getBooleanAttribute($document->documentElement, 'backupGlobals', false), $backupStaticProperties, - $this->getBooleanAttribute($document->documentElement, 'registerMockObjectsFromTestArgumentsRecursively', false), $this->getBooleanAttribute($document->documentElement, 'testdox', false), $this->getBooleanAttribute($document->documentElement, 'controlGarbageCollector', false), $this->getIntegerAttribute($document->documentElement, 'numberOfTestsBeforeGarbageCollection', 100), @@ -850,15 +836,15 @@ final class Loader private function getColors(DOMDocument $document): string { - $colors = \PHPUnit\TextUI\Configuration\Configuration::COLOR_DEFAULT; + $colors = Configuration::COLOR_DEFAULT; if ($document->documentElement->hasAttribute('colors')) { /* only allow boolean for compatibility with previous versions 'always' only allowed from command line */ if ($this->getBoolean($document->documentElement->getAttribute('colors'), false)) { - $colors = \PHPUnit\TextUI\Configuration\Configuration::COLOR_AUTO; + $colors = Configuration::COLOR_AUTO; } else { - $colors = \PHPUnit\TextUI\Configuration\Configuration::COLOR_NEVER; + $colors = Configuration::COLOR_NEVER; } } @@ -930,12 +916,27 @@ final class Loader $phpVersionOperator = new VersionComparisonOperator($directoryNode->getAttribute('phpVersionOperator')); } + $groups = []; + + if ($directoryNode->hasAttribute('groups')) { + foreach (explode(',', $directoryNode->getAttribute('groups')) as $group) { + $group = trim($group); + + if (empty($group)) { + continue; + } + + $groups[] = $group; + } + } + $directories[] = new TestDirectory( $this->toAbsolutePath($filename, $directory), $prefix, $suffix, $phpVersion, $phpVersionOperator, + $groups, ); } @@ -962,10 +963,25 @@ final class Loader $phpVersionOperator = new VersionComparisonOperator($fileNode->getAttribute('phpVersionOperator')); } + $groups = []; + + if ($fileNode->hasAttribute('groups')) { + foreach (explode(',', $fileNode->getAttribute('groups')) as $group) { + $group = trim($group); + + if (empty($group)) { + continue; + } + + $groups[] = $group; + } + } + $files[] = new TestFile( $this->toAbsolutePath($filename, $file), $phpVersion, $phpVersionOperator, + $groups, ); } diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Logging/Junit.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Logging/Junit.php index 020144b8..36b24109 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Logging/Junit.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Logging/Junit.php @@ -16,9 +16,9 @@ use PHPUnit\TextUI\Configuration\File; * * @psalm-immutable */ -final class Junit +final readonly class Junit { - private readonly File $target; + private File $target; public function __construct(File $target) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Logging/Logging.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Logging/Logging.php index 587f727f..b2dc9af4 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Logging/Logging.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Logging/Logging.php @@ -18,12 +18,12 @@ use PHPUnit\TextUI\XmlConfiguration\Logging\TestDox\Text as TestDoxText; * * @psalm-immutable */ -final class Logging +final readonly class Logging { - private readonly ?Junit $junit; - private readonly ?TeamCity $teamCity; - private readonly ?TestDoxHtml $testDoxHtml; - private readonly ?TestDoxText $testDoxText; + private ?Junit $junit; + private ?TeamCity $teamCity; + private ?TestDoxHtml $testDoxHtml; + private ?TestDoxText $testDoxText; public function __construct(?Junit $junit, ?TeamCity $teamCity, ?TestDoxHtml $testDoxHtml, ?TestDoxText $testDoxText) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Logging/TeamCity.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Logging/TeamCity.php index 263fcf0d..8c5607cf 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Logging/TeamCity.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Logging/TeamCity.php @@ -16,9 +16,9 @@ use PHPUnit\TextUI\Configuration\File; * * @psalm-immutable */ -final class TeamCity +final readonly class TeamCity { - private readonly File $target; + private File $target; public function __construct(File $target) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Logging/TestDox/Html.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Logging/TestDox/Html.php index 8cfb00e2..8d11a672 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Logging/TestDox/Html.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Logging/TestDox/Html.php @@ -16,9 +16,9 @@ use PHPUnit\TextUI\Configuration\File; * * @psalm-immutable */ -final class Html +final readonly class Html { - private readonly File $target; + private File $target; public function __construct(File $target) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Logging/TestDox/Text.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Logging/TestDox/Text.php index b91c793d..1950c13e 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Logging/TestDox/Text.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Logging/TestDox/Text.php @@ -16,9 +16,9 @@ use PHPUnit\TextUI\Configuration\File; * * @psalm-immutable */ -final class Text +final readonly class Text { - private readonly File $target; + private File $target; public function __construct(File $target) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationBuilder.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationBuilder.php index 47729221..7cfa38fe 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationBuilder.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationBuilder.php @@ -9,14 +9,12 @@ */ namespace PHPUnit\TextUI\XmlConfiguration; -use function array_key_exists; -use function sprintf; use function version_compare; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class MigrationBuilder +final readonly class MigrationBuilder { private const AVAILABLE_MIGRATIONS = [ '8.5' => [ @@ -63,6 +61,10 @@ final class MigrationBuilder '10.0' => [ MoveCoverageDirectoriesToSource::class, ], + + '10.5' => [ + RemoveRegisterMockObjectsFromTestArgumentsRecursivelyAttribute::class, + ], ]; /** @@ -70,15 +72,6 @@ final class MigrationBuilder */ public function build(string $fromVersion): array { - if (!array_key_exists($fromVersion, self::AVAILABLE_MIGRATIONS)) { - throw new MigrationBuilderException( - sprintf( - 'Migration from schema version %s is not supported', - $fromVersion, - ), - ); - } - $stack = [new UpdateSchemaLocation]; foreach (self::AVAILABLE_MIGRATIONS as $version => $migrations) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationBuilderException.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationBuilderException.php index 3d3c767a..ebee6e91 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationBuilderException.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationBuilderException.php @@ -9,11 +9,12 @@ */ namespace PHPUnit\TextUI\XmlConfiguration; +use PHPUnit\Exception; use RuntimeException; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class MigrationBuilderException extends RuntimeException implements \PHPUnit\Exception +final class MigrationBuilderException extends RuntimeException implements Exception { } diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationException.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationException.php index f92b2db3..9fa4068c 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationException.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationException.php @@ -9,11 +9,12 @@ */ namespace PHPUnit\TextUI\XmlConfiguration; +use PHPUnit\Exception; use RuntimeException; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class MigrationException extends RuntimeException implements \PHPUnit\Exception +final class MigrationException extends RuntimeException implements Exception { } diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/ConvertLogTypes.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/ConvertLogTypes.php index 697bbe08..12c814cb 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/ConvertLogTypes.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/ConvertLogTypes.php @@ -15,7 +15,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class ConvertLogTypes implements Migration +final readonly class ConvertLogTypes implements Migration { public function migrate(DOMDocument $document): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/CoverageCloverToReport.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/CoverageCloverToReport.php index ccefbfbc..73518d15 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/CoverageCloverToReport.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/CoverageCloverToReport.php @@ -14,7 +14,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class CoverageCloverToReport extends LogToReportMigration +final readonly class CoverageCloverToReport extends LogToReportMigration { protected function forType(): string { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/CoverageCrap4jToReport.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/CoverageCrap4jToReport.php index afbaaec1..43c39cee 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/CoverageCrap4jToReport.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/CoverageCrap4jToReport.php @@ -14,7 +14,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class CoverageCrap4jToReport extends LogToReportMigration +final readonly class CoverageCrap4jToReport extends LogToReportMigration { protected function forType(): string { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/CoverageHtmlToReport.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/CoverageHtmlToReport.php index 7e12095b..147c8cf3 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/CoverageHtmlToReport.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/CoverageHtmlToReport.php @@ -14,7 +14,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class CoverageHtmlToReport extends LogToReportMigration +final readonly class CoverageHtmlToReport extends LogToReportMigration { protected function forType(): string { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/CoveragePhpToReport.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/CoveragePhpToReport.php index bfa10030..4920dcf8 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/CoveragePhpToReport.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/CoveragePhpToReport.php @@ -14,7 +14,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class CoveragePhpToReport extends LogToReportMigration +final readonly class CoveragePhpToReport extends LogToReportMigration { protected function forType(): string { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/CoverageTextToReport.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/CoverageTextToReport.php index 063d8df0..4e0f7aa7 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/CoverageTextToReport.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/CoverageTextToReport.php @@ -14,7 +14,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class CoverageTextToReport extends LogToReportMigration +final readonly class CoverageTextToReport extends LogToReportMigration { protected function forType(): string { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/CoverageXmlToReport.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/CoverageXmlToReport.php index 480d7777..716ba515 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/CoverageXmlToReport.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/CoverageXmlToReport.php @@ -14,7 +14,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class CoverageXmlToReport extends LogToReportMigration +final readonly class CoverageXmlToReport extends LogToReportMigration { protected function forType(): string { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/IntroduceCacheDirectoryAttribute.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/IntroduceCacheDirectoryAttribute.php index 4ac7331c..ad5291c4 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/IntroduceCacheDirectoryAttribute.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/IntroduceCacheDirectoryAttribute.php @@ -16,7 +16,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class IntroduceCacheDirectoryAttribute implements Migration +final readonly class IntroduceCacheDirectoryAttribute implements Migration { public function migrate(DOMDocument $document): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/IntroduceCoverageElement.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/IntroduceCoverageElement.php index de52857e..e85a7563 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/IntroduceCoverageElement.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/IntroduceCoverageElement.php @@ -14,7 +14,7 @@ use DOMDocument; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class IntroduceCoverageElement implements Migration +final readonly class IntroduceCoverageElement implements Migration { public function migrate(DOMDocument $document): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/LogToReportMigration.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/LogToReportMigration.php index c07de0ec..a7ef3e55 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/LogToReportMigration.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/LogToReportMigration.php @@ -17,7 +17,7 @@ use DOMXPath; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -abstract class LogToReportMigration implements Migration +abstract readonly class LogToReportMigration implements Migration { /** * @throws MigrationException diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/MoveAttributesFromFilterWhitelistToCoverage.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/MoveAttributesFromFilterWhitelistToCoverage.php index a7aab5e5..042344ff 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/MoveAttributesFromFilterWhitelistToCoverage.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/MoveAttributesFromFilterWhitelistToCoverage.php @@ -15,7 +15,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class MoveAttributesFromFilterWhitelistToCoverage implements Migration +final readonly class MoveAttributesFromFilterWhitelistToCoverage implements Migration { /** * @throws MigrationException diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/MoveAttributesFromRootToCoverage.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/MoveAttributesFromRootToCoverage.php index 1e0fb4c9..0d7d1b59 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/MoveAttributesFromRootToCoverage.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/MoveAttributesFromRootToCoverage.php @@ -16,7 +16,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class MoveAttributesFromRootToCoverage implements Migration +final readonly class MoveAttributesFromRootToCoverage implements Migration { /** * @throws MigrationException diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/MoveCoverageDirectoriesToSource.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/MoveCoverageDirectoriesToSource.php index bf87fcea..227bf9a0 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/MoveCoverageDirectoriesToSource.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/MoveCoverageDirectoriesToSource.php @@ -17,7 +17,7 @@ use DOMXPath; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class MoveCoverageDirectoriesToSource implements Migration +final readonly class MoveCoverageDirectoriesToSource implements Migration { /** * @throws MigrationException diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/MoveWhitelistExcludesToCoverage.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/MoveWhitelistExcludesToCoverage.php index 40132156..630e9dd4 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/MoveWhitelistExcludesToCoverage.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/MoveWhitelistExcludesToCoverage.php @@ -17,7 +17,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class MoveWhitelistExcludesToCoverage implements Migration +final readonly class MoveWhitelistExcludesToCoverage implements Migration { /** * @throws MigrationException diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/MoveWhitelistIncludesToCoverage.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/MoveWhitelistIncludesToCoverage.php index 2b1b23ed..9d4c1b81 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/MoveWhitelistIncludesToCoverage.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/MoveWhitelistIncludesToCoverage.php @@ -15,7 +15,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class MoveWhitelistIncludesToCoverage implements Migration +final readonly class MoveWhitelistIncludesToCoverage implements Migration { /** * @throws MigrationException diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveBeStrictAboutResourceUsageDuringSmallTestsAttribute.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveBeStrictAboutResourceUsageDuringSmallTestsAttribute.php index c88ff348..8f37d2b9 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveBeStrictAboutResourceUsageDuringSmallTestsAttribute.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveBeStrictAboutResourceUsageDuringSmallTestsAttribute.php @@ -16,7 +16,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class RemoveBeStrictAboutResourceUsageDuringSmallTestsAttribute implements Migration +final readonly class RemoveBeStrictAboutResourceUsageDuringSmallTestsAttribute implements Migration { public function migrate(DOMDocument $document): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveBeStrictAboutTodoAnnotatedTestsAttribute.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveBeStrictAboutTodoAnnotatedTestsAttribute.php index 84b92ef8..7a2d098d 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveBeStrictAboutTodoAnnotatedTestsAttribute.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveBeStrictAboutTodoAnnotatedTestsAttribute.php @@ -16,7 +16,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class RemoveBeStrictAboutTodoAnnotatedTestsAttribute implements Migration +final readonly class RemoveBeStrictAboutTodoAnnotatedTestsAttribute implements Migration { public function migrate(DOMDocument $document): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveCacheResultFileAttribute.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveCacheResultFileAttribute.php index 6a9aae9e..21638192 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveCacheResultFileAttribute.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveCacheResultFileAttribute.php @@ -16,7 +16,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class RemoveCacheResultFileAttribute implements Migration +final readonly class RemoveCacheResultFileAttribute implements Migration { public function migrate(DOMDocument $document): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveCacheTokensAttribute.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveCacheTokensAttribute.php index faf16f2e..714aafaf 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveCacheTokensAttribute.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveCacheTokensAttribute.php @@ -16,7 +16,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class RemoveCacheTokensAttribute implements Migration +final readonly class RemoveCacheTokensAttribute implements Migration { public function migrate(DOMDocument $document): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveConversionToExceptionsAttributes.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveConversionToExceptionsAttributes.php index 267ff0e8..456e03f8 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveConversionToExceptionsAttributes.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveConversionToExceptionsAttributes.php @@ -16,7 +16,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class RemoveConversionToExceptionsAttributes implements Migration +final readonly class RemoveConversionToExceptionsAttributes implements Migration { public function migrate(DOMDocument $document): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveCoverageElementCacheDirectoryAttribute.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveCoverageElementCacheDirectoryAttribute.php index f34518e3..ac7567e2 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveCoverageElementCacheDirectoryAttribute.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveCoverageElementCacheDirectoryAttribute.php @@ -15,7 +15,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class RemoveCoverageElementCacheDirectoryAttribute implements Migration +final readonly class RemoveCoverageElementCacheDirectoryAttribute implements Migration { public function migrate(DOMDocument $document): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveCoverageElementProcessUncoveredFilesAttribute.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveCoverageElementProcessUncoveredFilesAttribute.php index 7a55eacf..1f81b440 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveCoverageElementProcessUncoveredFilesAttribute.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveCoverageElementProcessUncoveredFilesAttribute.php @@ -15,7 +15,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class RemoveCoverageElementProcessUncoveredFilesAttribute implements Migration +final readonly class RemoveCoverageElementProcessUncoveredFilesAttribute implements Migration { public function migrate(DOMDocument $document): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveEmptyFilter.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveEmptyFilter.php index 8f1a6d54..ed8f200e 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveEmptyFilter.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveEmptyFilter.php @@ -16,7 +16,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class RemoveEmptyFilter implements Migration +final readonly class RemoveEmptyFilter implements Migration { /** * @throws MigrationException diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveListeners.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveListeners.php index 3095c03b..57773b6e 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveListeners.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveListeners.php @@ -15,7 +15,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class RemoveListeners implements Migration +final readonly class RemoveListeners implements Migration { public function migrate(DOMDocument $document): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveLogTypes.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveLogTypes.php index 7419204e..90b10758 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveLogTypes.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveLogTypes.php @@ -16,7 +16,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class RemoveLogTypes implements Migration +final readonly class RemoveLogTypes implements Migration { public function migrate(DOMDocument $document): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveLoggingElements.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveLoggingElements.php index cf59ce71..a4aade4e 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveLoggingElements.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveLoggingElements.php @@ -16,7 +16,7 @@ use DOMXPath; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class RemoveLoggingElements implements Migration +final readonly class RemoveLoggingElements implements Migration { public function migrate(DOMDocument $document): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveNoInteractionAttribute.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveNoInteractionAttribute.php index 5efaefad..6813c40a 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveNoInteractionAttribute.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveNoInteractionAttribute.php @@ -16,7 +16,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class RemoveNoInteractionAttribute implements Migration +final readonly class RemoveNoInteractionAttribute implements Migration { public function migrate(DOMDocument $document): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemovePrinterAttributes.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemovePrinterAttributes.php index 5281cc3a..72b44b6f 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemovePrinterAttributes.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemovePrinterAttributes.php @@ -16,7 +16,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class RemovePrinterAttributes implements Migration +final readonly class RemovePrinterAttributes implements Migration { public function migrate(DOMDocument $document): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveTestDoxGroupsElement.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveTestDoxGroupsElement.php index 50906f15..f3b77c69 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveTestDoxGroupsElement.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveTestDoxGroupsElement.php @@ -15,7 +15,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class RemoveTestDoxGroupsElement implements Migration +final readonly class RemoveTestDoxGroupsElement implements Migration { public function migrate(DOMDocument $document): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveTestSuiteLoaderAttributes.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveTestSuiteLoaderAttributes.php index 4b15dc73..771db7f5 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveTestSuiteLoaderAttributes.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveTestSuiteLoaderAttributes.php @@ -16,7 +16,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class RemoveTestSuiteLoaderAttributes implements Migration +final readonly class RemoveTestSuiteLoaderAttributes implements Migration { public function migrate(DOMDocument $document): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveVerboseAttribute.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveVerboseAttribute.php index 6091cd5a..8dcbd67b 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveVerboseAttribute.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RemoveVerboseAttribute.php @@ -16,7 +16,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class RemoveVerboseAttribute implements Migration +final readonly class RemoveVerboseAttribute implements Migration { public function migrate(DOMDocument $document): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RenameBackupStaticAttributesAttribute.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RenameBackupStaticAttributesAttribute.php index 3fe871d9..f366367f 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RenameBackupStaticAttributesAttribute.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RenameBackupStaticAttributesAttribute.php @@ -16,7 +16,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class RenameBackupStaticAttributesAttribute implements Migration +final readonly class RenameBackupStaticAttributesAttribute implements Migration { public function migrate(DOMDocument $document): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RenameBeStrictAboutCoversAnnotationAttribute.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RenameBeStrictAboutCoversAnnotationAttribute.php index eba48730..1a1a60fd 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RenameBeStrictAboutCoversAnnotationAttribute.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RenameBeStrictAboutCoversAnnotationAttribute.php @@ -16,7 +16,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class RenameBeStrictAboutCoversAnnotationAttribute implements Migration +final readonly class RenameBeStrictAboutCoversAnnotationAttribute implements Migration { public function migrate(DOMDocument $document): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RenameForceCoversAnnotationAttribute.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RenameForceCoversAnnotationAttribute.php index b1b41f5d..88c90581 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RenameForceCoversAnnotationAttribute.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/RenameForceCoversAnnotationAttribute.php @@ -16,7 +16,7 @@ use DOMElement; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class RenameForceCoversAnnotationAttribute implements Migration +final readonly class RenameForceCoversAnnotationAttribute implements Migration { public function migrate(DOMDocument $document): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/UpdateSchemaLocation.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/UpdateSchemaLocation.php index d8f65d6a..d19c5532 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/UpdateSchemaLocation.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/UpdateSchemaLocation.php @@ -17,7 +17,7 @@ use PHPUnit\Runner\Version; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class UpdateSchemaLocation implements Migration +final readonly class UpdateSchemaLocation implements Migration { public function migrate(DOMDocument $document): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrator.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrator.php index 2755a4f5..7fc6dcdc 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrator.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrator.php @@ -9,14 +9,14 @@ */ namespace PHPUnit\TextUI\XmlConfiguration; -use function sprintf; +use PHPUnit\Runner\Version; use PHPUnit\Util\Xml\Loader as XmlLoader; use PHPUnit\Util\Xml\XmlException; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Migrator +final readonly class Migrator { /** * @throws Exception @@ -29,12 +29,11 @@ final class Migrator $origin = (new SchemaDetector)->detect($filename); if (!$origin->detected()) { - throw new Exception( - sprintf( - '"%s" is not a valid PHPUnit XML configuration file that can be migrated', - $filename, - ), - ); + throw new Exception('The file does not validate against any know schema'); + } + + if ($origin->version() === Version::series()) { + throw new Exception('The file does not need to be migrated'); } $configurationDocument = (new XmlLoader)->loadFile($filename); diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/PHPUnit.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/PHPUnit.php index febe11df..bc74ce05 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/PHPUnit.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/PHPUnit.php @@ -14,122 +14,118 @@ namespace PHPUnit\TextUI\XmlConfiguration; * * @psalm-immutable */ -final class PHPUnit +final readonly class PHPUnit { - private readonly ?string $cacheDirectory; - private readonly bool $cacheResult; - private readonly ?string $cacheResultFile; - private readonly int|string $columns; - private readonly string $colors; - private readonly bool $stderr; - private readonly bool $displayDetailsOnIncompleteTests; - private readonly bool $displayDetailsOnSkippedTests; - private readonly bool $displayDetailsOnTestsThatTriggerDeprecations; - private readonly bool $displayDetailsOnTestsThatTriggerErrors; - private readonly bool $displayDetailsOnTestsThatTriggerNotices; - private readonly bool $displayDetailsOnTestsThatTriggerWarnings; - private readonly bool $reverseDefectList; - private readonly bool $requireCoverageMetadata; - private readonly ?string $bootstrap; - private readonly bool $processIsolation; - private readonly bool $failOnDeprecation; - private readonly bool $failOnEmptyTestSuite; - private readonly bool $failOnIncomplete; - private readonly bool $failOnNotice; - private readonly bool $failOnRisky; - private readonly bool $failOnSkipped; - private readonly bool $failOnWarning; - private readonly bool $stopOnDefect; - private readonly bool $stopOnDeprecation; - private readonly bool $stopOnError; - private readonly bool $stopOnFailure; - private readonly bool $stopOnIncomplete; - private readonly bool $stopOnNotice; - private readonly bool $stopOnRisky; - private readonly bool $stopOnSkipped; - private readonly bool $stopOnWarning; + private ?string $cacheDirectory; + private bool $cacheResult; + private int|string $columns; + private string $colors; + private bool $stderr; + private bool $displayDetailsOnIncompleteTests; + private bool $displayDetailsOnSkippedTests; + private bool $displayDetailsOnTestsThatTriggerDeprecations; + private bool $displayDetailsOnTestsThatTriggerErrors; + private bool $displayDetailsOnTestsThatTriggerNotices; + private bool $displayDetailsOnTestsThatTriggerWarnings; + private bool $reverseDefectList; + private bool $requireCoverageMetadata; + private ?string $bootstrap; + private bool $processIsolation; + private bool $failOnDeprecation; + private bool $failOnEmptyTestSuite; + private bool $failOnIncomplete; + private bool $failOnNotice; + private bool $failOnRisky; + private bool $failOnSkipped; + private bool $failOnWarning; + private bool $stopOnDefect; + private bool $stopOnDeprecation; + private bool $stopOnError; + private bool $stopOnFailure; + private bool $stopOnIncomplete; + private bool $stopOnNotice; + private bool $stopOnRisky; + private bool $stopOnSkipped; + private bool $stopOnWarning; /** * @psalm-var ?non-empty-string */ - private readonly ?string $extensionsDirectory; - private readonly bool $beStrictAboutChangesToGlobalState; - private readonly bool $beStrictAboutOutputDuringTests; - private readonly bool $beStrictAboutTestsThatDoNotTestAnything; - private readonly bool $beStrictAboutCoverageMetadata; - private readonly bool $enforceTimeLimit; - private readonly int $defaultTimeLimit; - private readonly int $timeoutForSmallTests; - private readonly int $timeoutForMediumTests; - private readonly int $timeoutForLargeTests; - private readonly ?string $defaultTestSuite; - private readonly int $executionOrder; - private readonly bool $resolveDependencies; - private readonly bool $defectsFirst; - private readonly bool $backupGlobals; - private readonly bool $backupStaticProperties; - private readonly bool $registerMockObjectsFromTestArgumentsRecursively; - private readonly bool $testdoxPrinter; - private readonly bool $controlGarbageCollector; - private readonly int $numberOfTestsBeforeGarbageCollection; + private ?string $extensionsDirectory; + private bool $beStrictAboutChangesToGlobalState; + private bool $beStrictAboutOutputDuringTests; + private bool $beStrictAboutTestsThatDoNotTestAnything; + private bool $beStrictAboutCoverageMetadata; + private bool $enforceTimeLimit; + private int $defaultTimeLimit; + private int $timeoutForSmallTests; + private int $timeoutForMediumTests; + private int $timeoutForLargeTests; + private ?string $defaultTestSuite; + private int $executionOrder; + private bool $resolveDependencies; + private bool $defectsFirst; + private bool $backupGlobals; + private bool $backupStaticProperties; + private bool $testdoxPrinter; + private bool $controlGarbageCollector; + private int $numberOfTestsBeforeGarbageCollection; /** * @psalm-param ?non-empty-string $extensionsDirectory */ - public function __construct(?string $cacheDirectory, bool $cacheResult, ?string $cacheResultFile, int|string $columns, string $colors, bool $stderr, bool $displayDetailsOnIncompleteTests, bool $displayDetailsOnSkippedTests, bool $displayDetailsOnTestsThatTriggerDeprecations, bool $displayDetailsOnTestsThatTriggerErrors, bool $displayDetailsOnTestsThatTriggerNotices, bool $displayDetailsOnTestsThatTriggerWarnings, bool $reverseDefectList, bool $requireCoverageMetadata, ?string $bootstrap, bool $processIsolation, bool $failOnDeprecation, bool $failOnEmptyTestSuite, bool $failOnIncomplete, bool $failOnNotice, bool $failOnRisky, bool $failOnSkipped, bool $failOnWarning, bool $stopOnDefect, bool $stopOnDeprecation, bool $stopOnError, bool $stopOnFailure, bool $stopOnIncomplete, bool $stopOnNotice, bool $stopOnRisky, bool $stopOnSkipped, bool $stopOnWarning, ?string $extensionsDirectory, bool $beStrictAboutChangesToGlobalState, bool $beStrictAboutOutputDuringTests, bool $beStrictAboutTestsThatDoNotTestAnything, bool $beStrictAboutCoverageMetadata, bool $enforceTimeLimit, int $defaultTimeLimit, int $timeoutForSmallTests, int $timeoutForMediumTests, int $timeoutForLargeTests, ?string $defaultTestSuite, int $executionOrder, bool $resolveDependencies, bool $defectsFirst, bool $backupGlobals, bool $backupStaticProperties, bool $registerMockObjectsFromTestArgumentsRecursively, bool $testdoxPrinter, bool $controlGarbageCollector, int $numberOfTestsBeforeGarbageCollection) - { - $this->cacheDirectory = $cacheDirectory; - $this->cacheResult = $cacheResult; - $this->cacheResultFile = $cacheResultFile; - $this->columns = $columns; - $this->colors = $colors; - $this->stderr = $stderr; - $this->displayDetailsOnIncompleteTests = $displayDetailsOnIncompleteTests; - $this->displayDetailsOnSkippedTests = $displayDetailsOnSkippedTests; - $this->displayDetailsOnTestsThatTriggerDeprecations = $displayDetailsOnTestsThatTriggerDeprecations; - $this->displayDetailsOnTestsThatTriggerErrors = $displayDetailsOnTestsThatTriggerErrors; - $this->displayDetailsOnTestsThatTriggerNotices = $displayDetailsOnTestsThatTriggerNotices; - $this->displayDetailsOnTestsThatTriggerWarnings = $displayDetailsOnTestsThatTriggerWarnings; - $this->reverseDefectList = $reverseDefectList; - $this->requireCoverageMetadata = $requireCoverageMetadata; - $this->bootstrap = $bootstrap; - $this->processIsolation = $processIsolation; - $this->failOnDeprecation = $failOnDeprecation; - $this->failOnEmptyTestSuite = $failOnEmptyTestSuite; - $this->failOnIncomplete = $failOnIncomplete; - $this->failOnNotice = $failOnNotice; - $this->failOnRisky = $failOnRisky; - $this->failOnSkipped = $failOnSkipped; - $this->failOnWarning = $failOnWarning; - $this->stopOnDefect = $stopOnDefect; - $this->stopOnDeprecation = $stopOnDeprecation; - $this->stopOnError = $stopOnError; - $this->stopOnFailure = $stopOnFailure; - $this->stopOnIncomplete = $stopOnIncomplete; - $this->stopOnNotice = $stopOnNotice; - $this->stopOnRisky = $stopOnRisky; - $this->stopOnSkipped = $stopOnSkipped; - $this->stopOnWarning = $stopOnWarning; - $this->extensionsDirectory = $extensionsDirectory; - $this->beStrictAboutChangesToGlobalState = $beStrictAboutChangesToGlobalState; - $this->beStrictAboutOutputDuringTests = $beStrictAboutOutputDuringTests; - $this->beStrictAboutTestsThatDoNotTestAnything = $beStrictAboutTestsThatDoNotTestAnything; - $this->beStrictAboutCoverageMetadata = $beStrictAboutCoverageMetadata; - $this->enforceTimeLimit = $enforceTimeLimit; - $this->defaultTimeLimit = $defaultTimeLimit; - $this->timeoutForSmallTests = $timeoutForSmallTests; - $this->timeoutForMediumTests = $timeoutForMediumTests; - $this->timeoutForLargeTests = $timeoutForLargeTests; - $this->defaultTestSuite = $defaultTestSuite; - $this->executionOrder = $executionOrder; - $this->resolveDependencies = $resolveDependencies; - $this->defectsFirst = $defectsFirst; - $this->backupGlobals = $backupGlobals; - $this->backupStaticProperties = $backupStaticProperties; - $this->registerMockObjectsFromTestArgumentsRecursively = $registerMockObjectsFromTestArgumentsRecursively; - $this->testdoxPrinter = $testdoxPrinter; - $this->controlGarbageCollector = $controlGarbageCollector; - $this->numberOfTestsBeforeGarbageCollection = $numberOfTestsBeforeGarbageCollection; + public function __construct(?string $cacheDirectory, bool $cacheResult, int|string $columns, string $colors, bool $stderr, bool $displayDetailsOnIncompleteTests, bool $displayDetailsOnSkippedTests, bool $displayDetailsOnTestsThatTriggerDeprecations, bool $displayDetailsOnTestsThatTriggerErrors, bool $displayDetailsOnTestsThatTriggerNotices, bool $displayDetailsOnTestsThatTriggerWarnings, bool $reverseDefectList, bool $requireCoverageMetadata, ?string $bootstrap, bool $processIsolation, bool $failOnDeprecation, bool $failOnEmptyTestSuite, bool $failOnIncomplete, bool $failOnNotice, bool $failOnRisky, bool $failOnSkipped, bool $failOnWarning, bool $stopOnDefect, bool $stopOnDeprecation, bool $stopOnError, bool $stopOnFailure, bool $stopOnIncomplete, bool $stopOnNotice, bool $stopOnRisky, bool $stopOnSkipped, bool $stopOnWarning, ?string $extensionsDirectory, bool $beStrictAboutChangesToGlobalState, bool $beStrictAboutOutputDuringTests, bool $beStrictAboutTestsThatDoNotTestAnything, bool $beStrictAboutCoverageMetadata, bool $enforceTimeLimit, int $defaultTimeLimit, int $timeoutForSmallTests, int $timeoutForMediumTests, int $timeoutForLargeTests, ?string $defaultTestSuite, int $executionOrder, bool $resolveDependencies, bool $defectsFirst, bool $backupGlobals, bool $backupStaticProperties, bool $testdoxPrinter, bool $controlGarbageCollector, int $numberOfTestsBeforeGarbageCollection) + { + $this->cacheDirectory = $cacheDirectory; + $this->cacheResult = $cacheResult; + $this->columns = $columns; + $this->colors = $colors; + $this->stderr = $stderr; + $this->displayDetailsOnIncompleteTests = $displayDetailsOnIncompleteTests; + $this->displayDetailsOnSkippedTests = $displayDetailsOnSkippedTests; + $this->displayDetailsOnTestsThatTriggerDeprecations = $displayDetailsOnTestsThatTriggerDeprecations; + $this->displayDetailsOnTestsThatTriggerErrors = $displayDetailsOnTestsThatTriggerErrors; + $this->displayDetailsOnTestsThatTriggerNotices = $displayDetailsOnTestsThatTriggerNotices; + $this->displayDetailsOnTestsThatTriggerWarnings = $displayDetailsOnTestsThatTriggerWarnings; + $this->reverseDefectList = $reverseDefectList; + $this->requireCoverageMetadata = $requireCoverageMetadata; + $this->bootstrap = $bootstrap; + $this->processIsolation = $processIsolation; + $this->failOnDeprecation = $failOnDeprecation; + $this->failOnEmptyTestSuite = $failOnEmptyTestSuite; + $this->failOnIncomplete = $failOnIncomplete; + $this->failOnNotice = $failOnNotice; + $this->failOnRisky = $failOnRisky; + $this->failOnSkipped = $failOnSkipped; + $this->failOnWarning = $failOnWarning; + $this->stopOnDefect = $stopOnDefect; + $this->stopOnDeprecation = $stopOnDeprecation; + $this->stopOnError = $stopOnError; + $this->stopOnFailure = $stopOnFailure; + $this->stopOnIncomplete = $stopOnIncomplete; + $this->stopOnNotice = $stopOnNotice; + $this->stopOnRisky = $stopOnRisky; + $this->stopOnSkipped = $stopOnSkipped; + $this->stopOnWarning = $stopOnWarning; + $this->extensionsDirectory = $extensionsDirectory; + $this->beStrictAboutChangesToGlobalState = $beStrictAboutChangesToGlobalState; + $this->beStrictAboutOutputDuringTests = $beStrictAboutOutputDuringTests; + $this->beStrictAboutTestsThatDoNotTestAnything = $beStrictAboutTestsThatDoNotTestAnything; + $this->beStrictAboutCoverageMetadata = $beStrictAboutCoverageMetadata; + $this->enforceTimeLimit = $enforceTimeLimit; + $this->defaultTimeLimit = $defaultTimeLimit; + $this->timeoutForSmallTests = $timeoutForSmallTests; + $this->timeoutForMediumTests = $timeoutForMediumTests; + $this->timeoutForLargeTests = $timeoutForLargeTests; + $this->defaultTestSuite = $defaultTestSuite; + $this->executionOrder = $executionOrder; + $this->resolveDependencies = $resolveDependencies; + $this->defectsFirst = $defectsFirst; + $this->backupGlobals = $backupGlobals; + $this->backupStaticProperties = $backupStaticProperties; + $this->testdoxPrinter = $testdoxPrinter; + $this->controlGarbageCollector = $controlGarbageCollector; + $this->numberOfTestsBeforeGarbageCollection = $numberOfTestsBeforeGarbageCollection; } /** @@ -157,30 +153,6 @@ final class PHPUnit return $this->cacheResult; } - /** - * @psalm-assert-if-true !null $this->cacheResultFile - * - * @deprecated - */ - public function hasCacheResultFile(): bool - { - return $this->cacheResultFile !== null; - } - - /** - * @throws Exception - * - * @deprecated - */ - public function cacheResultFile(): string - { - if (!$this->hasCacheResultFile()) { - throw new Exception('Cache result file is not configured'); - } - - return $this->cacheResultFile; - } - public function columns(): int|string { return $this->columns; @@ -453,14 +425,6 @@ final class PHPUnit return $this->backupStaticProperties; } - /** - * @deprecated - */ - public function registerMockObjectsFromTestArgumentsRecursively(): bool - { - return $this->registerMockObjectsFromTestArgumentsRecursively; - } - public function testdoxPrinter(): bool { return $this->testdoxPrinter; diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/SchemaDetector/FailedSchemaDetectionResult.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/SchemaDetector/FailedSchemaDetectionResult.php index 82124a2c..6b859d03 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/SchemaDetector/FailedSchemaDetectionResult.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/SchemaDetector/FailedSchemaDetectionResult.php @@ -14,6 +14,6 @@ namespace PHPUnit\TextUI\XmlConfiguration; * * @psalm-immutable */ -final class FailedSchemaDetectionResult extends SchemaDetectionResult +final readonly class FailedSchemaDetectionResult extends SchemaDetectionResult { } diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/SchemaDetector/SchemaDetectionResult.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/SchemaDetector/SchemaDetectionResult.php index e92426a1..e88440b2 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/SchemaDetector/SchemaDetectionResult.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/SchemaDetector/SchemaDetectionResult.php @@ -16,8 +16,11 @@ use PHPUnit\Util\Xml\XmlException; * * @psalm-immutable */ -abstract class SchemaDetectionResult +abstract readonly class SchemaDetectionResult { + /** + * @psalm-assert-if-true SuccessfulSchemaDetectionResult $this + */ public function detected(): bool { return false; diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/SchemaDetector/SchemaDetector.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/SchemaDetector/SchemaDetector.php index 8d39f860..695fd977 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/SchemaDetector/SchemaDetector.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/SchemaDetector/SchemaDetector.php @@ -15,7 +15,7 @@ use PHPUnit\Util\Xml\XmlException; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class SchemaDetector +final readonly class SchemaDetector { /** * @throws XmlException @@ -24,7 +24,9 @@ final class SchemaDetector { $document = (new Loader)->loadFile($filename); - foreach (['10.0', '9.5', '9.2', '8.5'] as $candidate) { + $schemaFinder = new SchemaFinder; + + foreach ($schemaFinder->available() as $candidate) { $schema = (new SchemaFinder)->find($candidate); if (!(new Validator)->validate($document, $schema)->hasValidationErrors()) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/SchemaDetector/SuccessfulSchemaDetectionResult.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/SchemaDetector/SuccessfulSchemaDetectionResult.php index 07b0b03a..bc6bb2a9 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/SchemaDetector/SuccessfulSchemaDetectionResult.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/SchemaDetector/SuccessfulSchemaDetectionResult.php @@ -14,20 +14,32 @@ namespace PHPUnit\TextUI\XmlConfiguration; * * @psalm-immutable */ -final class SuccessfulSchemaDetectionResult extends SchemaDetectionResult +final readonly class SuccessfulSchemaDetectionResult extends SchemaDetectionResult { - private readonly string $version; + /** + * @psalm-var non-empty-string + */ + private string $version; + /** + * @psalm-param non-empty-string $version + */ public function __construct(string $version) { $this->version = $version; } + /** + * @psalm-assert-if-true SuccessfulSchemaDetectionResult $this + */ public function detected(): bool { return true; } + /** + * @psalm-return non-empty-string + */ public function version(): string { return $this->version; diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/SchemaFinder.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/SchemaFinder.php index 8e46a489..062f6789 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/SchemaFinder.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/SchemaFinder.php @@ -9,16 +9,43 @@ */ namespace PHPUnit\TextUI\XmlConfiguration; +use function assert; use function defined; use function is_file; +use function rsort; use function sprintf; +use DirectoryIterator; use PHPUnit\Runner\Version; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class SchemaFinder +final readonly class SchemaFinder { + /** + * @psalm-return non-empty-list + */ + public function available(): array + { + $result = [Version::series()]; + + foreach ((new DirectoryIterator($this->path() . 'schema')) as $file) { + if ($file->isDot()) { + continue; + } + + $version = $file->getBasename('.xsd'); + + assert(!empty($version)); + + $result[] = $version; + } + + rsort($result); + + return $result; + } + /** * @throws CannotFindSchemaException */ diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/TestSuiteMapper.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/TestSuiteMapper.php index 530ae10b..8cebed05 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/TestSuiteMapper.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/TestSuiteMapper.php @@ -10,14 +10,14 @@ namespace PHPUnit\TextUI\XmlConfiguration; use const PHP_VERSION; -use function array_merge; -use function array_unique; use function explode; use function in_array; use function is_dir; use function is_file; +use function sprintf; use function str_contains; use function version_compare; +use PHPUnit\Event\Facade as EventFacade; use PHPUnit\Framework\Exception as FrameworkException; use PHPUnit\Framework\TestSuite as TestSuiteObject; use PHPUnit\TextUI\Configuration\TestSuiteCollection; @@ -29,7 +29,7 @@ use SebastianBergmann\FileIterator\Facade; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestSuiteMapper +final readonly class TestSuiteMapper { /** * @psalm-param non-empty-string $xmlConfigurationFile, @@ -38,31 +38,34 @@ final class TestSuiteMapper * @throws TestDirectoryNotFoundException * @throws TestFileNotFoundException */ - public function map(string $xmlConfigurationFile, TestSuiteCollection $configuration, string $filter, string $excludedTestSuites): TestSuiteObject + public function map(string $xmlConfigurationFile, TestSuiteCollection $configuredTestSuites, string $namesOfIncludedTestSuites, string $namesOfExcludedTestSuites): TestSuiteObject { try { - $filterAsArray = $filter ? explode(',', $filter) : []; - $excludedFilterAsArray = $excludedTestSuites ? explode(',', $excludedTestSuites) : []; - $result = TestSuiteObject::empty($xmlConfigurationFile); + $namesOfIncludedTestSuitesAsArray = $namesOfIncludedTestSuites ? explode(',', $namesOfIncludedTestSuites) : []; + $excludedTestSuitesAsArray = $namesOfExcludedTestSuites ? explode(',', $namesOfExcludedTestSuites) : []; + $result = TestSuiteObject::empty($xmlConfigurationFile); + $processed = []; - foreach ($configuration as $testSuiteConfiguration) { - if (!empty($filterAsArray) && !in_array($testSuiteConfiguration->name(), $filterAsArray, true)) { + foreach ($configuredTestSuites as $configuredTestSuite) { + if (!empty($namesOfIncludedTestSuitesAsArray) && !in_array($configuredTestSuite->name(), $namesOfIncludedTestSuitesAsArray, true)) { continue; } - if (!empty($excludedFilterAsArray) && in_array($testSuiteConfiguration->name(), $excludedFilterAsArray, true)) { + if (!empty($excludedTestSuitesAsArray) && in_array($configuredTestSuite->name(), $excludedTestSuitesAsArray, true)) { continue; } - $exclude = []; + $testSuiteName = $configuredTestSuite->name(); + $exclude = []; - foreach ($testSuiteConfiguration->exclude()->asArray() as $file) { + foreach ($configuredTestSuite->exclude()->asArray() as $file) { $exclude[] = $file->path(); } - $files = []; + $testSuite = TestSuiteObject::empty($configuredTestSuite->name()); + $empty = true; - foreach ($testSuiteConfiguration->directories() as $directory) { + foreach ($configuredTestSuite->directories() as $directory) { if (!str_contains($directory->path(), '*') && !is_dir($directory->path())) { throw new TestDirectoryNotFoundException($directory->path()); } @@ -71,18 +74,37 @@ final class TestSuiteMapper continue; } - $files = array_merge( - $files, - (new Facade)->getFilesAsArray( - $directory->path(), - $directory->suffix(), - $directory->prefix(), - $exclude, - ), + $files = (new Facade)->getFilesAsArray( + $directory->path(), + $directory->suffix(), + $directory->prefix(), + $exclude, ); + + $groups = $directory->groups(); + + foreach ($files as $file) { + if (isset($processed[$file])) { + EventFacade::emitter()->testRunnerTriggeredWarning( + sprintf( + 'Cannot add file %s to test suite "%s" as it was already added to test suite "%s"', + $file, + $testSuiteName, + $processed[$file], + ), + ); + + continue; + } + + $processed[$file] = $testSuiteName; + $empty = false; + + $testSuite->addTestFile($file, $groups); + } } - foreach ($testSuiteConfiguration->files() as $file) { + foreach ($configuredTestSuite->files() as $file) { if (!is_file($file->path())) { throw new TestFileNotFoundException($file->path()); } @@ -91,14 +113,26 @@ final class TestSuiteMapper continue; } - $files[] = $file->path(); - } + if (isset($processed[$file->path()])) { + EventFacade::emitter()->testRunnerTriggeredWarning( + sprintf( + 'Cannot add file %s to test suite "%s" as it was already added to test suite "%s"', + $file->path(), + $testSuiteName, + $processed[$file->path()], + ), + ); - if (!empty($files)) { - $testSuite = TestSuiteObject::empty($testSuiteConfiguration->name()); + continue; + } - $testSuite->addTestFiles(array_unique($files)); + $processed[$file->path()] = $testSuiteName; + $empty = false; + + $testSuite->addTestFile($file->path(), $file->groups()); + } + if (!$empty) { $result->addTest($testSuite); } } diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Validator/ValidationResult.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Validator/ValidationResult.php index 66b9aaab..fa3c35b9 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Validator/ValidationResult.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Validator/ValidationResult.php @@ -18,12 +18,12 @@ use LibXMLError; * * @psalm-immutable */ -final class ValidationResult +final readonly class ValidationResult { /** * @psalm-var array> */ - private readonly array $validationErrors; + private array $validationErrors; /** * @psalm-param array $errors diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Validator/Validator.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Validator/Validator.php index b93f961a..0d387fc7 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Validator/Validator.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Validator/Validator.php @@ -18,7 +18,7 @@ use DOMDocument; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Validator +final readonly class Validator { public function validate(DOMDocument $document, string $xsdFilename): ValidationResult { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Help.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Help.php index 5ae9c104..c48bff82 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Help.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Help.php @@ -11,6 +11,7 @@ namespace PHPUnit\TextUI; use const PHP_EOL; use function count; +use function defined; use function explode; use function max; use function preg_replace_callback; @@ -26,141 +27,7 @@ use SebastianBergmann\Environment\Console; */ final class Help { - private const LEFT_MARGIN = ' '; - private const HELP_TEXT = [ - 'Usage' => [ - ['text' => 'phpunit [options] ...'], - ], - - 'Configuration' => [ - ['arg' => '--bootstrap ', 'desc' => 'A PHP script that is included before the tests run'], - ['arg' => '-c|--configuration ', 'desc' => 'Read configuration from XML file'], - ['arg' => '--no-configuration', 'desc' => 'Ignore default configuration file (phpunit.xml)'], - ['arg' => '--no-extensions', 'desc' => 'Do not load PHPUnit extensions'], - ['arg' => '--include-path ', 'desc' => 'Prepend PHP\'s include_path with given path(s)'], - ['arg' => '-d ', 'desc' => 'Sets a php.ini value'], - ['arg' => '--cache-directory ', 'desc' => 'Specify cache directory'], - ['arg' => '--generate-configuration', 'desc' => 'Generate configuration file with suggested settings'], - ['arg' => '--migrate-configuration', 'desc' => 'Migrate configuration file to current format'], - ['arg' => '--generate-baseline ', 'desc' => 'Generate baseline for issues'], - ['arg' => '--use-baseline ', 'desc' => 'Use baseline to ignore issues'], - ['arg' => '--ignore-baseline', 'desc' => 'Do not use baseline to ignore issues'], - ], - - 'Selection' => [ - ['arg' => '--list-suites', 'desc' => 'List available test suites'], - ['arg' => '--testsuite ', 'desc' => 'Only run tests from the specified test suite(s)'], - ['arg' => '--exclude-testsuite ', 'desc' => 'Exclude tests from the specified test suite(s)'], - ['arg' => '--list-groups', 'desc' => 'List available test groups'], - ['arg' => '--group ', 'desc' => 'Only run tests from the specified group(s)'], - ['arg' => '--exclude-group ', 'desc' => 'Exclude tests from the specified group(s)'], - ['arg' => '--covers ', 'desc' => 'Only run tests that intend to cover '], - ['arg' => '--uses ', 'desc' => 'Only run tests that intend to use '], - ['arg' => '--list-tests', 'desc' => 'List available tests'], - ['arg' => '--list-tests-xml ', 'desc' => 'List available tests in XML format'], - ['arg' => '--filter ', 'desc' => 'Filter which tests to run'], - ['arg' => '--test-suffix ', 'desc' => 'Only search for test in files with specified suffix(es). Default: Test.php,.phpt'], - ], - - 'Execution' => [ - ['arg' => '--process-isolation', 'desc' => 'Run each test in a separate PHP process'], - ['arg' => '--globals-backup', 'desc' => 'Backup and restore $GLOBALS for each test'], - ['arg' => '--static-backup', 'desc' => 'Backup and restore static properties for each test'], - ['spacer' => ''], - - ['arg' => '--strict-coverage', 'desc' => 'Be strict about code coverage metadata'], - ['arg' => '--strict-global-state', 'desc' => 'Be strict about changes to global state'], - ['arg' => '--disallow-test-output', 'desc' => 'Be strict about output during tests'], - ['arg' => '--enforce-time-limit', 'desc' => 'Enforce time limit based on test size'], - ['arg' => '--default-time-limit ', 'desc' => 'Timeout in seconds for tests that have no declared size'], - ['arg' => '--dont-report-useless-tests', 'desc' => 'Do not report tests that do not test anything'], - ['spacer' => ''], - - ['arg' => '--stop-on-defect', 'desc' => 'Stop after first error, failure, warning, or risky test'], - ['arg' => '--stop-on-error', 'desc' => 'Stop after first error'], - ['arg' => '--stop-on-failure', 'desc' => 'Stop after first failure'], - ['arg' => '--stop-on-warning', 'desc' => 'Stop after first warning'], - ['arg' => '--stop-on-risky', 'desc' => 'Stop after first risky test'], - ['arg' => '--stop-on-deprecation', 'desc' => 'Stop after first test that triggered a deprecation'], - ['arg' => '--stop-on-notice', 'desc' => 'Stop after first test that triggered a notice'], - ['arg' => '--stop-on-skipped', 'desc' => 'Stop after first skipped test'], - ['arg' => '--stop-on-incomplete', 'desc' => 'Stop after first incomplete test'], - ['spacer' => ''], - - ['arg' => '--fail-on-warning', 'desc' => 'Signal failure using shell exit code when a warning was triggered'], - ['arg' => '--fail-on-risky', 'desc' => 'Signal failure using shell exit code when a test was considered risky'], - ['arg' => '--fail-on-deprecation', 'desc' => 'Signal failure using shell exit code when a deprecation was triggered'], - ['arg' => '--fail-on-notice', 'desc' => 'Signal failure using shell exit code when a notice was triggered'], - ['arg' => '--fail-on-skipped', 'desc' => 'Signal failure using shell exit code when a test was skipped'], - ['arg' => '--fail-on-incomplete', 'desc' => 'Signal failure using shell exit code when a test was marked incomplete'], - ['spacer' => ''], - - ['arg' => '--cache-result', 'desc' => 'Write test results to cache file'], - ['arg' => '--do-not-cache-result', 'desc' => 'Do not write test results to cache file'], - ['spacer' => ''], - - ['arg' => '--order-by ', 'desc' => 'Run tests in order: default|defects|depends|duration|no-depends|random|reverse|size'], - ['arg' => '--random-order-seed ', 'desc' => 'Use the specified random seed when running tests in random order'], - ], - - 'Reporting' => [ - ['arg' => '--colors ', 'desc' => 'Use colors in output ("never", "auto" or "always")'], - ['arg' => '--columns ', 'desc' => 'Number of columns to use for progress output'], - ['arg' => '--columns max', 'desc' => 'Use maximum number of columns for progress output'], - ['arg' => '--stderr', 'desc' => 'Write to STDERR instead of STDOUT'], - ['spacer' => ''], - - ['arg' => '--no-progress', 'desc' => 'Disable output of test execution progress'], - ['arg' => '--no-results', 'desc' => 'Disable output of test results'], - ['arg' => '--no-output', 'desc' => 'Disable all output'], - ['spacer' => ''], - - ['arg' => '--display-incomplete', 'desc' => 'Display details for incomplete tests'], - ['arg' => '--display-skipped', 'desc' => 'Display details for skipped tests'], - ['arg' => '--display-deprecations', 'desc' => 'Display details for deprecations triggered by tests'], - ['arg' => '--display-errors', 'desc' => 'Display details for errors triggered by tests'], - ['arg' => '--display-notices', 'desc' => 'Display details for notices triggered by tests'], - ['arg' => '--display-warnings', 'desc' => 'Display details for warnings triggered by tests'], - ['arg' => '--reverse-list', 'desc' => 'Print defects in reverse order'], - ['spacer' => ''], - - ['arg' => '--teamcity', 'desc' => 'Replace default progress and result output with TeamCity format'], - ['arg' => '--testdox', 'desc' => 'Replace default result output with TestDox format'], - ], - - 'Logging' => [ - ['arg' => '--log-junit ', 'desc' => 'Write test results in JUnit XML format to file'], - ['arg' => '--log-teamcity ', 'desc' => 'Write test results in TeamCity format to file'], - ['arg' => '--testdox-html ', 'desc' => 'Write test results in TestDox format (HTML) to file'], - ['arg' => '--testdox-text ', 'desc' => 'Write test results in TestDox format (plain text) to file'], - ['arg' => '--log-events-text ', 'desc' => 'Stream events as plain text to file'], - ['arg' => '--log-events-verbose-text ', 'desc' => 'Stream events as plain text with extended information to file'], - ['arg' => '--no-logging', 'desc' => 'Ignore logging configured in the XML configuration file'], - ], - - 'Code Coverage' => [ - ['arg' => '--coverage-clover ', 'desc' => 'Write code coverage report in Clover XML format to file'], - ['arg' => '--coverage-cobertura ', 'desc' => 'Write code coverage report in Cobertura XML format to file'], - ['arg' => '--coverage-crap4j ', 'desc' => 'Write code coverage report in Crap4J XML format to file'], - ['arg' => '--coverage-html ', 'desc' => 'Write code coverage report in HTML format to directory'], - ['arg' => '--coverage-php ', 'desc' => 'Write serialized code coverage data to file'], - ['arg' => '--coverage-text=', 'desc' => 'Write code coverage report in text format to file [default: standard output]'], - ['arg' => '--coverage-xml ', 'desc' => 'Write code coverage report in XML format to directory'], - ['arg' => '--warm-coverage-cache', 'desc' => 'Warm static analysis cache'], - ['arg' => '--coverage-filter ', 'desc' => 'Include in code coverage reporting'], - ['arg' => '--path-coverage', 'desc' => 'Report path coverage in addition to line coverage'], - ['arg' => '--disable-coverage-ignore', 'desc' => 'Disable metadata for ignoring code coverage'], - ['arg' => '--no-coverage', 'desc' => 'Ignore code coverage reporting configured in the XML configuration file'], - ], - - 'Miscellaneous' => [ - ['arg' => '-h|--help', 'desc' => 'Prints this usage information'], - ['arg' => '--version', 'desc' => 'Prints the version and exits'], - ['arg' => '--atleast-version ', 'desc' => 'Checks that version is greater than and exits'], - ['arg' => '--check-version', 'desc' => 'Check whether PHPUnit is the latest version and exits'], - ], - - ]; + private const LEFT_MARGIN = ' '; private int $lengthOfLongestOptionName = 0; private readonly int $columnsAvailableForDescription; private ?bool $hasColor; @@ -177,7 +44,7 @@ final class Help $this->hasColor = $withColor; } - foreach (self::HELP_TEXT as $options) { + foreach ($this->elements() as $options) { foreach ($options as $option) { if (isset($option['arg'])) { $this->lengthOfLongestOptionName = max($this->lengthOfLongestOptionName, isset($option['arg']) ? strlen($option['arg']) : 0); @@ -201,7 +68,7 @@ final class Help { $buffer = ''; - foreach (self::HELP_TEXT as $section => $options) { + foreach ($this->elements() as $section => $options) { $buffer .= "{$section}:" . PHP_EOL; if ($section !== 'Usage') { @@ -234,7 +101,7 @@ final class Help { $buffer = ''; - foreach (self::HELP_TEXT as $section => $options) { + foreach ($this->elements() as $section => $options) { $buffer .= Color::colorize('fg-yellow', "{$section}:") . PHP_EOL; if ($section !== 'Usage') { @@ -273,4 +140,160 @@ final class Help return $buffer; } + + /** + * @psalm-return array> + */ + private function elements(): array + { + $elements = [ + 'Usage' => [ + ['text' => 'phpunit [options] ...'], + ], + + 'Configuration' => [ + ['arg' => '--bootstrap ', 'desc' => 'A PHP script that is included before the tests run'], + ['arg' => '-c|--configuration ', 'desc' => 'Read configuration from XML file'], + ['arg' => '--no-configuration', 'desc' => 'Ignore default configuration file (phpunit.xml)'], + ['arg' => '--no-extensions', 'desc' => 'Do not load PHPUnit extensions'], + ['arg' => '--include-path ', 'desc' => 'Prepend PHP\'s include_path with given path(s)'], + ['arg' => '-d ', 'desc' => 'Sets a php.ini value'], + ['arg' => '--cache-directory ', 'desc' => 'Specify cache directory'], + ['arg' => '--generate-configuration', 'desc' => 'Generate configuration file with suggested settings'], + ['arg' => '--migrate-configuration', 'desc' => 'Migrate configuration file to current format'], + ['arg' => '--generate-baseline ', 'desc' => 'Generate baseline for issues'], + ['arg' => '--use-baseline ', 'desc' => 'Use baseline to ignore issues'], + ['arg' => '--ignore-baseline', 'desc' => 'Do not use baseline to ignore issues'], + ], + + 'Selection' => [ + ['arg' => '--list-suites', 'desc' => 'List available test suites'], + ['arg' => '--testsuite ', 'desc' => 'Only run tests from the specified test suite(s)'], + ['arg' => '--exclude-testsuite ', 'desc' => 'Exclude tests from the specified test suite(s)'], + ['arg' => '--list-groups', 'desc' => 'List available test groups'], + ['arg' => '--group ', 'desc' => 'Only run tests from the specified group(s)'], + ['arg' => '--exclude-group ', 'desc' => 'Exclude tests from the specified group(s)'], + ['arg' => '--covers ', 'desc' => 'Only run tests that intend to cover '], + ['arg' => '--uses ', 'desc' => 'Only run tests that intend to use '], + ['arg' => '--list-test-files', 'desc' => 'List available test files'], + ['arg' => '--list-tests', 'desc' => 'List available tests'], + ['arg' => '--list-tests-xml ', 'desc' => 'List available tests in XML format'], + ['arg' => '--filter ', 'desc' => 'Filter which tests to run'], + ['arg' => '--exclude-filter ', 'desc' => 'Exclude tests for the specified filter pattern'], + ['arg' => '--test-suffix ', 'desc' => 'Only search for test in files with specified suffix(es). Default: Test.php,.phpt'], + ], + + 'Execution' => [ + ['arg' => '--process-isolation', 'desc' => 'Run each test in a separate PHP process'], + ['arg' => '--globals-backup', 'desc' => 'Backup and restore $GLOBALS for each test'], + ['arg' => '--static-backup', 'desc' => 'Backup and restore static properties for each test'], + ['spacer' => ''], + + ['arg' => '--strict-coverage', 'desc' => 'Be strict about code coverage metadata'], + ['arg' => '--strict-global-state', 'desc' => 'Be strict about changes to global state'], + ['arg' => '--disallow-test-output', 'desc' => 'Be strict about output during tests'], + ['arg' => '--enforce-time-limit', 'desc' => 'Enforce time limit based on test size'], + ['arg' => '--default-time-limit ', 'desc' => 'Timeout in seconds for tests that have no declared size'], + ['arg' => '--dont-report-useless-tests', 'desc' => 'Do not report tests that do not test anything'], + ['spacer' => ''], + + ['arg' => '--stop-on-defect', 'desc' => 'Stop after first error, failure, warning, or risky test'], + ['arg' => '--stop-on-error', 'desc' => 'Stop after first error'], + ['arg' => '--stop-on-failure', 'desc' => 'Stop after first failure'], + ['arg' => '--stop-on-warning', 'desc' => 'Stop after first warning'], + ['arg' => '--stop-on-risky', 'desc' => 'Stop after first risky test'], + ['arg' => '--stop-on-deprecation', 'desc' => 'Stop after first test that triggered a deprecation'], + ['arg' => '--stop-on-notice', 'desc' => 'Stop after first test that triggered a notice'], + ['arg' => '--stop-on-skipped', 'desc' => 'Stop after first skipped test'], + ['arg' => '--stop-on-incomplete', 'desc' => 'Stop after first incomplete test'], + ['spacer' => ''], + + ['arg' => '--fail-on-empty-test-suite', 'desc' => 'Signal failure using shell exit code when no tests were run'], + ['arg' => '--fail-on-warning', 'desc' => 'Signal failure using shell exit code when a warning was triggered'], + ['arg' => '--fail-on-risky', 'desc' => 'Signal failure using shell exit code when a test was considered risky'], + ['arg' => '--fail-on-deprecation', 'desc' => 'Signal failure using shell exit code when a deprecation was triggered'], + ['arg' => '--fail-on-notice', 'desc' => 'Signal failure using shell exit code when a notice was triggered'], + ['arg' => '--fail-on-skipped', 'desc' => 'Signal failure using shell exit code when a test was skipped'], + ['arg' => '--fail-on-incomplete', 'desc' => 'Signal failure using shell exit code when a test was marked incomplete'], + ['spacer' => ''], + + ['arg' => '--cache-result', 'desc' => 'Write test results to cache file'], + ['arg' => '--do-not-cache-result', 'desc' => 'Do not write test results to cache file'], + ['spacer' => ''], + + ['arg' => '--order-by ', 'desc' => 'Run tests in order: default|defects|depends|duration|no-depends|random|reverse|size'], + ['arg' => '--random-order-seed ', 'desc' => 'Use the specified random seed when running tests in random order'], + ], + + 'Reporting' => [ + ['arg' => '--colors ', 'desc' => 'Use colors in output ("never", "auto" or "always")'], + ['arg' => '--columns ', 'desc' => 'Number of columns to use for progress output'], + ['arg' => '--columns max', 'desc' => 'Use maximum number of columns for progress output'], + ['arg' => '--stderr', 'desc' => 'Write to STDERR instead of STDOUT'], + ['spacer' => ''], + + ['arg' => '--no-progress', 'desc' => 'Disable output of test execution progress'], + ['arg' => '--no-results', 'desc' => 'Disable output of test results'], + ['arg' => '--no-output', 'desc' => 'Disable all output'], + ['spacer' => ''], + + ['arg' => '--display-incomplete', 'desc' => 'Display details for incomplete tests'], + ['arg' => '--display-skipped', 'desc' => 'Display details for skipped tests'], + ['arg' => '--display-deprecations', 'desc' => 'Display details for deprecations triggered by tests'], + ['arg' => '--display-errors', 'desc' => 'Display details for errors triggered by tests'], + ['arg' => '--display-notices', 'desc' => 'Display details for notices triggered by tests'], + ['arg' => '--display-warnings', 'desc' => 'Display details for warnings triggered by tests'], + ['arg' => '--reverse-list', 'desc' => 'Print defects in reverse order'], + ['spacer' => ''], + + ['arg' => '--teamcity', 'desc' => 'Replace default progress and result output with TeamCity format'], + ['arg' => '--testdox', 'desc' => 'Replace default result output with TestDox format'], + ['spacer' => ''], + + ['arg' => '--debug', 'desc' => 'Replace default progress and result output with debugging information'], + ], + + 'Logging' => [ + ['arg' => '--log-junit ', 'desc' => 'Write test results in JUnit XML format to file'], + ['arg' => '--log-teamcity ', 'desc' => 'Write test results in TeamCity format to file'], + ['arg' => '--testdox-html ', 'desc' => 'Write test results in TestDox format (HTML) to file'], + ['arg' => '--testdox-text ', 'desc' => 'Write test results in TestDox format (plain text) to file'], + ['arg' => '--log-events-text ', 'desc' => 'Stream events as plain text to file'], + ['arg' => '--log-events-verbose-text ', 'desc' => 'Stream events as plain text with extended information to file'], + ['arg' => '--no-logging', 'desc' => 'Ignore logging configured in the XML configuration file'], + ], + + 'Code Coverage' => [ + ['arg' => '--coverage-clover ', 'desc' => 'Write code coverage report in Clover XML format to file'], + ['arg' => '--coverage-cobertura ', 'desc' => 'Write code coverage report in Cobertura XML format to file'], + ['arg' => '--coverage-crap4j ', 'desc' => 'Write code coverage report in Crap4J XML format to file'], + ['arg' => '--coverage-html ', 'desc' => 'Write code coverage report in HTML format to directory'], + ['arg' => '--coverage-php ', 'desc' => 'Write serialized code coverage data to file'], + ['arg' => '--coverage-text=', 'desc' => 'Write code coverage report in text format to file [default: standard output]'], + ['arg' => '--coverage-xml ', 'desc' => 'Write code coverage report in XML format to directory'], + ['arg' => '--warm-coverage-cache', 'desc' => 'Warm static analysis cache'], + ['arg' => '--coverage-filter ', 'desc' => 'Include in code coverage reporting'], + ['arg' => '--path-coverage', 'desc' => 'Report path coverage in addition to line coverage'], + ['arg' => '--disable-coverage-ignore', 'desc' => 'Disable metadata for ignoring code coverage'], + ['arg' => '--no-coverage', 'desc' => 'Ignore code coverage reporting configured in the XML configuration file'], + ], + ]; + + if (defined('__PHPUNIT_PHAR__')) { + $elements['PHAR'] = [ + ['arg' => '--manifest', 'desc' => 'Print Software Bill of Materials (SBOM) in plain-text format'], + ['arg' => '--sbom', 'desc' => 'Print Software Bill of Materials (SBOM) in CycloneDX XML format'], + ['arg' => '--composer-lock', 'desc' => 'Print composer.lock file used to build the PHAR'], + ]; + } + + $elements['Miscellaneous'] = [ + ['arg' => '-h|--help', 'desc' => 'Prints this usage information'], + ['arg' => '--version', 'desc' => 'Prints the version and exits'], + ['arg' => '--atleast-version ', 'desc' => 'Checks that version is greater than and exits'], + ['arg' => '--check-version', 'desc' => 'Checks whether PHPUnit is the latest version and exits'], + ]; + + return $elements; + } } diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/BeforeTestClassMethodErroredSubscriber.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/BeforeTestClassMethodErroredSubscriber.php index 742aa95c..01185636 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/BeforeTestClassMethodErroredSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/BeforeTestClassMethodErroredSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\BeforeFirstTestMethodErroredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class BeforeTestClassMethodErroredSubscriber extends Subscriber implements BeforeFirstTestMethodErroredSubscriber +final readonly class BeforeTestClassMethodErroredSubscriber extends Subscriber implements BeforeFirstTestMethodErroredSubscriber { public function notify(BeforeFirstTestMethodErrored $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/Subscriber.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/Subscriber.php index 46aa73d2..b7d9bc89 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/Subscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/Subscriber.php @@ -12,9 +12,9 @@ namespace PHPUnit\TextUI\Output\Default\ProgressPrinter; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -abstract class Subscriber +abstract readonly class Subscriber { - private readonly ProgressPrinter $printer; + private ProgressPrinter $printer; public function __construct(ProgressPrinter $printer) { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestConsideredRiskySubscriber.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestConsideredRiskySubscriber.php index a18303bc..4439a4ed 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestConsideredRiskySubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestConsideredRiskySubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\ConsideredRiskySubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestConsideredRiskySubscriber extends Subscriber implements ConsideredRiskySubscriber +final readonly class TestConsideredRiskySubscriber extends Subscriber implements ConsideredRiskySubscriber { public function notify(ConsideredRisky $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestErroredSubscriber.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestErroredSubscriber.php index d9fbacd7..4f53c100 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestErroredSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestErroredSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\ErroredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestErroredSubscriber extends Subscriber implements ErroredSubscriber +final readonly class TestErroredSubscriber extends Subscriber implements ErroredSubscriber { public function notify(Errored $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestFailedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestFailedSubscriber.php index 48ed642c..dd7ea5d0 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestFailedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestFailedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\FailedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestFailedSubscriber extends Subscriber implements FailedSubscriber +final readonly class TestFailedSubscriber extends Subscriber implements FailedSubscriber { public function notify(Failed $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestFinishedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestFinishedSubscriber.php index 6322c128..150c21e8 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestFinishedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestFinishedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\FinishedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestFinishedSubscriber extends Subscriber implements FinishedSubscriber +final readonly class TestFinishedSubscriber extends Subscriber implements FinishedSubscriber { public function notify(Finished $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestMarkedIncompleteSubscriber.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestMarkedIncompleteSubscriber.php index aa3bdb92..4aeb37e3 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestMarkedIncompleteSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestMarkedIncompleteSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\MarkedIncompleteSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestMarkedIncompleteSubscriber extends Subscriber implements MarkedIncompleteSubscriber +final readonly class TestMarkedIncompleteSubscriber extends Subscriber implements MarkedIncompleteSubscriber { public function notify(MarkedIncomplete $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestPreparedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestPreparedSubscriber.php index 0924178e..ce400425 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestPreparedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestPreparedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\PreparedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestPreparedSubscriber extends Subscriber implements PreparedSubscriber +final readonly class TestPreparedSubscriber extends Subscriber implements PreparedSubscriber { public function notify(Prepared $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestRunnerExecutionStartedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestRunnerExecutionStartedSubscriber.php index 6735462c..4555cdfb 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestRunnerExecutionStartedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestRunnerExecutionStartedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\TestRunner\ExecutionStartedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestRunnerExecutionStartedSubscriber extends Subscriber implements ExecutionStartedSubscriber +final readonly class TestRunnerExecutionStartedSubscriber extends Subscriber implements ExecutionStartedSubscriber { public function notify(ExecutionStarted $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestSkippedSubscriber.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestSkippedSubscriber.php index c7b29fe2..2288d971 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestSkippedSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestSkippedSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\SkippedSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestSkippedSubscriber extends Subscriber implements SkippedSubscriber +final readonly class TestSkippedSubscriber extends Subscriber implements SkippedSubscriber { public function notify(Skipped $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredDeprecationSubscriber.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredDeprecationSubscriber.php index f734cf55..a1cdbd5b 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredDeprecationSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredDeprecationSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\DeprecationTriggeredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestTriggeredDeprecationSubscriber extends Subscriber implements DeprecationTriggeredSubscriber +final readonly class TestTriggeredDeprecationSubscriber extends Subscriber implements DeprecationTriggeredSubscriber { public function notify(DeprecationTriggered $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredErrorSubscriber.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredErrorSubscriber.php index 9c4cb0b0..6a32f778 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredErrorSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredErrorSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\ErrorTriggeredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestTriggeredErrorSubscriber extends Subscriber implements ErrorTriggeredSubscriber +final readonly class TestTriggeredErrorSubscriber extends Subscriber implements ErrorTriggeredSubscriber { public function notify(ErrorTriggered $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredNoticeSubscriber.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredNoticeSubscriber.php index 410fa531..e76f3b9b 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredNoticeSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredNoticeSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\NoticeTriggeredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestTriggeredNoticeSubscriber extends Subscriber implements NoticeTriggeredSubscriber +final readonly class TestTriggeredNoticeSubscriber extends Subscriber implements NoticeTriggeredSubscriber { public function notify(NoticeTriggered $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredPhpDeprecationSubscriber.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredPhpDeprecationSubscriber.php index 97de0032..03657fc3 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredPhpDeprecationSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredPhpDeprecationSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\PhpDeprecationTriggeredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestTriggeredPhpDeprecationSubscriber extends Subscriber implements PhpDeprecationTriggeredSubscriber +final readonly class TestTriggeredPhpDeprecationSubscriber extends Subscriber implements PhpDeprecationTriggeredSubscriber { public function notify(PhpDeprecationTriggered $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredPhpNoticeSubscriber.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredPhpNoticeSubscriber.php index 861e2b8c..8c496b3b 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredPhpNoticeSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredPhpNoticeSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\PhpNoticeTriggeredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestTriggeredPhpNoticeSubscriber extends Subscriber implements PhpNoticeTriggeredSubscriber +final readonly class TestTriggeredPhpNoticeSubscriber extends Subscriber implements PhpNoticeTriggeredSubscriber { public function notify(PhpNoticeTriggered $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredPhpWarningSubscriber.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredPhpWarningSubscriber.php index 87bec210..5472866c 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredPhpWarningSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredPhpWarningSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\PhpWarningTriggeredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestTriggeredPhpWarningSubscriber extends Subscriber implements PhpWarningTriggeredSubscriber +final readonly class TestTriggeredPhpWarningSubscriber extends Subscriber implements PhpWarningTriggeredSubscriber { public function notify(PhpWarningTriggered $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredPhpunitDeprecationSubscriber.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredPhpunitDeprecationSubscriber.php index 8bceec7a..889672fb 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredPhpunitDeprecationSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredPhpunitDeprecationSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\PhpunitDeprecationTriggeredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestTriggeredPhpunitDeprecationSubscriber extends Subscriber implements PhpunitDeprecationTriggeredSubscriber +final readonly class TestTriggeredPhpunitDeprecationSubscriber extends Subscriber implements PhpunitDeprecationTriggeredSubscriber { public function notify(PhpunitDeprecationTriggered $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredPhpunitWarningSubscriber.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredPhpunitWarningSubscriber.php index 69a94585..b0175e1c 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredPhpunitWarningSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredPhpunitWarningSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\PhpunitWarningTriggeredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestTriggeredPhpunitWarningSubscriber extends Subscriber implements PhpunitWarningTriggeredSubscriber +final readonly class TestTriggeredPhpunitWarningSubscriber extends Subscriber implements PhpunitWarningTriggeredSubscriber { public function notify(PhpunitWarningTriggered $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredWarningSubscriber.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredWarningSubscriber.php index c80a3f5a..6a388d81 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredWarningSubscriber.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/ProgressPrinter/Subscriber/TestTriggeredWarningSubscriber.php @@ -15,7 +15,7 @@ use PHPUnit\Event\Test\WarningTriggeredSubscriber; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestTriggeredWarningSubscriber extends Subscriber implements WarningTriggeredSubscriber +final readonly class TestTriggeredWarningSubscriber extends Subscriber implements WarningTriggeredSubscriber { public function notify(WarningTriggered $event): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/UnexpectedOutputPrinter.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/UnexpectedOutputPrinter.php index 08c72d9b..af669906 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/UnexpectedOutputPrinter.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Default/UnexpectedOutputPrinter.php @@ -16,9 +16,9 @@ use PHPUnit\Event\Test\PrintedUnexpectedOutputSubscriber; use PHPUnit\Event\UnknownSubscriberTypeException; use PHPUnit\TextUI\Output\Printer; -final class UnexpectedOutputPrinter implements PrintedUnexpectedOutputSubscriber +final readonly class UnexpectedOutputPrinter implements PrintedUnexpectedOutputSubscriber { - private readonly Printer $printer; + private Printer $printer; /** * @throws EventFacadeIsSealedException diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Facade.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Facade.php index 23f15236..474b4770 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Facade.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Facade.php @@ -47,6 +47,10 @@ final class Facade assert(self::$printer !== null); + if ($configuration->debug()) { + return self::$printer; + } + self::createUnexpectedOutputPrinter(); if (!$extensionReplacesProgressOutput) { @@ -117,6 +121,10 @@ final class Facade { $printerNeeded = false; + if ($configuration->debug()) { + $printerNeeded = true; + } + if ($configuration->outputIsTeamCity()) { $printerNeeded = true; } @@ -196,14 +204,14 @@ final class Facade true, false, false, + true, false, false, - false, - false, - false, - false, - false, - false, + $configuration->displayDetailsOnTestsThatTriggerDeprecations(), + $configuration->displayDetailsOnTestsThatTriggerErrors(), + $configuration->displayDetailsOnTestsThatTriggerNotices(), + $configuration->displayDetailsOnTestsThatTriggerWarnings(), + $configuration->reverseDefectList(), ); } @@ -211,6 +219,7 @@ final class Facade self::$testDoxResultPrinter = new TestDoxResultPrinter( self::$printer, $configuration->colors(), + $configuration->columns(), ); } diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Printer/DefaultPrinter.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Printer/DefaultPrinter.php index 4f6809c4..656ed7e2 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Printer/DefaultPrinter.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Printer/DefaultPrinter.php @@ -69,6 +69,12 @@ final class DefaultPrinter implements Printer */ private function __construct(string $out) { + $this->isPhpStream = str_starts_with($out, 'php://'); + + if (!$this->isPhpStream && !Filesystem::createDirectory(dirname($out))) { + throw new DirectoryDoesNotExistException(dirname($out)); + } + if (str_starts_with($out, 'socket://')) { $tmp = explode(':', str_replace('socket://', '', $out)); @@ -87,12 +93,6 @@ final class DefaultPrinter implements Printer return; } - $this->isPhpStream = str_starts_with($out, 'php://'); - - if (!$this->isPhpStream && !Filesystem::createDirectory(dirname($out))) { - throw new DirectoryDoesNotExistException(dirname($out)); - } - $this->stream = fopen($out, 'wb'); $this->isOpen = true; } diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Printer/NullPrinter.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Printer/NullPrinter.php index e4a50101..dc68f5cf 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Printer/NullPrinter.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/Printer/NullPrinter.php @@ -12,7 +12,7 @@ namespace PHPUnit\TextUI\Output; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class NullPrinter implements Printer +final readonly class NullPrinter implements Printer { public function print(string $buffer): void { diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/TestDox/ResultPrinter.php b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/TestDox/ResultPrinter.php index 320ce69f..b9bcb48d 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/Output/TestDox/ResultPrinter.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/Output/TestDox/ResultPrinter.php @@ -29,15 +29,17 @@ use PHPUnit\Util\Color; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class ResultPrinter +final readonly class ResultPrinter { - private readonly Printer $printer; - private readonly bool $colors; + private Printer $printer; + private bool $colors; + private int $columns; - public function __construct(Printer $printer, bool $colors) + public function __construct(Printer $printer, bool $colors, int $columns) { $this->printer = $printer; $this->colors = $colors; + $this->columns = $columns; } /** @@ -226,7 +228,8 @@ final class ResultPrinter $diff = implode(PHP_EOL, $diff); if (!empty($message)) { - $message = Color::colorizeTextBox($style, $message); + // Testdox output has a left-margin of 5; keep right-margin to prevent terminal scrolling + $message = Color::colorizeTextBox($style, $message, $this->columns - 7); } return [ @@ -310,7 +313,7 @@ final class ResultPrinter return 'fg-cyan'; } - if ($status->isRisky() || $status->isIncomplete() || $status->isWarning()) { + if ($status->isIncomplete() || $status->isDeprecation() || $status->isNotice() || $status->isRisky() || $status->isWarning()) { return 'fg-yellow'; } @@ -335,7 +338,7 @@ final class ResultPrinter return 'fg-cyan'; } - if ($status->isRisky() || $status->isIncomplete() || $status->isWarning()) { + if ($status->isIncomplete() || $status->isDeprecation() || $status->isNotice() || $status->isRisky() || $status->isWarning()) { return 'fg-yellow'; } @@ -356,18 +359,14 @@ final class ResultPrinter return '↩'; } - if ($status->isRisky()) { - return '☢'; + if ($status->isDeprecation() || $status->isNotice() || $status->isRisky() || $status->isWarning()) { + return 'âš '; } if ($status->isIncomplete()) { return '∅'; } - if ($status->isWarning()) { - return 'âš '; - } - return '?'; } } diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/ShellExitCodeCalculator.php b/Sources/vendor/phpunit/phpunit/src/TextUI/ShellExitCodeCalculator.php index 38fe77e7..02e5b096 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/ShellExitCodeCalculator.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/ShellExitCodeCalculator.php @@ -14,7 +14,7 @@ use PHPUnit\TestRunner\TestResult\TestResult; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class ShellExitCodeCalculator +final readonly class ShellExitCodeCalculator { private const SUCCESS_EXIT = 0; private const FAILURE_EXIT = 1; diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/TestRunner.php b/Sources/vendor/phpunit/phpunit/src/TextUI/TestRunner.php index 97460e2c..724e4041 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/TestRunner.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/TestRunner.php @@ -12,7 +12,6 @@ namespace PHPUnit\TextUI; use function mt_srand; use PHPUnit\Event; use PHPUnit\Framework\TestSuite; -use PHPUnit\Runner\Filter\Factory; use PHPUnit\Runner\ResultCache\ResultCache; use PHPUnit\Runner\TestSuiteSorter; use PHPUnit\TextUI\Configuration\Configuration; @@ -54,7 +53,7 @@ final class TestRunner ); } - (new TestSuiteFilterProcessor(new Factory))->process($configuration, $suite); + (new TestSuiteFilterProcessor)->process($configuration, $suite); Event\Facade::emitter()->testRunnerExecutionStarted( Event\TestSuite\TestSuiteBuilder::from($suite), diff --git a/Sources/vendor/phpunit/phpunit/src/TextUI/TestSuiteFilterProcessor.php b/Sources/vendor/phpunit/phpunit/src/TextUI/TestSuiteFilterProcessor.php index 18d8a9fd..0a3eecf9 100644 --- a/Sources/vendor/phpunit/phpunit/src/TextUI/TestSuiteFilterProcessor.php +++ b/Sources/vendor/phpunit/phpunit/src/TextUI/TestSuiteFilterProcessor.php @@ -19,43 +19,39 @@ use PHPUnit\TextUI\Configuration\FilterNotConfiguredException; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class TestSuiteFilterProcessor +final readonly class TestSuiteFilterProcessor { - private Factory $filterFactory; - - public function __construct(Factory $factory = new Factory) - { - $this->filterFactory = $factory; - } - /** * @throws Event\RuntimeException * @throws FilterNotConfiguredException */ public function process(Configuration $configuration, TestSuite $suite): void { + $factory = new Factory; + if (!$configuration->hasFilter() && !$configuration->hasGroups() && !$configuration->hasExcludeGroups() && + !$configuration->hasExcludeFilter() && !$configuration->hasTestsCovering() && !$configuration->hasTestsUsing()) { return; } if ($configuration->hasExcludeGroups()) { - $this->filterFactory->addExcludeGroupFilter( + $factory->addExcludeGroupFilter( $configuration->excludeGroups(), ); } if ($configuration->hasGroups()) { - $this->filterFactory->addIncludeGroupFilter( + $factory->addIncludeGroupFilter( $configuration->groups(), ); } if ($configuration->hasTestsCovering()) { - $this->filterFactory->addIncludeGroupFilter( + $factory->addIncludeGroupFilter( array_map( static fn (string $name): string => '__phpunit_covers_' . $name, $configuration->testsCovering(), @@ -64,7 +60,7 @@ final class TestSuiteFilterProcessor } if ($configuration->hasTestsUsing()) { - $this->filterFactory->addIncludeGroupFilter( + $factory->addIncludeGroupFilter( array_map( static fn (string $name): string => '__phpunit_uses_' . $name, $configuration->testsUsing(), @@ -72,13 +68,19 @@ final class TestSuiteFilterProcessor ); } + if ($configuration->hasExcludeFilter()) { + $factory->addExcludeNameFilter( + $configuration->excludeFilter(), + ); + } + if ($configuration->hasFilter()) { - $this->filterFactory->addNameFilter( + $factory->addIncludeNameFilter( $configuration->filter(), ); } - $suite->injectFilter($this->filterFactory); + $suite->injectFilter($factory); Event\Facade::emitter()->testSuiteFiltered( Event\TestSuite\TestSuiteBuilder::from($suite), diff --git a/Sources/vendor/phpunit/phpunit/src/Util/Cloner.php b/Sources/vendor/phpunit/phpunit/src/Util/Cloner.php index 0102b51b..5af79d77 100644 --- a/Sources/vendor/phpunit/phpunit/src/Util/Cloner.php +++ b/Sources/vendor/phpunit/phpunit/src/Util/Cloner.php @@ -14,7 +14,7 @@ use Throwable; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Cloner +final readonly class Cloner { /** * @psalm-template OriginalType diff --git a/Sources/vendor/phpunit/phpunit/src/Util/Color.php b/Sources/vendor/phpunit/phpunit/src/Util/Color.php index 0f6bee49..016359dc 100644 --- a/Sources/vendor/phpunit/phpunit/src/Util/Color.php +++ b/Sources/vendor/phpunit/phpunit/src/Util/Color.php @@ -12,6 +12,7 @@ namespace PHPUnit\Util; use const DIRECTORY_SEPARATOR; use const PHP_EOL; use function array_map; +use function array_walk; use function count; use function explode; use function implode; @@ -99,18 +100,21 @@ final class Color return self::optimizeColor(sprintf("\x1b[%sm", implode(';', $styles)) . $buffer . "\x1b[0m"); } - public static function colorizeTextBox(string $color, string $buffer): string + public static function colorizeTextBox(string $color, string $buffer, ?int $columns = null): string { - $lines = preg_split('/\r\n|\r|\n/', $buffer); - $padding = max(array_map('\strlen', $lines)); + $lines = preg_split('/\r\n|\r|\n/', $buffer); + $maxBoxWidth = max(array_map('\strlen', $lines)); - $styledLines = []; - - foreach ($lines as $line) { - $styledLines[] = self::colorize($color, str_pad($line, $padding)); + if ($columns !== null) { + $maxBoxWidth = min($maxBoxWidth, $columns); } - return implode(PHP_EOL, $styledLines); + array_walk($lines, static function (string &$line) use ($color, $maxBoxWidth): void + { + $line = self::colorize($color, str_pad($line, $maxBoxWidth)); + }); + + return implode(PHP_EOL, $lines); } public static function colorizePath(string $path, ?string $previousPath = null, bool $colorizeFilename = false): string diff --git a/Sources/vendor/phpunit/phpunit/src/Util/ExcludeList.php b/Sources/vendor/phpunit/phpunit/src/Util/ExcludeList.php index f3752278..f0f7f23a 100644 --- a/Sources/vendor/phpunit/phpunit/src/Util/ExcludeList.php +++ b/Sources/vendor/phpunit/phpunit/src/Util/ExcludeList.php @@ -37,6 +37,7 @@ use SebastianBergmann\GlobalState\Snapshot; use SebastianBergmann\Invoker\Invoker; use SebastianBergmann\LinesOfCode\Counter; use SebastianBergmann\ObjectEnumerator\Enumerator; +use SebastianBergmann\ObjectReflector\ObjectReflector; use SebastianBergmann\RecursionContext\Context; use SebastianBergmann\Template\Template; use SebastianBergmann\Timer\Timer; @@ -119,6 +120,9 @@ final class ExcludeList // sebastian/object-enumerator Enumerator::class => 1, + // sebastian/object-reflector + ObjectReflector::class => 1, + // sebastian/recursion-context Context::class => 1, @@ -209,11 +213,16 @@ final class ExcludeList self::$directories[] = $directory; } - // Hide process isolation workaround on Windows. + /** + * Hide process isolation workaround on Windows: + * tempnam() prefix is limited to first 3 characters. + * + * @see https://php.net/manual/en/function.tempnam.php + */ if (PHP_OS_FAMILY === 'Windows') { - // tempnam() prefix is limited to first 3 chars. - // @see https://php.net/manual/en/function.tempnam.php + // @codeCoverageIgnoreStart self::$directories[] = sys_get_temp_dir() . '\\PHP'; + // @codeCoverageIgnoreEnd } self::$initialized = true; diff --git a/Sources/vendor/phpunit/phpunit/src/Util/Exporter.php b/Sources/vendor/phpunit/phpunit/src/Util/Exporter.php deleted file mode 100644 index 8906626d..00000000 --- a/Sources/vendor/phpunit/phpunit/src/Util/Exporter.php +++ /dev/null @@ -1,61 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -use function is_array; -use function is_scalar; -use SebastianBergmann\RecursionContext\Context; - -/** - * @internal This class is not covered by the backward compatibility promise for PHPUnit - * - * @deprecated - */ -final class Exporter -{ - public static function export(mixed $value, bool $exportObjects = false): string - { - if (self::isExportable($value) || $exportObjects) { - return (new \SebastianBergmann\Exporter\Exporter)->export($value); - } - - return '{enable export of objects to see this value}'; - } - - private static function isExportable(mixed &$value, Context $context = null): bool - { - if (is_scalar($value) || $value === null) { - return true; - } - - if (!is_array($value)) { - return false; - } - - if (!$context) { - $context = new Context; - } - - if ($context->contains($value) !== false) { - return true; - } - - $array = $value; - $context->add($value); - - foreach ($array as &$_value) { - if (!self::isExportable($_value, $context)) { - return false; - } - } - - return true; - } -} diff --git a/Sources/vendor/phpunit/phpunit/src/Util/Filesystem.php b/Sources/vendor/phpunit/phpunit/src/Util/Filesystem.php index 9789fe29..85875125 100644 --- a/Sources/vendor/phpunit/phpunit/src/Util/Filesystem.php +++ b/Sources/vendor/phpunit/phpunit/src/Util/Filesystem.php @@ -9,16 +9,40 @@ */ namespace PHPUnit\Util; +use function basename; +use function dirname; use function is_dir; use function mkdir; +use function realpath; +use function str_starts_with; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Filesystem +final readonly class Filesystem { public static function createDirectory(string $directory): bool { return !(!is_dir($directory) && !@mkdir($directory, 0o777, true) && !is_dir($directory)); } + + /** + * @psalm-param non-empty-string $path + * + * @return false|non-empty-string + */ + public static function resolveStreamOrFile(string $path): false|string + { + if (str_starts_with($path, 'php://') || str_starts_with($path, 'socket://')) { + return $path; + } + + $directory = dirname($path); + + if (is_dir($directory)) { + return realpath($directory) . DIRECTORY_SEPARATOR . basename($path); + } + + return false; + } } diff --git a/Sources/vendor/phpunit/phpunit/src/Util/Filter.php b/Sources/vendor/phpunit/phpunit/src/Util/Filter.php index 512d2262..7d6a0681 100644 --- a/Sources/vendor/phpunit/phpunit/src/Util/Filter.php +++ b/Sources/vendor/phpunit/phpunit/src/Util/Filter.php @@ -23,12 +23,12 @@ use Throwable; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Filter +final readonly class Filter { /** * @throws Exception */ - public static function getFilteredStacktrace(Throwable $t): string + public static function getFilteredStacktrace(Throwable $t, bool $unwrap = true): string { $filteredStacktrace = ''; @@ -41,7 +41,7 @@ final class Filter $eFile = $t->getFile(); $eLine = $t->getLine(); } else { - if ($t->getPrevious()) { + if ($unwrap && $t->getPrevious()) { $t = $t->getPrevious(); } @@ -89,10 +89,10 @@ final class Filter $script = ''; } - return is_file($file) && + return $fileIsNotPrefixed && + $file !== $script && self::fileIsExcluded($file, $excludeList) && - $fileIsNotPrefixed && - $file !== $script; + is_file($file); } private static function fileIsExcluded(string $file, ExcludeList $excludeList): bool diff --git a/Sources/vendor/phpunit/phpunit/src/Util/GlobalState.php b/Sources/vendor/phpunit/phpunit/src/Util/GlobalState.php index a364bca6..970dc064 100644 --- a/Sources/vendor/phpunit/phpunit/src/Util/GlobalState.php +++ b/Sources/vendor/phpunit/phpunit/src/Util/GlobalState.php @@ -34,7 +34,7 @@ use Closure; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class GlobalState +final readonly class GlobalState { /** * @psalm-var list diff --git a/Sources/vendor/phpunit/phpunit/src/Util/Json.php b/Sources/vendor/phpunit/phpunit/src/Util/Json.php index cd52c7cd..54ad403f 100644 --- a/Sources/vendor/phpunit/phpunit/src/Util/Json.php +++ b/Sources/vendor/phpunit/phpunit/src/Util/Json.php @@ -23,7 +23,7 @@ use function ksort; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Json +final readonly class Json { /** * @throws InvalidJsonException diff --git a/Sources/vendor/phpunit/phpunit/src/Util/PHP/AbstractPhpProcess.php b/Sources/vendor/phpunit/phpunit/src/Util/PHP/AbstractPhpProcess.php index 7223d695..22150805 100644 --- a/Sources/vendor/phpunit/phpunit/src/Util/PHP/AbstractPhpProcess.php +++ b/Sources/vendor/phpunit/phpunit/src/Util/PHP/AbstractPhpProcess.php @@ -27,7 +27,6 @@ use PHPUnit\Event\Code\TestMethodBuilder; use PHPUnit\Event\Code\ThrowableBuilder; use PHPUnit\Event\Facade; use PHPUnit\Event\NoPreviousThrowableException; -use PHPUnit\Event\TestData\MoreThanOneDataSetFromDataProviderException; use PHPUnit\Framework\AssertionFailedError; use PHPUnit\Framework\Exception; use PHPUnit\Framework\Test; @@ -132,7 +131,6 @@ abstract class AbstractPhpProcess * * @throws \PHPUnit\Runner\Exception * @throws Exception - * @throws MoreThanOneDataSetFromDataProviderException * @throws NoPreviousThrowableException */ public function runTestJob(string $job, Test $test, string $processResultFile): void @@ -157,7 +155,7 @@ abstract class AbstractPhpProcess /** * Returns the command based into the configurations. */ - public function getCommand(array $settings, string $file = null): string + public function getCommand(array $settings, ?string $file = null): string { $runtime = new Runtime; @@ -226,7 +224,6 @@ abstract class AbstractPhpProcess /** * @throws \PHPUnit\Runner\Exception * @throws Exception - * @throws MoreThanOneDataSetFromDataProviderException * @throws NoPreviousThrowableException */ private function processChildResult(Test $test, string $stdout, string $stderr): void diff --git a/Sources/vendor/phpunit/phpunit/src/Util/PHP/Template/TestCaseClass.tpl b/Sources/vendor/phpunit/phpunit/src/Util/PHP/Template/TestCaseClass.tpl index f6d06695..79cbb285 100644 --- a/Sources/vendor/phpunit/phpunit/src/Util/PHP/Template/TestCaseClass.tpl +++ b/Sources/vendor/phpunit/phpunit/src/Util/PHP/Template/TestCaseClass.tpl @@ -38,7 +38,6 @@ function __phpunit_run_isolated_test() {offsetSeconds}, {offsetNanoseconds} ), - {exportObjects}, ); require_once '{filename}'; diff --git a/Sources/vendor/phpunit/phpunit/src/Util/PHP/Template/TestCaseMethod.tpl b/Sources/vendor/phpunit/phpunit/src/Util/PHP/Template/TestCaseMethod.tpl index b9eaef73..df2b538f 100644 --- a/Sources/vendor/phpunit/phpunit/src/Util/PHP/Template/TestCaseMethod.tpl +++ b/Sources/vendor/phpunit/phpunit/src/Util/PHP/Template/TestCaseMethod.tpl @@ -38,7 +38,6 @@ function __phpunit_run_isolated_test() {offsetSeconds}, {offsetNanoseconds} ), - {exportObjects}, ); require_once '{filename}'; diff --git a/Sources/vendor/phpunit/phpunit/src/Util/Reflection.php b/Sources/vendor/phpunit/phpunit/src/Util/Reflection.php index 421fac47..bf3d397e 100644 --- a/Sources/vendor/phpunit/phpunit/src/Util/Reflection.php +++ b/Sources/vendor/phpunit/phpunit/src/Util/Reflection.php @@ -21,7 +21,7 @@ use ReflectionMethod; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Reflection +final readonly class Reflection { /** * @psalm-param class-string $className diff --git a/Sources/vendor/phpunit/phpunit/src/Util/Test.php b/Sources/vendor/phpunit/phpunit/src/Util/Test.php index 56333f95..6ea94692 100644 --- a/Sources/vendor/phpunit/phpunit/src/Util/Test.php +++ b/Sources/vendor/phpunit/phpunit/src/Util/Test.php @@ -16,7 +16,7 @@ use ReflectionMethod; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Test +final readonly class Test { public static function isTestMethod(ReflectionMethod $method): bool { diff --git a/Sources/vendor/phpunit/phpunit/src/Util/ThrowableToStringMapper.php b/Sources/vendor/phpunit/phpunit/src/Util/ThrowableToStringMapper.php index 358b7703..9a6f9ccf 100644 --- a/Sources/vendor/phpunit/phpunit/src/Util/ThrowableToStringMapper.php +++ b/Sources/vendor/phpunit/phpunit/src/Util/ThrowableToStringMapper.php @@ -19,7 +19,7 @@ use Throwable; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class ThrowableToStringMapper +final readonly class ThrowableToStringMapper { public static function map(Throwable $t): string { diff --git a/Sources/vendor/phpunit/phpunit/src/Util/VersionComparisonOperator.php b/Sources/vendor/phpunit/phpunit/src/Util/VersionComparisonOperator.php index ad108335..a9e85513 100644 --- a/Sources/vendor/phpunit/phpunit/src/Util/VersionComparisonOperator.php +++ b/Sources/vendor/phpunit/phpunit/src/Util/VersionComparisonOperator.php @@ -16,12 +16,12 @@ use function in_array; * * @psalm-immutable */ -final class VersionComparisonOperator +final readonly class VersionComparisonOperator { /** * @psalm-var '<'|'lt'|'<='|'le'|'>'|'gt'|'>='|'ge'|'=='|'='|'eq'|'!='|'<>'|'ne' */ - private readonly string $operator; + private string $operator; /** * @psalm-param '<'|'lt'|'<='|'le'|'>'|'gt'|'>='|'ge'|'=='|'='|'eq'|'!='|'<>'|'ne' $operator diff --git a/Sources/vendor/phpunit/phpunit/src/Util/Xml/Loader.php b/Sources/vendor/phpunit/phpunit/src/Util/Xml/Loader.php index 7df5fd5b..d7992f75 100644 --- a/Sources/vendor/phpunit/phpunit/src/Util/Xml/Loader.php +++ b/Sources/vendor/phpunit/phpunit/src/Util/Xml/Loader.php @@ -9,11 +9,8 @@ */ namespace PHPUnit\Util\Xml; -use function chdir; -use function dirname; use function error_reporting; use function file_get_contents; -use function getcwd; use function libxml_get_errors; use function libxml_use_internal_errors; use function sprintf; @@ -22,7 +19,7 @@ use DOMDocument; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Loader +final readonly class Loader { /** * @throws XmlException @@ -70,23 +67,7 @@ final class Loader $internal = libxml_use_internal_errors(true); $message = ''; $reporting = error_reporting(0); - - // Required for XInclude - if ($filename !== null) { - // Required for XInclude on Windows - if (PHP_OS_FAMILY === 'Windows') { - $cwd = getcwd(); - @chdir(dirname($filename)); - } - - $document->documentURI = $filename; - } - - $loaded = $document->loadXML($actual); - - if ($filename !== null) { - $document->xinclude(); - } + $loaded = $document->loadXML($actual); foreach (libxml_get_errors() as $error) { $message .= "\n" . $error->message; @@ -95,10 +76,6 @@ final class Loader libxml_use_internal_errors($internal); error_reporting($reporting); - if (isset($cwd)) { - @chdir($cwd); - } - if ($loaded === false || $message !== '') { if ($filename !== null) { throw new XmlException( diff --git a/Sources/vendor/phpunit/phpunit/src/Util/Xml/Xml.php b/Sources/vendor/phpunit/phpunit/src/Util/Xml/Xml.php index 5e96faa9..4bba6d8e 100644 --- a/Sources/vendor/phpunit/phpunit/src/Util/Xml/Xml.php +++ b/Sources/vendor/phpunit/phpunit/src/Util/Xml/Xml.php @@ -19,7 +19,7 @@ use function strlen; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ -final class Xml +final readonly class Xml { /** * Escapes a string for the use in XML documents. diff --git a/Sources/vendor/sebastian/cli-parser/ChangeLog.md b/Sources/vendor/sebastian/cli-parser/ChangeLog.md index 2880ddbb..aa070c77 100644 --- a/Sources/vendor/sebastian/cli-parser/ChangeLog.md +++ b/Sources/vendor/sebastian/cli-parser/ChangeLog.md @@ -2,6 +2,18 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](https://keepachangelog.com/) principles. +## [3.0.1] - 2024-03-02 + +### Changed + +* Do not use implicitly nullable parameters + +## [3.0.0] - 2024-02-02 + +### Removed + +* This component is no longer supported on PHP 8.1 + ## [2.0.0] - 2023-02-03 ### Removed @@ -18,6 +30,8 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](htt * Initial release +[3.0.1]: https://github.com/sebastianbergmann/cli-parser/compare/3.0.0...3.0.1 +[3.0.0]: https://github.com/sebastianbergmann/cli-parser/compare/2.0...3.0.0 [2.0.0]: https://github.com/sebastianbergmann/cli-parser/compare/1.0.1...2.0.0 [1.0.1]: https://github.com/sebastianbergmann/cli-parser/compare/1.0.0...1.0.1 [1.0.0]: https://github.com/sebastianbergmann/cli-parser/compare/bb7bb3297957927962b0a3335befe7b66f7462e9...1.0.0 diff --git a/Sources/vendor/sebastian/cli-parser/LICENSE b/Sources/vendor/sebastian/cli-parser/LICENSE index 5716d965..edaedf61 100644 --- a/Sources/vendor/sebastian/cli-parser/LICENSE +++ b/Sources/vendor/sebastian/cli-parser/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2020-2023, Sebastian Bergmann +Copyright (c) 2020-2024, Sebastian Bergmann All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Sources/vendor/sebastian/cli-parser/SECURITY.md b/Sources/vendor/sebastian/cli-parser/SECURITY.md index d4ee967b..d88ff001 100644 --- a/Sources/vendor/sebastian/cli-parser/SECURITY.md +++ b/Sources/vendor/sebastian/cli-parser/SECURITY.md @@ -1,9 +1,30 @@ # Security Policy -This library is intended to be used in development environments only. For instance, it is used by the testing framework PHPUnit. There is no reason why this library should be installed on a webserver. +If you believe you have found a security vulnerability in the library that is developed in this repository, please report it to us through coordinated disclosure. -**If you upload this library to a webserver then your deployment process is broken. On a more general note, if your `vendor` directory is publicly accessible on your webserver then your deployment process is also broken.** +**Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests.** -## Security Contact Information +Instead, please email `sebastian@phpunit.de`. + +Please include as much of the information listed below as you can to help us better understand and resolve the issue: + +* The type of issue +* Full paths of source file(s) related to the manifestation of the issue +* The location of the affected source code (tag/branch/commit or direct URL) +* Any special configuration required to reproduce the issue +* Step-by-step instructions to reproduce the issue +* Proof-of-concept or exploit code (if possible) +* Impact of the issue, including how an attacker might exploit the issue + +This information will help us triage your report more quickly. + +## Web Context + +The library that is developed in this repository was either extracted from [PHPUnit](https://github.com/sebastianbergmann/phpunit) or developed specifically as a dependency for PHPUnit. + +The library is developed with a focus on development environments and the command-line. No specific testing or hardening with regard to using the library in an HTTP or web context or with untrusted input data is performed. The library might also contain functionality that intentionally exposes internal application data for debugging purposes. + +If the library is used in a web application, the application developer is responsible for filtering inputs or escaping outputs as necessary and for verifying that the used functionality is safe for use within the intended context. + +Vulnerabilities specific to the use outside a development context will be fixed as applicable, provided that the fix does not have an averse effect on the primary use case for development purposes. -After the above, if you still would like to report a security vulnerability, please email `sebastian@phpunit.de`. diff --git a/Sources/vendor/sebastian/cli-parser/composer.json b/Sources/vendor/sebastian/cli-parser/composer.json index f33a1969..efb0df1b 100644 --- a/Sources/vendor/sebastian/cli-parser/composer.json +++ b/Sources/vendor/sebastian/cli-parser/composer.json @@ -12,18 +12,19 @@ } ], "support": { - "issues": "https://github.com/sebastianbergmann/cli-parser/issues" + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "security": "https://github.com/sebastianbergmann/cli-parser/security/policy" }, "prefer-stable": true, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "config": { "platform": { - "php": "8.1.0" + "php": "8.2.0" }, "optimize-autoloader": true, "sort-packages": true @@ -35,7 +36,7 @@ }, "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } } } diff --git a/Sources/vendor/sebastian/cli-parser/src/Parser.php b/Sources/vendor/sebastian/cli-parser/src/Parser.php index 795e95b7..ab2d975c 100644 --- a/Sources/vendor/sebastian/cli-parser/src/Parser.php +++ b/Sources/vendor/sebastian/cli-parser/src/Parser.php @@ -44,7 +44,7 @@ final class Parser * @throws RequiredOptionArgumentMissingException * @throws UnknownOptionException */ - public function parse(array $argv, string $shortOptions, array $longOptions = null): array + public function parse(array $argv, string $shortOptions, ?array $longOptions = null): array { if (empty($argv)) { return [[], []]; @@ -93,7 +93,7 @@ final class Parser substr($arg, 2), $longOptions, $options, - $argv + $argv, ); continue; @@ -103,7 +103,7 @@ final class Parser substr($arg, 1), $shortOptions, $options, - $argv + $argv, ); } diff --git a/Sources/vendor/sebastian/cli-parser/src/exceptions/AmbiguousOptionException.php b/Sources/vendor/sebastian/cli-parser/src/exceptions/AmbiguousOptionException.php index a99f6369..99eb625a 100644 --- a/Sources/vendor/sebastian/cli-parser/src/exceptions/AmbiguousOptionException.php +++ b/Sources/vendor/sebastian/cli-parser/src/exceptions/AmbiguousOptionException.php @@ -19,8 +19,8 @@ final class AmbiguousOptionException extends RuntimeException implements Excepti parent::__construct( sprintf( 'Option "%s" is ambiguous', - $option - ) + $option, + ), ); } } diff --git a/Sources/vendor/sebastian/cli-parser/src/exceptions/OptionDoesNotAllowArgumentException.php b/Sources/vendor/sebastian/cli-parser/src/exceptions/OptionDoesNotAllowArgumentException.php index 0aad29ac..7fea616b 100644 --- a/Sources/vendor/sebastian/cli-parser/src/exceptions/OptionDoesNotAllowArgumentException.php +++ b/Sources/vendor/sebastian/cli-parser/src/exceptions/OptionDoesNotAllowArgumentException.php @@ -19,8 +19,8 @@ final class OptionDoesNotAllowArgumentException extends RuntimeException impleme parent::__construct( sprintf( 'Option "%s" does not allow an argument', - $option - ) + $option, + ), ); } } diff --git a/Sources/vendor/sebastian/cli-parser/src/exceptions/RequiredOptionArgumentMissingException.php b/Sources/vendor/sebastian/cli-parser/src/exceptions/RequiredOptionArgumentMissingException.php index d2a930b6..9add49a9 100644 --- a/Sources/vendor/sebastian/cli-parser/src/exceptions/RequiredOptionArgumentMissingException.php +++ b/Sources/vendor/sebastian/cli-parser/src/exceptions/RequiredOptionArgumentMissingException.php @@ -19,8 +19,8 @@ final class RequiredOptionArgumentMissingException extends RuntimeException impl parent::__construct( sprintf( 'Required argument for option "%s" is missing', - $option - ) + $option, + ), ); } } diff --git a/Sources/vendor/sebastian/cli-parser/src/exceptions/UnknownOptionException.php b/Sources/vendor/sebastian/cli-parser/src/exceptions/UnknownOptionException.php index e98d9fd0..560c7ad2 100644 --- a/Sources/vendor/sebastian/cli-parser/src/exceptions/UnknownOptionException.php +++ b/Sources/vendor/sebastian/cli-parser/src/exceptions/UnknownOptionException.php @@ -19,8 +19,8 @@ final class UnknownOptionException extends RuntimeException implements Exception parent::__construct( sprintf( 'Unknown option "%s"', - $option - ) + $option, + ), ); } } diff --git a/Sources/vendor/sebastian/code-unit-reverse-lookup/.psalm/config.xml b/Sources/vendor/sebastian/code-unit-reverse-lookup/.psalm/config.xml index a2312368..343cc8e3 100644 --- a/Sources/vendor/sebastian/code-unit-reverse-lookup/.psalm/config.xml +++ b/Sources/vendor/sebastian/code-unit-reverse-lookup/.psalm/config.xml @@ -5,6 +5,8 @@ xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd" resolveFromConfigFile="false" errorBaseline=".psalm/baseline.xml" + findUnusedBaselineEntry="true" + findUnusedCode="false" > diff --git a/Sources/vendor/sebastian/code-unit-reverse-lookup/ChangeLog.md b/Sources/vendor/sebastian/code-unit-reverse-lookup/ChangeLog.md index 4ff97182..e2572fd3 100644 --- a/Sources/vendor/sebastian/code-unit-reverse-lookup/ChangeLog.md +++ b/Sources/vendor/sebastian/code-unit-reverse-lookup/ChangeLog.md @@ -2,6 +2,12 @@ All notable changes to `sebastianbergmann/code-unit-reverse-lookup` are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. +## [4.0.0] - 2024-02-02 + +### Removed + +* This component is no longer supported on PHP 8.1 + ## [3.0.0] - 2023-02-03 ### Removed @@ -38,6 +44,7 @@ All notable changes to `sebastianbergmann/code-unit-reverse-lookup` are document * Initial release +[4.0.0]: https://github.com/sebastianbergmann/code-unit-reverse-lookup/compare/3.0...4.0.0 [3.0.0]: https://github.com/sebastianbergmann/code-unit-reverse-lookup/compare/2.0.3...3.0.0 [2.0.3]: https://github.com/sebastianbergmann/code-unit-reverse-lookup/compare/2.0.2...2.0.3 [2.0.2]: https://github.com/sebastianbergmann/code-unit-reverse-lookup/compare/2.0.1...2.0.2 diff --git a/Sources/vendor/sebastian/code-unit-reverse-lookup/LICENSE b/Sources/vendor/sebastian/code-unit-reverse-lookup/LICENSE index 16e1ba9a..86c455d7 100644 --- a/Sources/vendor/sebastian/code-unit-reverse-lookup/LICENSE +++ b/Sources/vendor/sebastian/code-unit-reverse-lookup/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2016-2023, Sebastian Bergmann +Copyright (c) 2016-2024, Sebastian Bergmann All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Sources/vendor/sebastian/code-unit-reverse-lookup/SECURITY.md b/Sources/vendor/sebastian/code-unit-reverse-lookup/SECURITY.md index d4ee967b..d88ff001 100644 --- a/Sources/vendor/sebastian/code-unit-reverse-lookup/SECURITY.md +++ b/Sources/vendor/sebastian/code-unit-reverse-lookup/SECURITY.md @@ -1,9 +1,30 @@ # Security Policy -This library is intended to be used in development environments only. For instance, it is used by the testing framework PHPUnit. There is no reason why this library should be installed on a webserver. +If you believe you have found a security vulnerability in the library that is developed in this repository, please report it to us through coordinated disclosure. -**If you upload this library to a webserver then your deployment process is broken. On a more general note, if your `vendor` directory is publicly accessible on your webserver then your deployment process is also broken.** +**Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests.** -## Security Contact Information +Instead, please email `sebastian@phpunit.de`. + +Please include as much of the information listed below as you can to help us better understand and resolve the issue: + +* The type of issue +* Full paths of source file(s) related to the manifestation of the issue +* The location of the affected source code (tag/branch/commit or direct URL) +* Any special configuration required to reproduce the issue +* Step-by-step instructions to reproduce the issue +* Proof-of-concept or exploit code (if possible) +* Impact of the issue, including how an attacker might exploit the issue + +This information will help us triage your report more quickly. + +## Web Context + +The library that is developed in this repository was either extracted from [PHPUnit](https://github.com/sebastianbergmann/phpunit) or developed specifically as a dependency for PHPUnit. + +The library is developed with a focus on development environments and the command-line. No specific testing or hardening with regard to using the library in an HTTP or web context or with untrusted input data is performed. The library might also contain functionality that intentionally exposes internal application data for debugging purposes. + +If the library is used in a web application, the application developer is responsible for filtering inputs or escaping outputs as necessary and for verifying that the used functionality is safe for use within the intended context. + +Vulnerabilities specific to the use outside a development context will be fixed as applicable, provided that the fix does not have an averse effect on the primary use case for development purposes. -After the above, if you still would like to report a security vulnerability, please email `sebastian@phpunit.de`. diff --git a/Sources/vendor/sebastian/code-unit-reverse-lookup/composer.json b/Sources/vendor/sebastian/code-unit-reverse-lookup/composer.json index 37cc1ccf..bf05a9e9 100644 --- a/Sources/vendor/sebastian/code-unit-reverse-lookup/composer.json +++ b/Sources/vendor/sebastian/code-unit-reverse-lookup/composer.json @@ -9,19 +9,23 @@ "email": "sebastian@phpunit.de" } ], + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy" + }, "config": { "platform": { - "php": "8.1.0" + "php": "8.2.0" }, "optimize-autoloader": true, "sort-packages": true }, "prefer-stable": true, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "autoload": { "classmap": [ @@ -30,7 +34,7 @@ }, "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } } } diff --git a/Sources/vendor/sebastian/code-unit-reverse-lookup/src/Wizard.php b/Sources/vendor/sebastian/code-unit-reverse-lookup/src/Wizard.php index 355405ed..cf8ddb9f 100644 --- a/Sources/vendor/sebastian/code-unit-reverse-lookup/src/Wizard.php +++ b/Sources/vendor/sebastian/code-unit-reverse-lookup/src/Wizard.php @@ -11,17 +11,20 @@ namespace SebastianBergmann\CodeUnitReverseLookup; use function array_merge; use function assert; +use function class_exists; +use function function_exists; use function get_declared_classes; use function get_declared_traits; use function get_defined_functions; use function is_array; use function range; +use function trait_exists; use ReflectionClass; use ReflectionFunction; use ReflectionFunctionAbstract; use ReflectionMethod; -class Wizard +final class Wizard { /** * @psalm-var array> @@ -62,10 +65,11 @@ class Wizard $classes = get_declared_classes(); $traits = get_declared_traits(); - /* @noinspection PhpConditionAlreadyCheckedInspection */ assert(is_array($traits)); foreach (array_merge($classes, $traits) as $classOrTrait) { + assert(class_exists($classOrTrait) || trait_exists($classOrTrait)); + if (isset($this->processedClasses[$classOrTrait])) { continue; } @@ -81,6 +85,8 @@ class Wizard private function processFunctions(): void { foreach (get_defined_functions()['user'] as $function) { + assert(function_exists($function)); + if (isset($this->processedFunctions[$function])) { continue; } diff --git a/Sources/vendor/sebastian/code-unit/ChangeLog.md b/Sources/vendor/sebastian/code-unit/ChangeLog.md index 8b9c88bc..8bf517ea 100644 --- a/Sources/vendor/sebastian/code-unit/ChangeLog.md +++ b/Sources/vendor/sebastian/code-unit/ChangeLog.md @@ -2,6 +2,12 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. +## [3.0.0] - 2024-02-02 + +### Removed + +* This component is no longer supported on PHP 8.1 + ## [2.0.0] - 2023-02-03 ### Added @@ -66,6 +72,7 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](htt * Initial release +[3.0.0]: https://github.com/sebastianbergmann/code-unit/compare/2.0...3.0.0 [2.0.0]: https://github.com/sebastianbergmann/code-unit/compare/1.0.8...2.0.0 [1.0.8]: https://github.com/sebastianbergmann/code-unit/compare/1.0.7...1.0.8 [1.0.7]: https://github.com/sebastianbergmann/code-unit/compare/1.0.6...1.0.7 diff --git a/Sources/vendor/sebastian/code-unit/LICENSE b/Sources/vendor/sebastian/code-unit/LICENSE index 5716d965..edaedf61 100644 --- a/Sources/vendor/sebastian/code-unit/LICENSE +++ b/Sources/vendor/sebastian/code-unit/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2020-2023, Sebastian Bergmann +Copyright (c) 2020-2024, Sebastian Bergmann All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Sources/vendor/sebastian/code-unit/SECURITY.md b/Sources/vendor/sebastian/code-unit/SECURITY.md index d4ee967b..d88ff001 100644 --- a/Sources/vendor/sebastian/code-unit/SECURITY.md +++ b/Sources/vendor/sebastian/code-unit/SECURITY.md @@ -1,9 +1,30 @@ # Security Policy -This library is intended to be used in development environments only. For instance, it is used by the testing framework PHPUnit. There is no reason why this library should be installed on a webserver. +If you believe you have found a security vulnerability in the library that is developed in this repository, please report it to us through coordinated disclosure. -**If you upload this library to a webserver then your deployment process is broken. On a more general note, if your `vendor` directory is publicly accessible on your webserver then your deployment process is also broken.** +**Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests.** -## Security Contact Information +Instead, please email `sebastian@phpunit.de`. + +Please include as much of the information listed below as you can to help us better understand and resolve the issue: + +* The type of issue +* Full paths of source file(s) related to the manifestation of the issue +* The location of the affected source code (tag/branch/commit or direct URL) +* Any special configuration required to reproduce the issue +* Step-by-step instructions to reproduce the issue +* Proof-of-concept or exploit code (if possible) +* Impact of the issue, including how an attacker might exploit the issue + +This information will help us triage your report more quickly. + +## Web Context + +The library that is developed in this repository was either extracted from [PHPUnit](https://github.com/sebastianbergmann/phpunit) or developed specifically as a dependency for PHPUnit. + +The library is developed with a focus on development environments and the command-line. No specific testing or hardening with regard to using the library in an HTTP or web context or with untrusted input data is performed. The library might also contain functionality that intentionally exposes internal application data for debugging purposes. + +If the library is used in a web application, the application developer is responsible for filtering inputs or escaping outputs as necessary and for verifying that the used functionality is safe for use within the intended context. + +Vulnerabilities specific to the use outside a development context will be fixed as applicable, provided that the fix does not have an averse effect on the primary use case for development purposes. -After the above, if you still would like to report a security vulnerability, please email `sebastian@phpunit.de`. diff --git a/Sources/vendor/sebastian/code-unit/composer.json b/Sources/vendor/sebastian/code-unit/composer.json index 8cec5285..e942b667 100644 --- a/Sources/vendor/sebastian/code-unit/composer.json +++ b/Sources/vendor/sebastian/code-unit/composer.json @@ -12,18 +12,19 @@ } ], "support": { - "issues": "https://github.com/sebastianbergmann/code-unit/issues" + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "security": "https://github.com/sebastianbergmann/code-unit/security/policy" }, "prefer-stable": true, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "config": { "platform": { - "php": "8.1.0" + "php": "8.2.0" }, "optimize-autoloader": true, "sort-packages": true @@ -44,7 +45,7 @@ }, "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } } } diff --git a/Sources/vendor/sebastian/code-unit/src/ClassMethodUnit.php b/Sources/vendor/sebastian/code-unit/src/ClassMethodUnit.php index f9ddac29..ab35b786 100644 --- a/Sources/vendor/sebastian/code-unit/src/ClassMethodUnit.php +++ b/Sources/vendor/sebastian/code-unit/src/ClassMethodUnit.php @@ -12,7 +12,7 @@ namespace SebastianBergmann\CodeUnit; /** * @psalm-immutable */ -final class ClassMethodUnit extends CodeUnit +final readonly class ClassMethodUnit extends CodeUnit { /** * @psalm-assert-if-true ClassMethodUnit $this diff --git a/Sources/vendor/sebastian/code-unit/src/ClassUnit.php b/Sources/vendor/sebastian/code-unit/src/ClassUnit.php index 3ba0ee66..643e42e7 100644 --- a/Sources/vendor/sebastian/code-unit/src/ClassUnit.php +++ b/Sources/vendor/sebastian/code-unit/src/ClassUnit.php @@ -12,7 +12,7 @@ namespace SebastianBergmann\CodeUnit; /** * @psalm-immutable */ -final class ClassUnit extends CodeUnit +final readonly class ClassUnit extends CodeUnit { /** * @psalm-assert-if-true ClassUnit $this diff --git a/Sources/vendor/sebastian/code-unit/src/CodeUnit.php b/Sources/vendor/sebastian/code-unit/src/CodeUnit.php index ced52b43..da394db6 100644 --- a/Sources/vendor/sebastian/code-unit/src/CodeUnit.php +++ b/Sources/vendor/sebastian/code-unit/src/CodeUnit.php @@ -22,15 +22,22 @@ use ReflectionMethod; /** * @psalm-immutable */ -abstract class CodeUnit +abstract readonly class CodeUnit { - private readonly string $name; - private readonly string $sourceFileName; + /** + * @psalm-var non-empty-string + */ + private string $name; + + /** + * @psalm-var non-empty-string + */ + private string $sourceFileName; /** * @psalm-var list */ - private readonly array $sourceLines; + private array $sourceLines; /** * @psalm-param class-string $className @@ -49,8 +56,8 @@ abstract class CodeUnit $reflector->getFileName(), range( $reflector->getStartLine(), - $reflector->getEndLine() - ) + $reflector->getEndLine(), + ), ); } @@ -71,12 +78,14 @@ abstract class CodeUnit $reflector->getFileName(), range( $reflector->getStartLine(), - $reflector->getEndLine() - ) + $reflector->getEndLine(), + ), ); } /** + * @psalm-param non-empty-string $path + * * @throws InvalidCodeUnitException */ public static function forFileWithAbsolutePath(string $path): FileUnit @@ -88,8 +97,8 @@ abstract class CodeUnit $path, range( 1, - count(file($path)) - ) + count(file($path)), + ), ); } @@ -110,8 +119,8 @@ abstract class CodeUnit $reflector->getFileName(), range( $reflector->getStartLine(), - $reflector->getEndLine() - ) + $reflector->getEndLine(), + ), ); } @@ -132,8 +141,8 @@ abstract class CodeUnit $reflector->getFileName(), range( $reflector->getStartLine(), - $reflector->getEndLine() - ) + $reflector->getEndLine(), + ), ); } @@ -154,8 +163,8 @@ abstract class CodeUnit $reflector->getFileName(), range( $reflector->getStartLine(), - $reflector->getEndLine() - ) + $reflector->getEndLine(), + ), ); } @@ -176,8 +185,8 @@ abstract class CodeUnit $reflector->getFileName(), range( $reflector->getStartLine(), - $reflector->getEndLine() - ) + $reflector->getEndLine(), + ), ); } @@ -195,8 +204,8 @@ abstract class CodeUnit throw new InvalidCodeUnitException( sprintf( '"%s" is not a user-defined function', - $functionName - ) + $functionName, + ), ); } @@ -205,12 +214,14 @@ abstract class CodeUnit $reflector->getFileName(), range( $reflector->getStartLine(), - $reflector->getEndLine() - ) + $reflector->getEndLine(), + ), ); } /** + * @psalm-param non-empty-string $name + * @psalm-param non-empty-string $sourceFileName * @psalm-param list $sourceLines */ private function __construct(string $name, string $sourceFileName, array $sourceLines) @@ -220,11 +231,17 @@ abstract class CodeUnit $this->sourceLines = $sourceLines; } + /** + * @psalm-return non-empty-string + */ public function name(): string { return $this->name; } + /** + * @psalm-return non-empty-string + */ public function sourceFileName(): string { return $this->sourceFileName; @@ -238,47 +255,73 @@ abstract class CodeUnit return $this->sourceLines; } + /** + * @psalm-assert-if-true ClassUnit $this + */ public function isClass(): bool { return false; } + /** + * @psalm-assert-if-true ClassMethodUnit $this + */ public function isClassMethod(): bool { return false; } + /** + * @psalm-assert-if-true InterfaceUnit $this + */ public function isInterface(): bool { return false; } + /** + * @psalm-assert-if-true InterfaceMethodUnit $this + */ public function isInterfaceMethod(): bool { return false; } + /** + * @psalm-assert-if-true TraitUnit $this + */ public function isTrait(): bool { return false; } + /** + * @psalm-assert-if-true TraitMethodUnit $this + */ public function isTraitMethod(): bool { return false; } + /** + * @psalm-assert-if-true FunctionUnit $this + */ public function isFunction(): bool { return false; } + /** + * @psalm-assert-if-true FileUnit $this + */ public function isFile(): bool { return false; } /** + * @psalm-param non-empty-string $path + * * @throws InvalidCodeUnitException */ private static function ensureFileExistsAndIsReadable(string $path): void @@ -287,8 +330,8 @@ abstract class CodeUnit throw new InvalidCodeUnitException( sprintf( 'File "%s" does not exist or is not readable', - $path - ) + $path, + ), ); } } @@ -307,8 +350,8 @@ abstract class CodeUnit throw new InvalidCodeUnitException( sprintf( '"%s" is an interface and not a class', - $className - ) + $className, + ), ); } @@ -316,8 +359,8 @@ abstract class CodeUnit throw new InvalidCodeUnitException( sprintf( '"%s" is a trait and not a class', - $className - ) + $className, + ), ); } @@ -325,8 +368,8 @@ abstract class CodeUnit throw new InvalidCodeUnitException( sprintf( '"%s" is not a user-defined class', - $className - ) + $className, + ), ); } // @codeCoverageIgnoreStart @@ -334,7 +377,7 @@ abstract class CodeUnit throw new ReflectionException( $e->getMessage(), $e->getCode(), - $e + $e, ); } // @codeCoverageIgnoreEnd @@ -354,8 +397,8 @@ abstract class CodeUnit throw new InvalidCodeUnitException( sprintf( '"%s" is not an interface', - $interfaceName - ) + $interfaceName, + ), ); } @@ -363,8 +406,8 @@ abstract class CodeUnit throw new InvalidCodeUnitException( sprintf( '"%s" is not a user-defined interface', - $interfaceName - ) + $interfaceName, + ), ); } // @codeCoverageIgnoreStart @@ -372,7 +415,7 @@ abstract class CodeUnit throw new ReflectionException( $e->getMessage(), $e->getCode(), - $e + $e, ); } // @codeCoverageIgnoreEnd @@ -392,8 +435,8 @@ abstract class CodeUnit throw new InvalidCodeUnitException( sprintf( '"%s" is not a trait', - $traitName - ) + $traitName, + ), ); } @@ -402,15 +445,15 @@ abstract class CodeUnit throw new InvalidCodeUnitException( sprintf( '"%s" is not a user-defined trait', - $traitName - ) + $traitName, + ), ); } } catch (\ReflectionException $e) { throw new ReflectionException( $e->getMessage(), $e->getCode(), - $e + $e, ); } // @codeCoverageIgnoreEnd @@ -430,7 +473,7 @@ abstract class CodeUnit throw new ReflectionException( $e->getMessage(), $e->getCode(), - $e + $e, ); } // @codeCoverageIgnoreEnd @@ -450,7 +493,7 @@ abstract class CodeUnit throw new ReflectionException( $e->getMessage(), $e->getCode(), - $e + $e, ); } // @codeCoverageIgnoreEnd @@ -470,7 +513,7 @@ abstract class CodeUnit throw new ReflectionException( $e->getMessage(), $e->getCode(), - $e + $e, ); } // @codeCoverageIgnoreEnd diff --git a/Sources/vendor/sebastian/code-unit/src/CodeUnitCollection.php b/Sources/vendor/sebastian/code-unit/src/CodeUnitCollection.php index a23a7c46..54b86fef 100644 --- a/Sources/vendor/sebastian/code-unit/src/CodeUnitCollection.php +++ b/Sources/vendor/sebastian/code-unit/src/CodeUnitCollection.php @@ -19,12 +19,12 @@ use IteratorAggregate; * * @psalm-immutable */ -final class CodeUnitCollection implements Countable, IteratorAggregate +final readonly class CodeUnitCollection implements Countable, IteratorAggregate { /** * @psalm-var list */ - private readonly array $codeUnits; + private array $codeUnits; public static function fromList(CodeUnit ...$codeUnits): self { @@ -67,8 +67,8 @@ final class CodeUnitCollection implements Countable, IteratorAggregate return new self( array_merge( $this->asArray(), - $other->asArray() - ) + $other->asArray(), + ), ); } } diff --git a/Sources/vendor/sebastian/code-unit/src/FileUnit.php b/Sources/vendor/sebastian/code-unit/src/FileUnit.php index 3bd9a36a..9689618c 100644 --- a/Sources/vendor/sebastian/code-unit/src/FileUnit.php +++ b/Sources/vendor/sebastian/code-unit/src/FileUnit.php @@ -12,7 +12,7 @@ namespace SebastianBergmann\CodeUnit; /** * @psalm-immutable */ -final class FileUnit extends CodeUnit +final readonly class FileUnit extends CodeUnit { /** * @psalm-assert-if-true FileUnit $this diff --git a/Sources/vendor/sebastian/code-unit/src/FunctionUnit.php b/Sources/vendor/sebastian/code-unit/src/FunctionUnit.php index df76cf19..b5e51728 100644 --- a/Sources/vendor/sebastian/code-unit/src/FunctionUnit.php +++ b/Sources/vendor/sebastian/code-unit/src/FunctionUnit.php @@ -12,7 +12,7 @@ namespace SebastianBergmann\CodeUnit; /** * @psalm-immutable */ -final class FunctionUnit extends CodeUnit +final readonly class FunctionUnit extends CodeUnit { /** * @psalm-assert-if-true FunctionUnit $this diff --git a/Sources/vendor/sebastian/code-unit/src/InterfaceMethodUnit.php b/Sources/vendor/sebastian/code-unit/src/InterfaceMethodUnit.php index fcd44f41..60bfb6f1 100644 --- a/Sources/vendor/sebastian/code-unit/src/InterfaceMethodUnit.php +++ b/Sources/vendor/sebastian/code-unit/src/InterfaceMethodUnit.php @@ -12,10 +12,10 @@ namespace SebastianBergmann\CodeUnit; /** * @psalm-immutable */ -final class InterfaceMethodUnit extends CodeUnit +final readonly class InterfaceMethodUnit extends CodeUnit { /** - * @psalm-assert-if-true InterfaceMethod $this + * @psalm-assert-if-true InterfaceMethodUnit $this */ public function isInterfaceMethod(): bool { diff --git a/Sources/vendor/sebastian/code-unit/src/InterfaceUnit.php b/Sources/vendor/sebastian/code-unit/src/InterfaceUnit.php index 5cf585bf..9174dad0 100644 --- a/Sources/vendor/sebastian/code-unit/src/InterfaceUnit.php +++ b/Sources/vendor/sebastian/code-unit/src/InterfaceUnit.php @@ -12,7 +12,7 @@ namespace SebastianBergmann\CodeUnit; /** * @psalm-immutable */ -final class InterfaceUnit extends CodeUnit +final readonly class InterfaceUnit extends CodeUnit { /** * @psalm-assert-if-true InterfaceUnit $this diff --git a/Sources/vendor/sebastian/code-unit/src/Mapper.php b/Sources/vendor/sebastian/code-unit/src/Mapper.php index ad11259f..49c69843 100644 --- a/Sources/vendor/sebastian/code-unit/src/Mapper.php +++ b/Sources/vendor/sebastian/code-unit/src/Mapper.php @@ -114,8 +114,8 @@ final class Mapper throw new InvalidCodeUnitException( sprintf( '"%s" is not a valid code unit', - $unit - ) + $unit, + ), ); } @@ -133,127 +133,58 @@ final class Mapper throw new ReflectionException( $e->getMessage(), $e->getCode(), - $e + $e, ); } // @codeCoverageIgnoreEnd } - /** - * @throws ReflectionException - */ private function isUserDefinedFunction(string $functionName): bool { if (!function_exists($functionName)) { return false; } - try { - return (new ReflectionFunction($functionName))->isUserDefined(); - // @codeCoverageIgnoreStart - } catch (\ReflectionException $e) { - throw new ReflectionException( - $e->getMessage(), - $e->getCode(), - $e - ); - } - // @codeCoverageIgnoreEnd + return (new ReflectionFunction($functionName))->isUserDefined(); } - /** - * @throws ReflectionException - */ private function isUserDefinedClass(string $className): bool { if (!class_exists($className)) { return false; } - try { - return (new ReflectionClass($className))->isUserDefined(); - // @codeCoverageIgnoreStart - } catch (\ReflectionException $e) { - throw new ReflectionException( - $e->getMessage(), - $e->getCode(), - $e - ); - } - // @codeCoverageIgnoreEnd + return (new ReflectionClass($className))->isUserDefined(); } - /** - * @throws ReflectionException - */ private function isUserDefinedInterface(string $interfaceName): bool { if (!interface_exists($interfaceName)) { return false; } - try { - return (new ReflectionClass($interfaceName))->isUserDefined(); - // @codeCoverageIgnoreStart - } catch (\ReflectionException $e) { - throw new ReflectionException( - $e->getMessage(), - $e->getCode(), - $e - ); - } - // @codeCoverageIgnoreEnd + return (new ReflectionClass($interfaceName))->isUserDefined(); } - /** - * @throws ReflectionException - */ private function isUserDefinedTrait(string $traitName): bool { if (!trait_exists($traitName)) { return false; } - try { - return (new ReflectionClass($traitName))->isUserDefined(); - // @codeCoverageIgnoreStart - } catch (\ReflectionException $e) { - throw new ReflectionException( - $e->getMessage(), - $e->getCode(), - $e - ); - } - // @codeCoverageIgnoreEnd + return (new ReflectionClass($traitName))->isUserDefined(); } - /** - * @throws ReflectionException - */ private function isUserDefinedMethod(string $className, string $methodName): bool { if (!class_exists($className)) { - // @codeCoverageIgnoreStart return false; - // @codeCoverageIgnoreEnd } if (!method_exists($className, $methodName)) { - // @codeCoverageIgnoreStart return false; - // @codeCoverageIgnoreEnd } - try { - return (new ReflectionMethod($className, $methodName))->isUserDefined(); - // @codeCoverageIgnoreStart - } catch (\ReflectionException $e) { - throw new ReflectionException( - $e->getMessage(), - $e->getCode(), - $e - ); - } - // @codeCoverageIgnoreEnd + return (new ReflectionMethod($className, $methodName))->isUserDefined(); } } diff --git a/Sources/vendor/sebastian/code-unit/src/TraitMethodUnit.php b/Sources/vendor/sebastian/code-unit/src/TraitMethodUnit.php index a58f7249..268caf2a 100644 --- a/Sources/vendor/sebastian/code-unit/src/TraitMethodUnit.php +++ b/Sources/vendor/sebastian/code-unit/src/TraitMethodUnit.php @@ -12,7 +12,7 @@ namespace SebastianBergmann\CodeUnit; /** * @psalm-immutable */ -final class TraitMethodUnit extends CodeUnit +final readonly class TraitMethodUnit extends CodeUnit { /** * @psalm-assert-if-true TraitMethodUnit $this diff --git a/Sources/vendor/sebastian/code-unit/src/TraitUnit.php b/Sources/vendor/sebastian/code-unit/src/TraitUnit.php index abddfc11..2b19fa10 100644 --- a/Sources/vendor/sebastian/code-unit/src/TraitUnit.php +++ b/Sources/vendor/sebastian/code-unit/src/TraitUnit.php @@ -12,7 +12,7 @@ namespace SebastianBergmann\CodeUnit; /** * @psalm-immutable */ -final class TraitUnit extends CodeUnit +final readonly class TraitUnit extends CodeUnit { /** * @psalm-assert-if-true TraitUnit $this diff --git a/Sources/vendor/sebastian/comparator/ChangeLog.md b/Sources/vendor/sebastian/comparator/ChangeLog.md index 3b725439..57c9b8cd 100644 --- a/Sources/vendor/sebastian/comparator/ChangeLog.md +++ b/Sources/vendor/sebastian/comparator/ChangeLog.md @@ -2,6 +2,14 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. +## [6.0.0] - 2024-02-02 + +### Changed + +### Removed + +* Removed support for PHP 8.1 + ## [5.0.1] - 2023-08-14 ### Fixed @@ -144,6 +152,7 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](htt * Added `SebastianBergmann\Comparator\Factory::reset()` to unregister all non-default comparators * Added support for `phpunit/phpunit-mock-objects` version `^5.0` +[6.0.0]: https://github.com/sebastianbergmann/comparator/compare/5.0...6.0.0 [5.0.1]: https://github.com/sebastianbergmann/comparator/compare/5.0.0...5.0.1 [5.0.0]: https://github.com/sebastianbergmann/comparator/compare/4.0.8...5.0.0 [4.0.8]: https://github.com/sebastianbergmann/comparator/compare/4.0.7...4.0.8 diff --git a/Sources/vendor/sebastian/comparator/LICENSE b/Sources/vendor/sebastian/comparator/LICENSE index a453252d..5b4705a4 100644 --- a/Sources/vendor/sebastian/comparator/LICENSE +++ b/Sources/vendor/sebastian/comparator/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2002-2023, Sebastian Bergmann +Copyright (c) 2002-2024, Sebastian Bergmann All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Sources/vendor/sebastian/comparator/composer.json b/Sources/vendor/sebastian/comparator/composer.json index a53ecba4..215e1ca7 100644 --- a/Sources/vendor/sebastian/comparator/composer.json +++ b/Sources/vendor/sebastian/comparator/composer.json @@ -28,18 +28,18 @@ }, "prefer-stable": true, "require": { - "php": ">=8.1", - "sebastian/diff": "^5.0", - "sebastian/exporter": "^5.0", + "php": ">=8.2", + "sebastian/diff": "^6.0", + "sebastian/exporter": "^6.0", "ext-dom": "*", "ext-mbstring": "*" }, "require-dev": { - "phpunit/phpunit": "^10.3" + "phpunit/phpunit": "^11.0" }, "config": { "platform": { - "php": "8.1.0" + "php": "8.2.0" }, "optimize-autoloader": true, "sort-packages": true @@ -56,7 +56,7 @@ }, "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.0-dev" } } } diff --git a/Sources/vendor/sebastian/comparator/src/ArrayComparator.php b/Sources/vendor/sebastian/comparator/src/ArrayComparator.php index 07eba9d3..75508327 100644 --- a/Sources/vendor/sebastian/comparator/src/ArrayComparator.php +++ b/Sources/vendor/sebastian/comparator/src/ArrayComparator.php @@ -56,7 +56,7 @@ class ArrayComparator extends Comparator $expectedAsString .= sprintf( " %s => %s\n", $exporter->export($key), - $exporter->shortenedExport($value) + $exporter->shortenedExport($value), ); $equal = false; @@ -71,25 +71,25 @@ class ArrayComparator extends Comparator $expectedAsString .= sprintf( " %s => %s\n", $exporter->export($key), - $exporter->shortenedExport($value) + $exporter->shortenedExport($value), ); $actualAsString .= sprintf( " %s => %s\n", $exporter->export($key), - $exporter->shortenedExport($actual[$key]) + $exporter->shortenedExport($actual[$key]), ); } catch (ComparisonFailure $e) { $expectedAsString .= sprintf( " %s => %s\n", $exporter->export($key), - $e->getExpectedAsString() ? $this->indent($e->getExpectedAsString()) : $exporter->shortenedExport($e->getExpected()) + $e->getExpectedAsString() ? $this->indent($e->getExpectedAsString()) : $exporter->shortenedExport($e->getExpected()), ); $actualAsString .= sprintf( " %s => %s\n", $exporter->export($key), - $e->getActualAsString() ? $this->indent($e->getActualAsString()) : $exporter->shortenedExport($e->getActual()) + $e->getActualAsString() ? $this->indent($e->getActualAsString()) : $exporter->shortenedExport($e->getActual()), ); $equal = false; @@ -100,7 +100,7 @@ class ArrayComparator extends Comparator $actualAsString .= sprintf( " %s => %s\n", $exporter->export($key), - $exporter->shortenedExport($value) + $exporter->shortenedExport($value), ); $equal = false; @@ -115,7 +115,7 @@ class ArrayComparator extends Comparator $actual, $expectedAsString, $actualAsString, - 'Failed asserting that two arrays are equal.' + 'Failed asserting that two arrays are equal.', ); } } diff --git a/Sources/vendor/sebastian/comparator/src/DOMNodeComparator.php b/Sources/vendor/sebastian/comparator/src/DOMNodeComparator.php index b57aef1d..e78a401f 100644 --- a/Sources/vendor/sebastian/comparator/src/DOMNodeComparator.php +++ b/Sources/vendor/sebastian/comparator/src/DOMNodeComparator.php @@ -42,7 +42,7 @@ final class DOMNodeComparator extends ObjectComparator $actual, $expectedAsString, $actualAsString, - sprintf("Failed asserting that two DOM %s are equal.\n", $type) + sprintf("Failed asserting that two DOM %s are equal.\n", $type), ); } } diff --git a/Sources/vendor/sebastian/comparator/src/DateTimeComparator.php b/Sources/vendor/sebastian/comparator/src/DateTimeComparator.php index b32c0af2..16792d77 100644 --- a/Sources/vendor/sebastian/comparator/src/DateTimeComparator.php +++ b/Sources/vendor/sebastian/comparator/src/DateTimeComparator.php @@ -54,7 +54,7 @@ final class DateTimeComparator extends ObjectComparator $actual, $this->dateTimeToString($expected), $this->dateTimeToString($actual), - 'Failed asserting that two DateTime objects are equal.' + 'Failed asserting that two DateTime objects are equal.', ); } } diff --git a/Sources/vendor/sebastian/comparator/src/NumericComparator.php b/Sources/vendor/sebastian/comparator/src/NumericComparator.php index 576c839d..3d783edb 100644 --- a/Sources/vendor/sebastian/comparator/src/NumericComparator.php +++ b/Sources/vendor/sebastian/comparator/src/NumericComparator.php @@ -49,8 +49,8 @@ final class NumericComparator extends ScalarComparator sprintf( 'Failed asserting that %s matches expected %s.', $exporter->export($actual), - $exporter->export($expected) - ) + $exporter->export($expected), + ), ); } } diff --git a/Sources/vendor/sebastian/comparator/src/ObjectComparator.php b/Sources/vendor/sebastian/comparator/src/ObjectComparator.php index 09fc78db..95f97ed1 100644 --- a/Sources/vendor/sebastian/comparator/src/ObjectComparator.php +++ b/Sources/vendor/sebastian/comparator/src/ObjectComparator.php @@ -42,8 +42,8 @@ class ObjectComparator extends ArrayComparator sprintf( '%s is not instance of expected class "%s".', $exporter->export($actual), - $expected::class - ) + $expected::class, + ), ); } @@ -66,7 +66,7 @@ class ObjectComparator extends ArrayComparator $delta, $canonicalize, $ignoreCase, - $processed + $processed, ); } catch (ComparisonFailure $e) { throw new ComparisonFailure( @@ -75,7 +75,7 @@ class ObjectComparator extends ArrayComparator // replace "Array" with "MyClass object" substr_replace($e->getExpectedAsString(), $expected::class . ' Object', 0, 5), substr_replace($e->getActualAsString(), $actual::class . ' Object', 0, 5), - 'Failed asserting that two objects are equal.' + 'Failed asserting that two objects are equal.', ); } } diff --git a/Sources/vendor/sebastian/comparator/src/ResourceComparator.php b/Sources/vendor/sebastian/comparator/src/ResourceComparator.php index 91440ced..16995623 100644 --- a/Sources/vendor/sebastian/comparator/src/ResourceComparator.php +++ b/Sources/vendor/sebastian/comparator/src/ResourceComparator.php @@ -35,7 +35,7 @@ final class ResourceComparator extends Comparator $expected, $actual, $exporter->export($expected), - $exporter->export($actual) + $exporter->export($actual), ); } } diff --git a/Sources/vendor/sebastian/comparator/src/ScalarComparator.php b/Sources/vendor/sebastian/comparator/src/ScalarComparator.php index 50a71ac1..79c50457 100644 --- a/Sources/vendor/sebastian/comparator/src/ScalarComparator.php +++ b/Sources/vendor/sebastian/comparator/src/ScalarComparator.php @@ -59,7 +59,7 @@ class ScalarComparator extends Comparator $actual, $exporter->export($expected), $exporter->export($actual), - 'Failed asserting that two strings are equal.' + 'Failed asserting that two strings are equal.', ); } @@ -73,8 +73,8 @@ class ScalarComparator extends Comparator sprintf( 'Failed asserting that %s matches expected %s.', $exporter->export($actual), - $exporter->export($expected) - ) + $exporter->export($expected), + ), ); } } diff --git a/Sources/vendor/sebastian/comparator/src/SplObjectStorageComparator.php b/Sources/vendor/sebastian/comparator/src/SplObjectStorageComparator.php index 144622d6..a1eeda39 100644 --- a/Sources/vendor/sebastian/comparator/src/SplObjectStorageComparator.php +++ b/Sources/vendor/sebastian/comparator/src/SplObjectStorageComparator.php @@ -37,7 +37,7 @@ final class SplObjectStorageComparator extends Comparator $actual, $exporter->export($expected), $exporter->export($actual), - 'Failed asserting that two objects are equal.' + 'Failed asserting that two objects are equal.', ); } } @@ -49,7 +49,7 @@ final class SplObjectStorageComparator extends Comparator $actual, $exporter->export($expected), $exporter->export($actual), - 'Failed asserting that two objects are equal.' + 'Failed asserting that two objects are equal.', ); } } diff --git a/Sources/vendor/sebastian/comparator/src/TypeComparator.php b/Sources/vendor/sebastian/comparator/src/TypeComparator.php index 8e9dfacc..67994e9f 100644 --- a/Sources/vendor/sebastian/comparator/src/TypeComparator.php +++ b/Sources/vendor/sebastian/comparator/src/TypeComparator.php @@ -35,8 +35,8 @@ final class TypeComparator extends Comparator sprintf( '%s does not match expected type "%s".', (new Exporter)->shortenedExport($actual), - gettype($expected) - ) + gettype($expected), + ), ); } } diff --git a/Sources/vendor/sebastian/complexity/ChangeLog.md b/Sources/vendor/sebastian/complexity/ChangeLog.md index eb168af7..632c7f09 100644 --- a/Sources/vendor/sebastian/complexity/ChangeLog.md +++ b/Sources/vendor/sebastian/complexity/ChangeLog.md @@ -2,11 +2,19 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](https://keepachangelog.com/) principles. +## [4.0.0] - 2024-02-02 + +### Removed + +* This component now requires PHP-Parser 5 +* This component is no longer supported on PHP 8.1 + ## [3.2.0] - 2023-12-21 ### Added * `ComplexityCollection::sortByDescendingCyclomaticComplexity()` +* Support for `match` arms ### Changed @@ -58,6 +66,7 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](htt * Initial release +[4.0.0]: https://github.com/sebastianbergmann/complexity/compare/3.2...4.0.0 [3.2.0]: https://github.com/sebastianbergmann/complexity/compare/3.1.0...3.2.0 [3.1.0]: https://github.com/sebastianbergmann/complexity/compare/3.0.1...3.1.0 [3.0.1]: https://github.com/sebastianbergmann/complexity/compare/3.0.0...3.0.1 diff --git a/Sources/vendor/sebastian/complexity/LICENSE b/Sources/vendor/sebastian/complexity/LICENSE index 5716d965..edaedf61 100644 --- a/Sources/vendor/sebastian/complexity/LICENSE +++ b/Sources/vendor/sebastian/complexity/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2020-2023, Sebastian Bergmann +Copyright (c) 2020-2024, Sebastian Bergmann All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Sources/vendor/sebastian/complexity/composer.json b/Sources/vendor/sebastian/complexity/composer.json index 77001bb2..55ebd47e 100644 --- a/Sources/vendor/sebastian/complexity/composer.json +++ b/Sources/vendor/sebastian/complexity/composer.json @@ -17,15 +17,15 @@ }, "prefer-stable": true, "require": { - "php": ">=8.1", - "nikic/php-parser": "^4.18 || ^5.0" + "php": ">=8.2", + "nikic/php-parser": "^5.0" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "config": { "platform": { - "php": "8.1.0" + "php": "8.2.0" }, "optimize-autoloader": true, "sort-packages": true @@ -37,7 +37,7 @@ }, "extra": { "branch-alias": { - "dev-main": "3.2-dev" + "dev-main": "4.0-dev" } } } diff --git a/Sources/vendor/sebastian/complexity/src/Complexity/Complexity.php b/Sources/vendor/sebastian/complexity/src/Complexity/Complexity.php index 5203454b..453575ef 100644 --- a/Sources/vendor/sebastian/complexity/src/Complexity/Complexity.php +++ b/Sources/vendor/sebastian/complexity/src/Complexity/Complexity.php @@ -14,12 +14,12 @@ use function str_contains; /** * @psalm-immutable */ -final class Complexity +final readonly class Complexity { /** * @psalm-var non-empty-string */ - private readonly string $name; + private string $name; /** * @psalm-var positive-int diff --git a/Sources/vendor/sebastian/complexity/src/Complexity/ComplexityCollection.php b/Sources/vendor/sebastian/complexity/src/Complexity/ComplexityCollection.php index 0f851c2a..bbe71071 100644 --- a/Sources/vendor/sebastian/complexity/src/Complexity/ComplexityCollection.php +++ b/Sources/vendor/sebastian/complexity/src/Complexity/ComplexityCollection.php @@ -21,12 +21,12 @@ use IteratorAggregate; /** * @psalm-immutable */ -final class ComplexityCollection implements Countable, IteratorAggregate +final readonly class ComplexityCollection implements Countable, IteratorAggregate { /** * @psalm-var list */ - private readonly array $items; + private array $items; public static function fromList(Complexity ...$items): self { diff --git a/Sources/vendor/sebastian/complexity/src/Visitor/ComplexityCalculatingVisitor.php b/Sources/vendor/sebastian/complexity/src/Visitor/ComplexityCalculatingVisitor.php index 0314bf1d..3733dd17 100644 --- a/Sources/vendor/sebastian/complexity/src/Visitor/ComplexityCalculatingVisitor.php +++ b/Sources/vendor/sebastian/complexity/src/Visitor/ComplexityCalculatingVisitor.php @@ -21,6 +21,7 @@ use PhpParser\Node\Stmt\Function_; use PhpParser\Node\Stmt\Interface_; use PhpParser\Node\Stmt\Trait_; use PhpParser\NodeTraverser; +use PhpParser\NodeVisitor; use PhpParser\NodeVisitorAbstract; final class ComplexityCalculatingVisitor extends NodeVisitorAbstract @@ -66,7 +67,7 @@ final class ComplexityCalculatingVisitor extends NodeVisitorAbstract ); if ($this->shortCircuitTraversal) { - return NodeTraverser::DONT_TRAVERSE_CHILDREN; + return NodeVisitor::DONT_TRAVERSE_CHILDREN; } return null; diff --git a/Sources/vendor/sebastian/complexity/src/Visitor/CyclomaticComplexityCalculatingVisitor.php b/Sources/vendor/sebastian/complexity/src/Visitor/CyclomaticComplexityCalculatingVisitor.php index 551ed1a0..dd5723bf 100644 --- a/Sources/vendor/sebastian/complexity/src/Visitor/CyclomaticComplexityCalculatingVisitor.php +++ b/Sources/vendor/sebastian/complexity/src/Visitor/CyclomaticComplexityCalculatingVisitor.php @@ -44,6 +44,7 @@ final class CyclomaticComplexityCalculatingVisitor extends NodeVisitorAbstract case If_::class: case LogicalAnd::class: case LogicalOr::class: + case Node\MatchArm::class: case Ternary::class: case While_::class: $this->cyclomaticComplexity++; diff --git a/Sources/vendor/sebastian/diff/ChangeLog.md b/Sources/vendor/sebastian/diff/ChangeLog.md index 8081b37f..7cc4e3e3 100644 --- a/Sources/vendor/sebastian/diff/ChangeLog.md +++ b/Sources/vendor/sebastian/diff/ChangeLog.md @@ -2,6 +2,21 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. +## [6.0.1] - 2024-03-02 + +### Changed + +* Do not use implicitly nullable parameters + +## [6.0.0] - 2024-02-02 + +### Removed + +* `SebastianBergmann\Diff\Chunk::getStart()`, `SebastianBergmann\Diff\Chunk::getStartRange()`, `SebastianBergmann\Diff\Chunk::getEnd()`, `SebastianBergmann\Diff\Chunk::getEndRange()`, and `SebastianBergmann\Diff\Chunk::getLines()` +* `SebastianBergmann\Diff\Diff::getFrom()`, `SebastianBergmann\Diff\Diff::getTo()`, and `SebastianBergmann\Diff\Diff::getChunks()` +* `SebastianBergmann\Diff\Line::getContent()` and `SebastianBergmann\Diff\Diff::getType()` +* Removed support for PHP 8.1 + ## [5.1.0] - 2023-12-22 ### Added @@ -124,6 +139,8 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](htt * This component is no longer supported on PHP 5.6 +[6.0.1]: https://github.com/sebastianbergmann/diff/compare/6.0.0...6.0.1 +[6.0.0]: https://github.com/sebastianbergmann/diff/compare/5.1...6.0.0 [5.1.0]: https://github.com/sebastianbergmann/diff/compare/5.0.3...5.1.0 [5.0.3]: https://github.com/sebastianbergmann/diff/compare/5.0.2...5.0.3 [5.0.2]: https://github.com/sebastianbergmann/diff/compare/5.0.1...5.0.2 diff --git a/Sources/vendor/sebastian/diff/LICENSE b/Sources/vendor/sebastian/diff/LICENSE index a453252d..5b4705a4 100644 --- a/Sources/vendor/sebastian/diff/LICENSE +++ b/Sources/vendor/sebastian/diff/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2002-2023, Sebastian Bergmann +Copyright (c) 2002-2024, Sebastian Bergmann All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Sources/vendor/sebastian/diff/composer.json b/Sources/vendor/sebastian/diff/composer.json index bc6c3a43..7e19a7d9 100644 --- a/Sources/vendor/sebastian/diff/composer.json +++ b/Sources/vendor/sebastian/diff/composer.json @@ -21,16 +21,16 @@ "prefer-stable": true, "config": { "platform": { - "php": "8.1.0" + "php": "8.2.0" }, "optimize-autoloader": true, "sort-packages": true }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0", + "phpunit/phpunit": "^11.0", "symfony/process": "^4.2 || ^5" }, "autoload": { @@ -45,7 +45,7 @@ }, "extra": { "branch-alias": { - "dev-main": "5.1-dev" + "dev-main": "6.0-dev" } } } diff --git a/Sources/vendor/sebastian/diff/src/Chunk.php b/Sources/vendor/sebastian/diff/src/Chunk.php index a9568545..ede0f341 100644 --- a/Sources/vendor/sebastian/diff/src/Chunk.php +++ b/Sources/vendor/sebastian/diff/src/Chunk.php @@ -75,48 +75,6 @@ final class Chunk implements IteratorAggregate $this->lines = $lines; } - /** - * @deprecated Use start() instead - */ - public function getStart(): int - { - return $this->start; - } - - /** - * @deprecated Use startRange() instead - */ - public function getStartRange(): int - { - return $this->startRange; - } - - /** - * @deprecated Use end() instead - */ - public function getEnd(): int - { - return $this->end; - } - - /** - * @deprecated Use endRange() instead - */ - public function getEndRange(): int - { - return $this->endRange; - } - - /** - * @psalm-return list - * - * @deprecated Use lines() instead - */ - public function getLines(): array - { - return $this->lines; - } - public function getIterator(): Traversable { return new ArrayIterator($this->lines); diff --git a/Sources/vendor/sebastian/diff/src/Diff.php b/Sources/vendor/sebastian/diff/src/Diff.php index 5dc8dd08..a6e8cded 100644 --- a/Sources/vendor/sebastian/diff/src/Diff.php +++ b/Sources/vendor/sebastian/diff/src/Diff.php @@ -77,36 +77,6 @@ final class Diff implements IteratorAggregate $this->chunks = $chunks; } - /** - * @psalm-return non-empty-string - * - * @deprecated - */ - public function getFrom(): string - { - return $this->from; - } - - /** - * @psalm-return non-empty-string - * - * @deprecated - */ - public function getTo(): string - { - return $this->to; - } - - /** - * @psalm-return list - * - * @deprecated - */ - public function getChunks(): array - { - return $this->chunks; - } - public function getIterator(): Traversable { return new ArrayIterator($this->chunks); diff --git a/Sources/vendor/sebastian/diff/src/Differ.php b/Sources/vendor/sebastian/diff/src/Differ.php index 19ccf97c..801fe02a 100644 --- a/Sources/vendor/sebastian/diff/src/Differ.php +++ b/Sources/vendor/sebastian/diff/src/Differ.php @@ -42,14 +42,14 @@ final class Differ $this->outputBuilder = $outputBuilder; } - public function diff(array|string $from, array|string $to, LongestCommonSubsequenceCalculator $lcs = null): string + public function diff(array|string $from, array|string $to, ?LongestCommonSubsequenceCalculator $lcs = null): string { $diff = $this->diffToArray($from, $to, $lcs); return $this->outputBuilder->getDiff($diff); } - public function diffToArray(array|string $from, array|string $to, LongestCommonSubsequenceCalculator $lcs = null): array + public function diffToArray(array|string $from, array|string $to, ?LongestCommonSubsequenceCalculator $lcs = null): array { if (is_string($from)) { $from = $this->splitStringByLines($from); diff --git a/Sources/vendor/sebastian/diff/src/Exception/ConfigurationException.php b/Sources/vendor/sebastian/diff/src/Exception/ConfigurationException.php index 85f066c2..b2abf0cb 100644 --- a/Sources/vendor/sebastian/diff/src/Exception/ConfigurationException.php +++ b/Sources/vendor/sebastian/diff/src/Exception/ConfigurationException.php @@ -21,17 +21,17 @@ final class ConfigurationException extends InvalidArgumentException string $expected, $value, int $code = 0, - Exception $previous = null + ?Exception $previous = null ) { parent::__construct( sprintf( 'Option "%s" must be %s, got "%s".', $option, $expected, - is_object($value) ? $value::class : (null === $value ? '' : gettype($value) . '#' . $value) + is_object($value) ? $value::class : (null === $value ? '' : gettype($value) . '#' . $value), ), $code, - $previous + $previous, ); } } diff --git a/Sources/vendor/sebastian/diff/src/Line.php b/Sources/vendor/sebastian/diff/src/Line.php index 4e708abb..be544f05 100644 --- a/Sources/vendor/sebastian/diff/src/Line.php +++ b/Sources/vendor/sebastian/diff/src/Line.php @@ -47,20 +47,4 @@ final class Line { return $this->type === self::UNCHANGED; } - - /** - * @deprecated - */ - public function getContent(): string - { - return $this->content; - } - - /** - * @deprecated - */ - public function getType(): int - { - return $this->type; - } } diff --git a/Sources/vendor/sebastian/diff/src/MemoryEfficientLongestCommonSubsequenceCalculator.php b/Sources/vendor/sebastian/diff/src/MemoryEfficientLongestCommonSubsequenceCalculator.php index a46de07d..b9846c37 100644 --- a/Sources/vendor/sebastian/diff/src/MemoryEfficientLongestCommonSubsequenceCalculator.php +++ b/Sources/vendor/sebastian/diff/src/MemoryEfficientLongestCommonSubsequenceCalculator.php @@ -61,7 +61,7 @@ final class MemoryEfficientLongestCommonSubsequenceCalculator implements Longest return array_merge( $this->calculate($fromStart, $toStart), - $this->calculate($fromEnd, $toEnd) + $this->calculate($fromEnd, $toEnd), ); } @@ -78,7 +78,11 @@ final class MemoryEfficientLongestCommonSubsequenceCalculator implements Longest if ($from[$i] === $to[$j]) { $current[$j + 1] = $prev[$j] + 1; } else { - // don't use max() to avoid function call overhead + /** + * @noinspection PhpConditionCanBeReplacedWithMinMaxCallInspection + * + * We do not use max() here to avoid the function call overhead + */ if ($current[$j] > $prev[$j + 1]) { $current[$j + 1] = $current[$j]; } else { diff --git a/Sources/vendor/sebastian/diff/src/Output/StrictUnifiedDiffOutputBuilder.php b/Sources/vendor/sebastian/diff/src/Output/StrictUnifiedDiffOutputBuilder.php index 3eb7428d..a2a73b67 100644 --- a/Sources/vendor/sebastian/diff/src/Output/StrictUnifiedDiffOutputBuilder.php +++ b/Sources/vendor/sebastian/diff/src/Output/StrictUnifiedDiffOutputBuilder.php @@ -82,7 +82,7 @@ final class StrictUnifiedDiffOutputBuilder implements DiffOutputBuilderInterface $options['fromFile'], null === $options['fromFileDate'] ? '' : "\t" . $options['fromFileDate'], $options['toFile'], - null === $options['toFileDate'] ? '' : "\t" . $options['toFileDate'] + null === $options['toFileDate'] ? '' : "\t" . $options['toFileDate'], ); $this->collapseRanges = $options['collapseRanges']; @@ -201,11 +201,11 @@ final class StrictUnifiedDiffOutputBuilder implements DiffOutputBuilderInterface $fromRange - $cutOff + $contextStartOffset + $this->contextLines, $toStart - $contextStartOffset, $toRange - $cutOff + $contextStartOffset + $this->contextLines, - $output + $output, ); $fromStart += $fromRange; - $toStart += $toRange; + $toStart += $toRange; $hunkCapture = false; $sameCount = $toRange = $fromRange = 0; @@ -251,7 +251,7 @@ final class StrictUnifiedDiffOutputBuilder implements DiffOutputBuilderInterface $contextEndOffset = min($sameCount, $this->contextLines); $fromRange -= $sameCount; - $toRange -= $sameCount; + $toRange -= $sameCount; $this->writeHunk( $diff, @@ -261,7 +261,7 @@ final class StrictUnifiedDiffOutputBuilder implements DiffOutputBuilderInterface $fromRange + $contextStartOffset + $contextEndOffset, $toStart - $contextStartOffset, $toRange + $contextStartOffset + $contextEndOffset, - $output + $output, ); } @@ -302,11 +302,11 @@ final class StrictUnifiedDiffOutputBuilder implements DiffOutputBuilderInterface $this->changed = true; fwrite($output, $diff[$i][0]); } - //} elseif ($diff[$i][1] === Differ::DIFF_LINE_END_WARNING) { // custom comment inserted by PHPUnit/diff package + // } elseif ($diff[$i][1] === Differ::DIFF_LINE_END_WARNING) { // custom comment inserted by PHPUnit/diff package // skip - //} else { + // } else { // unknown/invalid - //} + // } } } diff --git a/Sources/vendor/sebastian/diff/src/Output/UnifiedDiffOutputBuilder.php b/Sources/vendor/sebastian/diff/src/Output/UnifiedDiffOutputBuilder.php index 1483b3af..683ab1b6 100644 --- a/Sources/vendor/sebastian/diff/src/Output/UnifiedDiffOutputBuilder.php +++ b/Sources/vendor/sebastian/diff/src/Output/UnifiedDiffOutputBuilder.php @@ -18,7 +18,6 @@ use function max; use function min; use function str_ends_with; use function stream_get_contents; -use function strlen; use function substr; use SebastianBergmann\Diff\Differ; @@ -67,7 +66,7 @@ final class UnifiedDiffOutputBuilder extends AbstractChunkOutputBuilder // This might happen when both the `from` and `to` do not have a trailing linebreak $last = substr($diff, -1); - return 0 !== strlen($diff) && "\n" !== $last && "\r" !== $last + return '' !== $diff && "\n" !== $last && "\r" !== $last ? $diff . "\n" : $diff; } @@ -151,11 +150,11 @@ final class UnifiedDiffOutputBuilder extends AbstractChunkOutputBuilder $fromRange - $cutOff + $contextStartOffset + $this->contextLines, $toStart - $contextStartOffset, $toRange - $cutOff + $contextStartOffset + $this->contextLines, - $output + $output, ); $fromStart += $fromRange; - $toStart += $toRange; + $toStart += $toRange; $hunkCapture = false; $sameCount = $toRange = $fromRange = 0; @@ -199,7 +198,7 @@ final class UnifiedDiffOutputBuilder extends AbstractChunkOutputBuilder $contextEndOffset = min($sameCount, $this->contextLines); $fromRange -= $sameCount; - $toRange -= $sameCount; + $toRange -= $sameCount; $this->writeHunk( $diff, @@ -209,7 +208,7 @@ final class UnifiedDiffOutputBuilder extends AbstractChunkOutputBuilder $fromRange + $contextStartOffset + $contextEndOffset, $toStart - $contextStartOffset, $toRange + $contextStartOffset + $contextEndOffset, - $output + $output, ); } diff --git a/Sources/vendor/sebastian/diff/src/Parser.php b/Sources/vendor/sebastian/diff/src/Parser.php index 6232c957..9293fc91 100644 --- a/Sources/vendor/sebastian/diff/src/Parser.php +++ b/Sources/vendor/sebastian/diff/src/Parser.php @@ -83,7 +83,7 @@ final class Parser (int) $match['start'], isset($match['startrange']) ? max(0, (int) $match['startrange']) : 1, (int) $match['end'], - isset($match['endrange']) ? max(0, (int) $match['endrange']) : 1 + isset($match['endrange']) ? max(0, (int) $match['endrange']) : 1, ); $chunks[] = $chunk; diff --git a/Sources/vendor/sebastian/environment/ChangeLog.md b/Sources/vendor/sebastian/environment/ChangeLog.md index 1e4a35ff..a4875441 100644 --- a/Sources/vendor/sebastian/environment/ChangeLog.md +++ b/Sources/vendor/sebastian/environment/ChangeLog.md @@ -2,6 +2,24 @@ All notable changes in `sebastianbergmann/environment` are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. +## [7.1.0] - 2024-03-23 + +### Added + +* [#72](https://github.com/sebastianbergmann/environment/pull/72): `Runtime::getRawBinary()` + +## [7.0.0] - 2024-02-02 + +### Removed + +* This component is no longer supported on PHP 8.1 + +## [6.1.0] - 2024-03-23 + +### Added + +* [#72](https://github.com/sebastianbergmann/environment/pull/72): `Runtime::getRawBinary()` + ## [6.0.1] - 2023-04-11 ### Fixed @@ -172,6 +190,9 @@ All notable changes in `sebastianbergmann/environment` are documented in this fi * This component is no longer supported on PHP 5.6 +[7.1.0]: https://github.com/sebastianbergmann/environment/compare/7.0.0...7.1.0 +[7.0.0]: https://github.com/sebastianbergmann/environment/compare/6.1...7.0.0 +[6.1.0]: https://github.com/sebastianbergmann/environment/compare/6.0.1...6.1.0 [6.0.1]: https://github.com/sebastianbergmann/environment/compare/6.0.0...6.0.1 [6.0.0]: https://github.com/sebastianbergmann/environment/compare/5.1.5...6.0.0 [5.1.5]: https://github.com/sebastianbergmann/environment/compare/5.1.4...5.1.5 diff --git a/Sources/vendor/sebastian/environment/LICENSE b/Sources/vendor/sebastian/environment/LICENSE index 2acd6c8d..aecdbc7e 100644 --- a/Sources/vendor/sebastian/environment/LICENSE +++ b/Sources/vendor/sebastian/environment/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2014-2023, Sebastian Bergmann +Copyright (c) 2014-2024, Sebastian Bergmann All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Sources/vendor/sebastian/environment/composer.json b/Sources/vendor/sebastian/environment/composer.json index 04595820..f7280d65 100644 --- a/Sources/vendor/sebastian/environment/composer.json +++ b/Sources/vendor/sebastian/environment/composer.json @@ -16,17 +16,17 @@ }, "config": { "platform": { - "php": "8.1.0" + "php": "8.2.0" }, "optimize-autoloader": true, "sort-packages": true }, "prefer-stable": true, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "suggest": { "ext-posix": "*" @@ -38,7 +38,7 @@ }, "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.1-dev" } } } diff --git a/Sources/vendor/sebastian/environment/src/Console.php b/Sources/vendor/sebastian/environment/src/Console.php index 180eb60b..4f5943c7 100644 --- a/Sources/vendor/sebastian/environment/src/Console.php +++ b/Sources/vendor/sebastian/environment/src/Console.php @@ -97,7 +97,7 @@ final class Console /** * Returns if the file descriptor is an interactive terminal or not. * - * Normally, we want to use a resource as a parameter, yet sadly it's not always awailable, + * Normally, we want to use a resource as a parameter, yet sadly it's not always available, * eg when running code in interactive console (`php -a`), STDIN/STDOUT/STDERR constants are not defined. * * @param int|resource $fileDescriptor @@ -112,7 +112,7 @@ final class Console if (function_exists('fstat')) { $stat = @fstat(STDOUT); - return $stat && 0020000 === ($stat['mode'] & 0170000); + return $stat && 0o020000 === ($stat['mode'] & 0o170000); } return false; @@ -166,7 +166,7 @@ final class Console $pipes, null, null, - ['suppress_errors' => true] + ['suppress_errors' => true], ); if (is_resource($process)) { diff --git a/Sources/vendor/sebastian/environment/src/Runtime.php b/Sources/vendor/sebastian/environment/src/Runtime.php index 9fd62d0a..f9ec057e 100644 --- a/Sources/vendor/sebastian/environment/src/Runtime.php +++ b/Sources/vendor/sebastian/environment/src/Runtime.php @@ -30,7 +30,7 @@ use function strrpos; final class Runtime { - private static string $binary; + private static string $rawBinary; private static bool $initialized = false; /** @@ -91,19 +91,19 @@ final class Runtime } /** - * Returns the path to the binary of the current runtime. + * Returns the raw path to the binary of the current runtime. */ - public function getBinary(): string + public function getRawBinary(): string { if (self::$initialized) { - return self::$binary; + return self::$rawBinary; } if (PHP_BINARY !== '') { - self::$binary = escapeshellarg(PHP_BINARY); + self::$rawBinary = PHP_BINARY; self::$initialized = true; - return self::$binary; + return self::$rawBinary; } // @codeCoverageIgnoreStart @@ -115,19 +115,26 @@ final class Runtime foreach ($possibleBinaryLocations as $binary) { if (is_readable($binary)) { - self::$binary = escapeshellarg($binary); + self::$rawBinary = $binary; self::$initialized = true; - return self::$binary; + return self::$rawBinary; } } - // @codeCoverageIgnoreStart - self::$binary = 'php'; + self::$rawBinary = 'php'; self::$initialized = true; + + return self::$rawBinary; // @codeCoverageIgnoreEnd + } - return self::$binary; + /** + * Returns the escaped path to the binary of the current runtime. + */ + public function getBinary(): string + { + return escapeshellarg($this->getRawBinary()); } public function getNameWithVersion(): string @@ -141,7 +148,7 @@ final class Runtime return sprintf( '%s with PCOV %s', $this->getNameWithVersion(), - phpversion('pcov') + phpversion('pcov'), ); } @@ -149,7 +156,7 @@ final class Runtime return sprintf( '%s with Xdebug %s', $this->getNameWithVersion(), - phpversion('xdebug') + phpversion('xdebug'), ); } @@ -244,8 +251,8 @@ final class Runtime $files, array_map( 'trim', - explode(",\n", $scanned) - ) + explode(",\n", $scanned), + ), ); } diff --git a/Sources/vendor/sebastian/exporter/ChangeLog.md b/Sources/vendor/sebastian/exporter/ChangeLog.md index 39f3a541..0e36ebf1 100644 --- a/Sources/vendor/sebastian/exporter/ChangeLog.md +++ b/Sources/vendor/sebastian/exporter/ChangeLog.md @@ -2,6 +2,18 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](https://keepachangelog.com/) principles. +## [6.0.1] - 2024-03-02 + +### Changed + +* Do not use implicitly nullable parameters + +## [6.0.0] - 2024-02-02 + +### Removed + +* This component is no longer supported on PHP 8.1 + ## [5.1.1] - 2023-09-24 ### Changed @@ -94,6 +106,8 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](htt * Remove HHVM-specific code that is no longer needed +[6.0.1]: https://github.com/sebastianbergmann/exporter/compare/6.0.0...6.0.1 +[6.0.0]: https://github.com/sebastianbergmann/exporter/compare/5.1...6.0.0 [5.1.1]: https://github.com/sebastianbergmann/exporter/compare/5.1.0...5.1.1 [5.1.0]: https://github.com/sebastianbergmann/exporter/compare/5.0.1...5.1.0 [5.0.1]: https://github.com/sebastianbergmann/exporter/compare/5.0.0...5.0.1 diff --git a/Sources/vendor/sebastian/exporter/LICENSE b/Sources/vendor/sebastian/exporter/LICENSE index a453252d..5b4705a4 100644 --- a/Sources/vendor/sebastian/exporter/LICENSE +++ b/Sources/vendor/sebastian/exporter/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2002-2023, Sebastian Bergmann +Copyright (c) 2002-2024, Sebastian Bergmann All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Sources/vendor/sebastian/exporter/composer.json b/Sources/vendor/sebastian/exporter/composer.json index 292dba34..fcb0726d 100644 --- a/Sources/vendor/sebastian/exporter/composer.json +++ b/Sources/vendor/sebastian/exporter/composer.json @@ -32,19 +32,19 @@ }, "config": { "platform": { - "php": "8.1.0" + "php": "8.2.0" }, "optimize-autoloader": true, "sort-packages": true }, "prefer-stable": true, "require": { - "php": ">=8.1", + "php": ">=8.2", "ext-mbstring": "*", - "sebastian/recursion-context": "^5.0" + "sebastian/recursion-context": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "autoload": { "classmap": [ @@ -58,7 +58,7 @@ }, "extra": { "branch-alias": { - "dev-main": "5.1-dev" + "dev-main": "6.0-dev" } } } diff --git a/Sources/vendor/sebastian/exporter/src/Exporter.php b/Sources/vendor/sebastian/exporter/src/Exporter.php index 6bc19e0a..05770759 100644 --- a/Sources/vendor/sebastian/exporter/src/Exporter.php +++ b/Sources/vendor/sebastian/exporter/src/Exporter.php @@ -54,7 +54,7 @@ final class Exporter return $this->recursiveExport($value, $indentation); } - public function shortenedRecursiveExport(array &$data, Context $context = null): string + public function shortenedRecursiveExport(array &$data, ?Context $context = null): string { $result = []; $exporter = new self; diff --git a/Sources/vendor/sebastian/global-state/ChangeLog.md b/Sources/vendor/sebastian/global-state/ChangeLog.md index e71b7876..619ec8f7 100644 --- a/Sources/vendor/sebastian/global-state/ChangeLog.md +++ b/Sources/vendor/sebastian/global-state/ChangeLog.md @@ -2,6 +2,18 @@ All notable changes in `sebastian/global-state` are documented in this file using the [Keep a CHANGELOG](https://keepachangelog.com/) principles. +## [7.0.1] - 2024-03-02 + +### Changed + +* Do not use implicitly nullable parameters + +## [7.0.0] - 2024-02-02 + +### Removed + +* This component is no longer supported on PHP 8.1 + ## [6.0.1] - 2023-07-19 ### Changed @@ -86,6 +98,8 @@ All notable changes in `sebastian/global-state` are documented in this file usin * This component is no longer supported on PHP 7.0 and PHP 7.1 +[7.0.1]: https://github.com/sebastianbergmann/global-state/compare/7.0.0...7.0.1 +[7.0.0]: https://github.com/sebastianbergmann/global-state/compare/6.0...7.0.0 [6.0.1]: https://github.com/sebastianbergmann/global-state/compare/6.0.0...6.0.1 [6.0.0]: https://github.com/sebastianbergmann/global-state/compare/5.0.5...6.0.0 [5.0.5]: https://github.com/sebastianbergmann/global-state/compare/5.0.4...5.0.5 diff --git a/Sources/vendor/sebastian/global-state/LICENSE b/Sources/vendor/sebastian/global-state/LICENSE index 73e95512..bdb57ec6 100644 --- a/Sources/vendor/sebastian/global-state/LICENSE +++ b/Sources/vendor/sebastian/global-state/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2001-2023, Sebastian Bergmann +Copyright (c) 2001-2024, Sebastian Bergmann All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Sources/vendor/sebastian/global-state/composer.json b/Sources/vendor/sebastian/global-state/composer.json index 78f6eb7a..95fb1f07 100644 --- a/Sources/vendor/sebastian/global-state/composer.json +++ b/Sources/vendor/sebastian/global-state/composer.json @@ -2,7 +2,7 @@ "name": "sebastian/global-state", "description": "Snapshotting of global state", "keywords": ["global state"], - "homepage": "http://www.github.com/sebastianbergmann/global-state", + "homepage": "https://www.github.com/sebastianbergmann/global-state", "license": "BSD-3-Clause", "authors": [ { @@ -17,19 +17,19 @@ "prefer-stable": true, "config": { "platform": { - "php": "8.1.0" + "php": "8.2.0" }, "optimize-autoloader": true, "sort-packages": true }, "require": { - "php": ">=8.1", - "sebastian/object-reflector": "^3.0", - "sebastian/recursion-context": "^5.0" + "php": ">=8.2", + "sebastian/object-reflector": "^4.0", + "sebastian/recursion-context": "^6.0" }, "require-dev": { "ext-dom": "*", - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "autoload": { "classmap": [ @@ -46,7 +46,7 @@ }, "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.0-dev" } } } diff --git a/Sources/vendor/sebastian/global-state/src/CodeExporter.php b/Sources/vendor/sebastian/global-state/src/CodeExporter.php index e7c5fd08..6b720811 100644 --- a/Sources/vendor/sebastian/global-state/src/CodeExporter.php +++ b/Sources/vendor/sebastian/global-state/src/CodeExporter.php @@ -27,7 +27,7 @@ final class CodeExporter 'if (!defined(\'%s\')) define(\'%s\', %s);' . "\n", $name, $name, - $this->exportVariable($value) + $this->exportVariable($value), ); } @@ -53,7 +53,7 @@ EOT; $result .= sprintf( '$GLOBALS[%s] = %s;' . PHP_EOL, $this->exportVariable($name), - $this->exportVariable($value) + $this->exportVariable($value), ); } @@ -68,7 +68,7 @@ EOT; $result .= sprintf( '@ini_set(%s, %s);' . "\n", $this->exportVariable($key), - $this->exportVariable($value) + $this->exportVariable($value), ); } diff --git a/Sources/vendor/sebastian/global-state/src/ExcludeList.php b/Sources/vendor/sebastian/global-state/src/ExcludeList.php index a8ceb684..3754e814 100644 --- a/Sources/vendor/sebastian/global-state/src/ExcludeList.php +++ b/Sources/vendor/sebastian/global-state/src/ExcludeList.php @@ -10,7 +10,7 @@ namespace SebastianBergmann\GlobalState; use function in_array; -use function strpos; +use function str_starts_with; use ReflectionClass; final class ExcludeList @@ -71,7 +71,7 @@ final class ExcludeList } foreach ($this->classNamePrefixes as $prefix) { - if (strpos($className, $prefix) === 0) { + if (str_starts_with($className, $prefix)) { return true; } } diff --git a/Sources/vendor/sebastian/global-state/src/Restorer.php b/Sources/vendor/sebastian/global-state/src/Restorer.php index 6eec7593..d84e155e 100644 --- a/Sources/vendor/sebastian/global-state/src/Restorer.php +++ b/Sources/vendor/sebastian/global-state/src/Restorer.php @@ -90,8 +90,8 @@ final class Restorer $keys = array_keys( array_merge( $GLOBALS[$superGlobalArray], - $superGlobalVariables[$superGlobalArray] - ) + $superGlobalVariables[$superGlobalArray], + ), ); foreach ($keys as $key) { diff --git a/Sources/vendor/sebastian/global-state/src/Snapshot.php b/Sources/vendor/sebastian/global-state/src/Snapshot.php index 8ee3fdb8..7e828dd7 100644 --- a/Sources/vendor/sebastian/global-state/src/Snapshot.php +++ b/Sources/vendor/sebastian/global-state/src/Snapshot.php @@ -12,8 +12,6 @@ namespace SebastianBergmann\GlobalState; use function array_keys; use function array_merge; use function array_reverse; -use function assert; -use function func_get_args; use function get_declared_classes; use function get_declared_interfaces; use function get_declared_traits; @@ -36,7 +34,7 @@ use Throwable; /** * A snapshot of global state. */ -class Snapshot +final class Snapshot { private ExcludeList $excludeList; private array $globalVariables = []; @@ -51,7 +49,7 @@ class Snapshot private array $classes = []; private array $traits = []; - public function __construct(ExcludeList $excludeList = null, bool $includeGlobalVariables = true, bool $includeStaticProperties = true, bool $includeConstants = true, bool $includeFunctions = true, bool $includeClasses = true, bool $includeInterfaces = true, bool $includeTraits = true, bool $includeIniSettings = true, bool $includeIncludedFiles = true) + public function __construct(?ExcludeList $excludeList = null, bool $includeGlobalVariables = true, bool $includeStaticProperties = true, bool $includeConstants = true, bool $includeFunctions = true, bool $includeClasses = true, bool $includeInterfaces = true, bool $includeTraits = true, bool $includeIniSettings = true, bool $includeIncludedFiles = true) { $this->excludeList = $excludeList ?: new ExcludeList; @@ -309,16 +307,8 @@ class Snapshot return true; } - private function enumerateObjectsAndResources(mixed $variable): array + private function enumerateObjectsAndResources(mixed $variable, Context $processed = new Context): array { - if (isset(func_get_args()[1])) { - $processed = func_get_args()[1]; - } else { - $processed = new Context; - } - - assert($processed instanceof Context); - $result = []; if ($processed->contains($variable)) { @@ -340,7 +330,7 @@ class Snapshot /** @noinspection SlowArrayOperationsInLoopInspection */ $result = array_merge( $result, - $this->enumerateObjectsAndResources($element, $processed) + $this->enumerateObjectsAndResources($element, $processed), ); } else { $result[] = $element; @@ -358,7 +348,7 @@ class Snapshot /** @noinspection SlowArrayOperationsInLoopInspection */ $result = array_merge( $result, - $this->enumerateObjectsAndResources($value, $processed) + $this->enumerateObjectsAndResources($value, $processed), ); } else { $result[] = $value; diff --git a/Sources/vendor/sebastian/lines-of-code/ChangeLog.md b/Sources/vendor/sebastian/lines-of-code/ChangeLog.md index 27db5805..1ca7383a 100644 --- a/Sources/vendor/sebastian/lines-of-code/ChangeLog.md +++ b/Sources/vendor/sebastian/lines-of-code/ChangeLog.md @@ -2,6 +2,13 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](https://keepachangelog.com/) principles. +## [3.0.0] - 2024-02-02 + +### Removed + +* This component now requires PHP-Parser 5 +* This component is no longer supported on PHP 8.1 + ## [2.0.2] - 2023-12-21 ### Changed @@ -46,6 +53,7 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](htt * Initial release +[3.0.0]: https://github.com/sebastianbergmann/lines-of-code/compare/2.0...3.0.0 [2.0.2]: https://github.com/sebastianbergmann/lines-of-code/compare/2.0.1...2.0.2 [2.0.1]: https://github.com/sebastianbergmann/lines-of-code/compare/2.0.0...2.0.1 [2.0.0]: https://github.com/sebastianbergmann/lines-of-code/compare/1.0.3...2.0.0 diff --git a/Sources/vendor/sebastian/lines-of-code/LICENSE b/Sources/vendor/sebastian/lines-of-code/LICENSE index 5716d965..edaedf61 100644 --- a/Sources/vendor/sebastian/lines-of-code/LICENSE +++ b/Sources/vendor/sebastian/lines-of-code/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2020-2023, Sebastian Bergmann +Copyright (c) 2020-2024, Sebastian Bergmann All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Sources/vendor/sebastian/lines-of-code/composer.json b/Sources/vendor/sebastian/lines-of-code/composer.json index 1f3b7479..46f1243a 100644 --- a/Sources/vendor/sebastian/lines-of-code/composer.json +++ b/Sources/vendor/sebastian/lines-of-code/composer.json @@ -17,15 +17,15 @@ }, "prefer-stable": true, "require": { - "php": ">=8.1", - "nikic/php-parser": "^4.18 || ^5.0" + "php": ">=8.2", + "nikic/php-parser": "^5.0" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "config": { "platform": { - "php": "8.1" + "php": "8.2" }, "optimize-autoloader": true, "sort-packages": true @@ -37,7 +37,7 @@ }, "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } } } diff --git a/Sources/vendor/sebastian/lines-of-code/src/LinesOfCode.php b/Sources/vendor/sebastian/lines-of-code/src/LinesOfCode.php index 729eba52..ac929775 100644 --- a/Sources/vendor/sebastian/lines-of-code/src/LinesOfCode.php +++ b/Sources/vendor/sebastian/lines-of-code/src/LinesOfCode.php @@ -12,27 +12,27 @@ namespace SebastianBergmann\LinesOfCode; /** * @psalm-immutable */ -final class LinesOfCode +final readonly class LinesOfCode { /** * @psalm-var non-negative-int */ - private readonly int $linesOfCode; + private int $linesOfCode; /** * @psalm-var non-negative-int */ - private readonly int $commentLinesOfCode; + private int $commentLinesOfCode; /** * @psalm-var non-negative-int */ - private readonly int $nonCommentLinesOfCode; + private int $nonCommentLinesOfCode; /** * @psalm-var non-negative-int */ - private readonly int $logicalLinesOfCode; + private int $logicalLinesOfCode; /** * @psalm-param non-negative-int $linesOfCode diff --git a/Sources/vendor/sebastian/object-enumerator/ChangeLog.md b/Sources/vendor/sebastian/object-enumerator/ChangeLog.md index c04f46fa..ab6c189b 100644 --- a/Sources/vendor/sebastian/object-enumerator/ChangeLog.md +++ b/Sources/vendor/sebastian/object-enumerator/ChangeLog.md @@ -2,6 +2,12 @@ All notable changes to `sebastianbergmann/object-enumerator` are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. +## [6.0.0] - 2024-02-02 + +### Removed + +* This component is no longer supported on PHP 8.1 + ## [5.0.0] - 2023-02-03 ### Removed @@ -80,6 +86,7 @@ All notable changes to `sebastianbergmann/object-enumerator` are documented in t * Initial release +[6.0.0]: https://github.com/sebastianbergmann/object-enumerator/compare/5.0...6.0.0 [5.0.0]: https://github.com/sebastianbergmann/object-enumerator/compare/4.0.4...5.0.0 [4.0.4]: https://github.com/sebastianbergmann/object-enumerator/compare/4.0.3...4.0.4 [4.0.3]: https://github.com/sebastianbergmann/object-enumerator/compare/4.0.2...4.0.3 diff --git a/Sources/vendor/sebastian/object-enumerator/LICENSE b/Sources/vendor/sebastian/object-enumerator/LICENSE index 16e1ba9a..86c455d7 100644 --- a/Sources/vendor/sebastian/object-enumerator/LICENSE +++ b/Sources/vendor/sebastian/object-enumerator/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2016-2023, Sebastian Bergmann +Copyright (c) 2016-2024, Sebastian Bergmann All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Sources/vendor/sebastian/object-enumerator/SECURITY.md b/Sources/vendor/sebastian/object-enumerator/SECURITY.md index d4ee967b..d88ff001 100644 --- a/Sources/vendor/sebastian/object-enumerator/SECURITY.md +++ b/Sources/vendor/sebastian/object-enumerator/SECURITY.md @@ -1,9 +1,30 @@ # Security Policy -This library is intended to be used in development environments only. For instance, it is used by the testing framework PHPUnit. There is no reason why this library should be installed on a webserver. +If you believe you have found a security vulnerability in the library that is developed in this repository, please report it to us through coordinated disclosure. -**If you upload this library to a webserver then your deployment process is broken. On a more general note, if your `vendor` directory is publicly accessible on your webserver then your deployment process is also broken.** +**Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests.** -## Security Contact Information +Instead, please email `sebastian@phpunit.de`. + +Please include as much of the information listed below as you can to help us better understand and resolve the issue: + +* The type of issue +* Full paths of source file(s) related to the manifestation of the issue +* The location of the affected source code (tag/branch/commit or direct URL) +* Any special configuration required to reproduce the issue +* Step-by-step instructions to reproduce the issue +* Proof-of-concept or exploit code (if possible) +* Impact of the issue, including how an attacker might exploit the issue + +This information will help us triage your report more quickly. + +## Web Context + +The library that is developed in this repository was either extracted from [PHPUnit](https://github.com/sebastianbergmann/phpunit) or developed specifically as a dependency for PHPUnit. + +The library is developed with a focus on development environments and the command-line. No specific testing or hardening with regard to using the library in an HTTP or web context or with untrusted input data is performed. The library might also contain functionality that intentionally exposes internal application data for debugging purposes. + +If the library is used in a web application, the application developer is responsible for filtering inputs or escaping outputs as necessary and for verifying that the used functionality is safe for use within the intended context. + +Vulnerabilities specific to the use outside a development context will be fixed as applicable, provided that the fix does not have an averse effect on the primary use case for development purposes. -After the above, if you still would like to report a security vulnerability, please email `sebastian@phpunit.de`. diff --git a/Sources/vendor/sebastian/object-enumerator/composer.json b/Sources/vendor/sebastian/object-enumerator/composer.json index 1d1a7149..333d7441 100644 --- a/Sources/vendor/sebastian/object-enumerator/composer.json +++ b/Sources/vendor/sebastian/object-enumerator/composer.json @@ -9,21 +9,25 @@ "email": "sebastian@phpunit.de" } ], + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy" + }, "prefer-stable": true, "config": { "platform": { - "php": "8.1.0" + "php": "8.2.0" }, "optimize-autoloader": true, "sort-packages": true }, "require": { - "php": ">=8.1", - "sebastian/object-reflector": "^3.0", - "sebastian/recursion-context": "^5.0" + "php": ">=8.2", + "sebastian/object-reflector": "^4.0", + "sebastian/recursion-context": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "autoload": { "classmap": [ @@ -37,7 +41,7 @@ }, "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.0-dev" } } } diff --git a/Sources/vendor/sebastian/object-enumerator/phpunit.xml b/Sources/vendor/sebastian/object-enumerator/phpunit.xml index bf94af03..911e7678 100644 --- a/Sources/vendor/sebastian/object-enumerator/phpunit.xml +++ b/Sources/vendor/sebastian/object-enumerator/phpunit.xml @@ -1,6 +1,6 @@ - + - src + src - + diff --git a/Sources/vendor/sebastian/object-enumerator/src/Enumerator.php b/Sources/vendor/sebastian/object-enumerator/src/Enumerator.php index c0897e54..6bdca56f 100644 --- a/Sources/vendor/sebastian/object-enumerator/src/Enumerator.php +++ b/Sources/vendor/sebastian/object-enumerator/src/Enumerator.php @@ -42,7 +42,7 @@ final class Enumerator /** @noinspection SlowArrayOperationsInLoopInspection */ $objects = array_merge( $objects, - $this->enumerate($element, $processed) + $this->enumerate($element, $processed), ); } @@ -59,7 +59,7 @@ final class Enumerator /** @noinspection SlowArrayOperationsInLoopInspection */ $objects = array_merge( $objects, - $this->enumerate($value, $processed) + $this->enumerate($value, $processed), ); } diff --git a/Sources/vendor/sebastian/object-reflector/ChangeLog.md b/Sources/vendor/sebastian/object-reflector/ChangeLog.md index f6deff8d..f8b90c12 100644 --- a/Sources/vendor/sebastian/object-reflector/ChangeLog.md +++ b/Sources/vendor/sebastian/object-reflector/ChangeLog.md @@ -2,6 +2,12 @@ All notable changes to `sebastianbergmann/object-reflector` are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. +## [4.0.0] - 2024-02-02 + +### Removed + +* This component is no longer supported on PHP 8.1 + ## [3.0.0] - 2023-02-03 ### Changed @@ -56,6 +62,7 @@ All notable changes to `sebastianbergmann/object-reflector` are documented in th * Initial release +[4.0.0]: https://github.com/sebastianbergmann/object-reflector/compare/3.0...4.0.0 [3.0.0]: https://github.com/sebastianbergmann/object-reflector/compare/2.0.4...3.0.0 [2.0.4]: https://github.com/sebastianbergmann/object-reflector/compare/2.0.3...2.0.4 [2.0.3]: https://github.com/sebastianbergmann/object-reflector/compare/2.0.2...2.0.3 diff --git a/Sources/vendor/sebastian/object-reflector/LICENSE b/Sources/vendor/sebastian/object-reflector/LICENSE index 371decf4..d7190886 100644 --- a/Sources/vendor/sebastian/object-reflector/LICENSE +++ b/Sources/vendor/sebastian/object-reflector/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2017-2023, Sebastian Bergmann +Copyright (c) 2017-2024, Sebastian Bergmann All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Sources/vendor/sebastian/object-reflector/SECURITY.md b/Sources/vendor/sebastian/object-reflector/SECURITY.md index d4ee967b..d88ff001 100644 --- a/Sources/vendor/sebastian/object-reflector/SECURITY.md +++ b/Sources/vendor/sebastian/object-reflector/SECURITY.md @@ -1,9 +1,30 @@ # Security Policy -This library is intended to be used in development environments only. For instance, it is used by the testing framework PHPUnit. There is no reason why this library should be installed on a webserver. +If you believe you have found a security vulnerability in the library that is developed in this repository, please report it to us through coordinated disclosure. -**If you upload this library to a webserver then your deployment process is broken. On a more general note, if your `vendor` directory is publicly accessible on your webserver then your deployment process is also broken.** +**Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests.** -## Security Contact Information +Instead, please email `sebastian@phpunit.de`. + +Please include as much of the information listed below as you can to help us better understand and resolve the issue: + +* The type of issue +* Full paths of source file(s) related to the manifestation of the issue +* The location of the affected source code (tag/branch/commit or direct URL) +* Any special configuration required to reproduce the issue +* Step-by-step instructions to reproduce the issue +* Proof-of-concept or exploit code (if possible) +* Impact of the issue, including how an attacker might exploit the issue + +This information will help us triage your report more quickly. + +## Web Context + +The library that is developed in this repository was either extracted from [PHPUnit](https://github.com/sebastianbergmann/phpunit) or developed specifically as a dependency for PHPUnit. + +The library is developed with a focus on development environments and the command-line. No specific testing or hardening with regard to using the library in an HTTP or web context or with untrusted input data is performed. The library might also contain functionality that intentionally exposes internal application data for debugging purposes. + +If the library is used in a web application, the application developer is responsible for filtering inputs or escaping outputs as necessary and for verifying that the used functionality is safe for use within the intended context. + +Vulnerabilities specific to the use outside a development context will be fixed as applicable, provided that the fix does not have an averse effect on the primary use case for development purposes. -After the above, if you still would like to report a security vulnerability, please email `sebastian@phpunit.de`. diff --git a/Sources/vendor/sebastian/object-reflector/composer.json b/Sources/vendor/sebastian/object-reflector/composer.json index c9dcad0f..2f3a06fd 100644 --- a/Sources/vendor/sebastian/object-reflector/composer.json +++ b/Sources/vendor/sebastian/object-reflector/composer.json @@ -9,19 +9,23 @@ "email": "sebastian@phpunit.de" } ], + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "security": "https://github.com/sebastianbergmann/object-reflector/security/policy" + }, "prefer-stable": true, "config": { "platform": { - "php": "8.1.0" + "php": "8.2.0" }, "optimize-autoloader": true, "sort-packages": true }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "autoload": { "classmap": [ @@ -35,7 +39,7 @@ }, "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } } } diff --git a/Sources/vendor/sebastian/recursion-context/ChangeLog.md b/Sources/vendor/sebastian/recursion-context/ChangeLog.md index 836de86c..76cae5bf 100644 --- a/Sources/vendor/sebastian/recursion-context/ChangeLog.md +++ b/Sources/vendor/sebastian/recursion-context/ChangeLog.md @@ -2,6 +2,12 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](https://keepachangelog.com/) principles. +## [6.0.0] - 2024-02-02 + +### Removed + +* This component is no longer supported on PHP 8.1 + ## [5.0.0] - 2023-02-03 ### Removed @@ -39,6 +45,7 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](htt * Tests etc. are now ignored for archive exports +[6.0.0]: https://github.com/sebastianbergmann/recursion-context/compare/5.0...6.0.0 [5.0.0]: https://github.com/sebastianbergmann/recursion-context/compare/4.0.5...5.0.0 [4.0.5]: https://github.com/sebastianbergmann/recursion-context/compare/4.0.4...4.0.5 [4.0.4]: https://github.com/sebastianbergmann/recursion-context/compare/4.0.3...4.0.4 diff --git a/Sources/vendor/sebastian/recursion-context/LICENSE b/Sources/vendor/sebastian/recursion-context/LICENSE index a453252d..5b4705a4 100644 --- a/Sources/vendor/sebastian/recursion-context/LICENSE +++ b/Sources/vendor/sebastian/recursion-context/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2002-2023, Sebastian Bergmann +Copyright (c) 2002-2024, Sebastian Bergmann All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Sources/vendor/sebastian/recursion-context/SECURITY.md b/Sources/vendor/sebastian/recursion-context/SECURITY.md index d4ee967b..d88ff001 100644 --- a/Sources/vendor/sebastian/recursion-context/SECURITY.md +++ b/Sources/vendor/sebastian/recursion-context/SECURITY.md @@ -1,9 +1,30 @@ # Security Policy -This library is intended to be used in development environments only. For instance, it is used by the testing framework PHPUnit. There is no reason why this library should be installed on a webserver. +If you believe you have found a security vulnerability in the library that is developed in this repository, please report it to us through coordinated disclosure. -**If you upload this library to a webserver then your deployment process is broken. On a more general note, if your `vendor` directory is publicly accessible on your webserver then your deployment process is also broken.** +**Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests.** -## Security Contact Information +Instead, please email `sebastian@phpunit.de`. + +Please include as much of the information listed below as you can to help us better understand and resolve the issue: + +* The type of issue +* Full paths of source file(s) related to the manifestation of the issue +* The location of the affected source code (tag/branch/commit or direct URL) +* Any special configuration required to reproduce the issue +* Step-by-step instructions to reproduce the issue +* Proof-of-concept or exploit code (if possible) +* Impact of the issue, including how an attacker might exploit the issue + +This information will help us triage your report more quickly. + +## Web Context + +The library that is developed in this repository was either extracted from [PHPUnit](https://github.com/sebastianbergmann/phpunit) or developed specifically as a dependency for PHPUnit. + +The library is developed with a focus on development environments and the command-line. No specific testing or hardening with regard to using the library in an HTTP or web context or with untrusted input data is performed. The library might also contain functionality that intentionally exposes internal application data for debugging purposes. + +If the library is used in a web application, the application developer is responsible for filtering inputs or escaping outputs as necessary and for verifying that the used functionality is safe for use within the intended context. + +Vulnerabilities specific to the use outside a development context will be fixed as applicable, provided that the fix does not have an averse effect on the primary use case for development purposes. -After the above, if you still would like to report a security vulnerability, please email `sebastian@phpunit.de`. diff --git a/Sources/vendor/sebastian/recursion-context/composer.json b/Sources/vendor/sebastian/recursion-context/composer.json index 3a00b680..94e5be7c 100644 --- a/Sources/vendor/sebastian/recursion-context/composer.json +++ b/Sources/vendor/sebastian/recursion-context/composer.json @@ -17,19 +17,23 @@ "email": "aharvey@php.net" } ], + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "security": "https://github.com/sebastianbergmann/recursion-context/security/policy" + }, "prefer-stable": true, "config": { "platform": { - "php": "8.1.0" + "php": "8.2.0" }, "optimize-autoloader": true, "sort-packages": true }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "autoload": { "classmap": [ @@ -38,7 +42,7 @@ }, "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.0-dev" } } } diff --git a/Sources/vendor/sebastian/recursion-context/src/Context.php b/Sources/vendor/sebastian/recursion-context/src/Context.php index e900e21d..bbb253ba 100644 --- a/Sources/vendor/sebastian/recursion-context/src/Context.php +++ b/Sources/vendor/sebastian/recursion-context/src/Context.php @@ -50,7 +50,7 @@ final class Context * * @param-out T $value */ - public function add(object|array &$value): int|string|false + public function add(array|object &$value): false|int|string { if (is_array($value)) { return $this->addArray($value); @@ -66,7 +66,7 @@ final class Context * * @param-out T $value */ - public function contains(object|array &$value): int|string|false + public function contains(array|object &$value): false|int|string { if (is_array($value)) { return $this->containsArray($value); @@ -123,14 +123,14 @@ final class Context return spl_object_hash($object); } - private function containsArray(array $array): int|false + private function containsArray(array $array): false|int { $end = array_slice($array, -2); return isset($end[1]) && $end[1] === $this->objects ? $end[0] : false; } - private function containsObject(object $value): string|false + private function containsObject(object $value): false|string { if ($this->objects->contains($value)) { return spl_object_hash($value); diff --git a/Sources/vendor/sebastian/type/ChangeLog.md b/Sources/vendor/sebastian/type/ChangeLog.md index 6c66140f..f61abb62 100644 --- a/Sources/vendor/sebastian/type/ChangeLog.md +++ b/Sources/vendor/sebastian/type/ChangeLog.md @@ -2,6 +2,12 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. +## [5.0.0] - 2024-02-02 + +### Removed + +* This component is no longer supported on PHP 8.1 + ## [4.0.0] - 2023-02-03 ### Removed @@ -153,6 +159,7 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](htt * Initial release based on [code contributed by Michel Hartmann to PHPUnit](https://github.com/sebastianbergmann/phpunit/pull/3673) +[5.0.0]: https://github.com/sebastianbergmann/type/compare/4.0...5.0.0 [4.0.0]: https://github.com/sebastianbergmann/type/compare/3.2.1...4.0.0 [3.2.1]: https://github.com/sebastianbergmann/type/compare/3.2.0...3.2.1 [3.2.0]: https://github.com/sebastianbergmann/type/compare/3.1.0...3.2.0 diff --git a/Sources/vendor/sebastian/type/LICENSE b/Sources/vendor/sebastian/type/LICENSE index 5b4bf454..10da8058 100644 --- a/Sources/vendor/sebastian/type/LICENSE +++ b/Sources/vendor/sebastian/type/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2019-2023, Sebastian Bergmann +Copyright (c) 2019-2024, Sebastian Bergmann All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Sources/vendor/sebastian/type/SECURITY.md b/Sources/vendor/sebastian/type/SECURITY.md index d4ee967b..d88ff001 100644 --- a/Sources/vendor/sebastian/type/SECURITY.md +++ b/Sources/vendor/sebastian/type/SECURITY.md @@ -1,9 +1,30 @@ # Security Policy -This library is intended to be used in development environments only. For instance, it is used by the testing framework PHPUnit. There is no reason why this library should be installed on a webserver. +If you believe you have found a security vulnerability in the library that is developed in this repository, please report it to us through coordinated disclosure. -**If you upload this library to a webserver then your deployment process is broken. On a more general note, if your `vendor` directory is publicly accessible on your webserver then your deployment process is also broken.** +**Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests.** -## Security Contact Information +Instead, please email `sebastian@phpunit.de`. + +Please include as much of the information listed below as you can to help us better understand and resolve the issue: + +* The type of issue +* Full paths of source file(s) related to the manifestation of the issue +* The location of the affected source code (tag/branch/commit or direct URL) +* Any special configuration required to reproduce the issue +* Step-by-step instructions to reproduce the issue +* Proof-of-concept or exploit code (if possible) +* Impact of the issue, including how an attacker might exploit the issue + +This information will help us triage your report more quickly. + +## Web Context + +The library that is developed in this repository was either extracted from [PHPUnit](https://github.com/sebastianbergmann/phpunit) or developed specifically as a dependency for PHPUnit. + +The library is developed with a focus on development environments and the command-line. No specific testing or hardening with regard to using the library in an HTTP or web context or with untrusted input data is performed. The library might also contain functionality that intentionally exposes internal application data for debugging purposes. + +If the library is used in a web application, the application developer is responsible for filtering inputs or escaping outputs as necessary and for verifying that the used functionality is safe for use within the intended context. + +Vulnerabilities specific to the use outside a development context will be fixed as applicable, provided that the fix does not have an averse effect on the primary use case for development purposes. -After the above, if you still would like to report a security vulnerability, please email `sebastian@phpunit.de`. diff --git a/Sources/vendor/sebastian/type/composer.json b/Sources/vendor/sebastian/type/composer.json index faf8a0e8..39b82cdd 100644 --- a/Sources/vendor/sebastian/type/composer.json +++ b/Sources/vendor/sebastian/type/composer.json @@ -12,18 +12,19 @@ } ], "support": { - "issues": "https://github.com/sebastianbergmann/type/issues" + "issues": "https://github.com/sebastianbergmann/type/issues", + "security": "https://github.com/sebastianbergmann/type/security/policy" }, "prefer-stable": true, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "config": { "platform": { - "php": "8.1.0" + "php": "8.2.0" }, "optimize-autoloader": true, "sort-packages": true @@ -44,7 +45,7 @@ }, "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } } } diff --git a/Sources/vendor/sebastian/type/src/Parameter.php b/Sources/vendor/sebastian/type/src/Parameter.php index b8cd8b11..310e3299 100644 --- a/Sources/vendor/sebastian/type/src/Parameter.php +++ b/Sources/vendor/sebastian/type/src/Parameter.php @@ -9,7 +9,7 @@ */ namespace SebastianBergmann\Type; -final class Parameter +final readonly class Parameter { /** * @psalm-var non-empty-string @@ -26,6 +26,9 @@ final class Parameter $this->type = $type; } + /** + * @psalm-return non-empty-string + */ public function name(): string { return $this->name; diff --git a/Sources/vendor/sebastian/type/src/ReflectionMapper.php b/Sources/vendor/sebastian/type/src/ReflectionMapper.php index a39d619d..db6a18bd 100644 --- a/Sources/vendor/sebastian/type/src/ReflectionMapper.php +++ b/Sources/vendor/sebastian/type/src/ReflectionMapper.php @@ -42,7 +42,7 @@ final class ReflectionMapper if ($type instanceof ReflectionNamedType) { $parameters[] = new Parameter( $name, - $this->mapNamedType($type, $functionOrMethod) + $this->mapNamedType($type, $functionOrMethod), ); continue; @@ -51,7 +51,7 @@ final class ReflectionMapper if ($type instanceof ReflectionUnionType) { $parameters[] = new Parameter( $name, - $this->mapUnionType($type, $functionOrMethod) + $this->mapUnionType($type, $functionOrMethod), ); continue; @@ -60,7 +60,7 @@ final class ReflectionMapper if ($type instanceof ReflectionIntersectionType) { $parameters[] = new Parameter( $name, - $this->mapIntersectionType($type, $functionOrMethod) + $this->mapIntersectionType($type, $functionOrMethod), ); } } @@ -96,14 +96,14 @@ final class ReflectionMapper if ($functionOrMethod instanceof ReflectionMethod && $type->getName() === 'self') { return ObjectType::fromName( $functionOrMethod->getDeclaringClass()->getName(), - $type->allowsNull() + $type->allowsNull(), ); } if ($functionOrMethod instanceof ReflectionMethod && $type->getName() === 'static') { return new StaticType( TypeName::fromReflection($functionOrMethod->getDeclaringClass()), - $type->allowsNull() + $type->allowsNull(), ); } @@ -114,13 +114,13 @@ final class ReflectionMapper if ($functionOrMethod instanceof ReflectionMethod && $type->getName() === 'parent') { return ObjectType::fromName( $functionOrMethod->getDeclaringClass()->getParentClass()->getName(), - $type->allowsNull() + $type->allowsNull(), ); } return Type::fromName( $type->getName(), - $type->allowsNull() + $type->allowsNull(), ); } diff --git a/Sources/vendor/sebastian/type/src/TypeName.php b/Sources/vendor/sebastian/type/src/TypeName.php index e63b57cc..74225aa3 100644 --- a/Sources/vendor/sebastian/type/src/TypeName.php +++ b/Sources/vendor/sebastian/type/src/TypeName.php @@ -10,16 +10,24 @@ namespace SebastianBergmann\Type; use function array_pop; +use function assert; use function explode; use function implode; use function substr; use ReflectionClass; -final class TypeName +final readonly class TypeName { private ?string $namespaceName; + + /** + * @psalm-var non-empty-string + */ private string $simpleName; + /** + * @psalm-param class-string $fullClassName + */ public static function fromQualifiedName(string $fullClassName): self { if ($fullClassName[0] === '\\') { @@ -31,6 +39,8 @@ final class TypeName $simpleName = array_pop($classNameParts); $namespaceName = implode('\\', $classNameParts); + assert($simpleName !== ''); + return new self($namespaceName, $simpleName); } @@ -38,10 +48,13 @@ final class TypeName { return new self( $type->getNamespaceName(), - $type->getShortName() + $type->getShortName(), ); } + /** + * @psalm-param non-empty-string $simpleName + */ public function __construct(?string $namespaceName, string $simpleName) { if ($namespaceName === '') { @@ -57,11 +70,17 @@ final class TypeName return $this->namespaceName; } + /** + * @psalm-return non-empty-string + */ public function simpleName(): string { return $this->simpleName; } + /** + * @psalm-return non-empty-string + */ public function qualifiedName(): string { return $this->namespaceName === null diff --git a/Sources/vendor/sebastian/type/src/type/CallableType.php b/Sources/vendor/sebastian/type/src/type/CallableType.php index 0da42a74..8b80c268 100644 --- a/Sources/vendor/sebastian/type/src/type/CallableType.php +++ b/Sources/vendor/sebastian/type/src/type/CallableType.php @@ -68,6 +68,9 @@ final class CallableType extends Type return false; } + /** + * @psalm-return 'callable' + */ public function name(): string { return 'callable'; diff --git a/Sources/vendor/sebastian/type/src/type/FalseType.php b/Sources/vendor/sebastian/type/src/type/FalseType.php index f417fb69..a09a3e64 100644 --- a/Sources/vendor/sebastian/type/src/type/FalseType.php +++ b/Sources/vendor/sebastian/type/src/type/FalseType.php @@ -22,6 +22,9 @@ final class FalseType extends Type $other->value() === false; } + /** + * @psalm-return 'false' + */ public function name(): string { return 'false'; diff --git a/Sources/vendor/sebastian/type/src/type/GenericObjectType.php b/Sources/vendor/sebastian/type/src/type/GenericObjectType.php index 76ab6a9f..19157d2d 100644 --- a/Sources/vendor/sebastian/type/src/type/GenericObjectType.php +++ b/Sources/vendor/sebastian/type/src/type/GenericObjectType.php @@ -31,6 +31,9 @@ final class GenericObjectType extends Type return true; } + /** + * @psalm-return 'object' + */ public function name(): string { return 'object'; diff --git a/Sources/vendor/sebastian/type/src/type/IntersectionType.php b/Sources/vendor/sebastian/type/src/type/IntersectionType.php index 71d5dc28..302ff86a 100644 --- a/Sources/vendor/sebastian/type/src/type/IntersectionType.php +++ b/Sources/vendor/sebastian/type/src/type/IntersectionType.php @@ -39,11 +39,17 @@ final class IntersectionType extends Type return $other->isObject(); } + /** + * @psalm-return non-empty-string + */ public function asString(): string { return $this->name(); } + /** + * @psalm-return non-empty-string + */ public function name(): string { $types = []; @@ -85,7 +91,7 @@ final class IntersectionType extends Type { if (count($types) < 2) { throw new RuntimeException( - 'An intersection type must be composed of at least two types' + 'An intersection type must be composed of at least two types', ); } } @@ -98,7 +104,7 @@ final class IntersectionType extends Type foreach ($types as $type) { if (!$type->isObject()) { throw new RuntimeException( - 'An intersection type can only be composed of interfaces and classes' + 'An intersection type can only be composed of interfaces and classes', ); } } diff --git a/Sources/vendor/sebastian/type/src/type/IterableType.php b/Sources/vendor/sebastian/type/src/type/IterableType.php index d2499532..a2f7ea32 100644 --- a/Sources/vendor/sebastian/type/src/type/IterableType.php +++ b/Sources/vendor/sebastian/type/src/type/IterableType.php @@ -51,6 +51,9 @@ final class IterableType extends Type return false; } + /** + * @psalm-return 'iterable' + */ public function name(): string { return 'iterable'; diff --git a/Sources/vendor/sebastian/type/src/type/MixedType.php b/Sources/vendor/sebastian/type/src/type/MixedType.php index a1412e45..c7a49d60 100644 --- a/Sources/vendor/sebastian/type/src/type/MixedType.php +++ b/Sources/vendor/sebastian/type/src/type/MixedType.php @@ -16,11 +16,17 @@ final class MixedType extends Type return !$other instanceof VoidType; } + /** + * @psalm-return 'mixed' + */ public function asString(): string { return 'mixed'; } + /** + * @psalm-return 'mixed' + */ public function name(): string { return 'mixed'; diff --git a/Sources/vendor/sebastian/type/src/type/NeverType.php b/Sources/vendor/sebastian/type/src/type/NeverType.php index 6c144743..4d50f31f 100644 --- a/Sources/vendor/sebastian/type/src/type/NeverType.php +++ b/Sources/vendor/sebastian/type/src/type/NeverType.php @@ -16,6 +16,9 @@ final class NeverType extends Type return $other instanceof self; } + /** + * @psalm-return 'never' + */ public function name(): string { return 'never'; diff --git a/Sources/vendor/sebastian/type/src/type/NullType.php b/Sources/vendor/sebastian/type/src/type/NullType.php index 93834eab..f6a9556f 100644 --- a/Sources/vendor/sebastian/type/src/type/NullType.php +++ b/Sources/vendor/sebastian/type/src/type/NullType.php @@ -16,11 +16,17 @@ final class NullType extends Type return !($other instanceof VoidType); } + /** + * @psalm-return 'null' + */ public function name(): string { return 'null'; } + /** + * @psalm-return 'null' + */ public function asString(): string { return 'null'; diff --git a/Sources/vendor/sebastian/type/src/type/ObjectType.php b/Sources/vendor/sebastian/type/src/type/ObjectType.php index 717cb923..567df037 100644 --- a/Sources/vendor/sebastian/type/src/type/ObjectType.php +++ b/Sources/vendor/sebastian/type/src/type/ObjectType.php @@ -42,6 +42,9 @@ final class ObjectType extends Type return false; } + /** + * @psalm-return non-empty-string + */ public function name(): string { return $this->className->qualifiedName(); diff --git a/Sources/vendor/sebastian/type/src/type/SimpleType.php b/Sources/vendor/sebastian/type/src/type/SimpleType.php index 4f210a80..a816681e 100644 --- a/Sources/vendor/sebastian/type/src/type/SimpleType.php +++ b/Sources/vendor/sebastian/type/src/type/SimpleType.php @@ -13,10 +13,16 @@ use function strtolower; final class SimpleType extends Type { + /** + * @psalm-var non-empty-string + */ private string $name; private bool $allowsNull; private mixed $value; + /** + * @psalm-param non-empty-string $name + */ public function __construct(string $name, bool $nullable, mixed $value = null) { $this->name = $this->normalize($name); @@ -45,6 +51,9 @@ final class SimpleType extends Type return false; } + /** + * @psalm-return non-empty-string + */ public function name(): string { return $this->name; @@ -68,6 +77,11 @@ final class SimpleType extends Type return true; } + /** + * @psalm-param non-empty-string $name + * + * @psalm-return non-empty-string + */ private function normalize(string $name): string { $name = strtolower($name); diff --git a/Sources/vendor/sebastian/type/src/type/StaticType.php b/Sources/vendor/sebastian/type/src/type/StaticType.php index b53708b2..14ca4e05 100644 --- a/Sources/vendor/sebastian/type/src/type/StaticType.php +++ b/Sources/vendor/sebastian/type/src/type/StaticType.php @@ -44,6 +44,9 @@ final class StaticType extends Type return false; } + /** + * @psalm-return 'static' + */ public function name(): string { return 'static'; diff --git a/Sources/vendor/sebastian/type/src/type/TrueType.php b/Sources/vendor/sebastian/type/src/type/TrueType.php index 94e5be99..16190671 100644 --- a/Sources/vendor/sebastian/type/src/type/TrueType.php +++ b/Sources/vendor/sebastian/type/src/type/TrueType.php @@ -22,6 +22,9 @@ final class TrueType extends Type $other->value() === true; } + /** + * @psalm-return 'true' + */ public function name(): string { return 'true'; diff --git a/Sources/vendor/sebastian/type/src/type/Type.php b/Sources/vendor/sebastian/type/src/type/Type.php index 76029cfd..1e9e3d21 100644 --- a/Sources/vendor/sebastian/type/src/type/Type.php +++ b/Sources/vendor/sebastian/type/src/type/Type.php @@ -41,6 +41,9 @@ abstract class Type return $type; } + /** + * @psalm-param non-empty-string $typeName + */ public static function fromName(string $typeName, bool $allowsNull): self { return match (strtolower($typeName)) { @@ -186,6 +189,9 @@ abstract class Type abstract public function isAssignable(self $other): bool; + /** + * @psalm-return non-empty-string + */ abstract public function name(): string; abstract public function allowsNull(): bool; diff --git a/Sources/vendor/sebastian/type/src/type/UnionType.php b/Sources/vendor/sebastian/type/src/type/UnionType.php index 01c4b71d..c49ad098 100644 --- a/Sources/vendor/sebastian/type/src/type/UnionType.php +++ b/Sources/vendor/sebastian/type/src/type/UnionType.php @@ -9,6 +9,7 @@ */ namespace SebastianBergmann\Type; +use function assert; use function count; use function implode; use function sort; @@ -42,11 +43,17 @@ final class UnionType extends Type return false; } + /** + * @psalm-return non-empty-string + */ public function asString(): string { return $this->name(); } + /** + * @psalm-return non-empty-string + */ public function name(): string { $types = []; @@ -63,7 +70,11 @@ final class UnionType extends Type sort($types); - return implode('|', $types); + $name = implode('|', $types); + + assert(!empty($name)); + + return $name; } public function allowsNull(): bool @@ -111,7 +122,7 @@ final class UnionType extends Type { if (count($types) < 2) { throw new RuntimeException( - 'A union type must be composed of at least two types' + 'A union type must be composed of at least two types', ); } } @@ -124,13 +135,13 @@ final class UnionType extends Type foreach ($types as $type) { if ($type instanceof UnknownType) { throw new RuntimeException( - 'A union type must not be composed of an unknown type' + 'A union type must not be composed of an unknown type', ); } if ($type instanceof VoidType) { throw new RuntimeException( - 'A union type must not be composed of a void type' + 'A union type must not be composed of a void type', ); } } diff --git a/Sources/vendor/sebastian/type/src/type/UnknownType.php b/Sources/vendor/sebastian/type/src/type/UnknownType.php index dc274407..0bbb069b 100644 --- a/Sources/vendor/sebastian/type/src/type/UnknownType.php +++ b/Sources/vendor/sebastian/type/src/type/UnknownType.php @@ -16,11 +16,17 @@ final class UnknownType extends Type return true; } + /** + * @psalm-return 'unknown type' + */ public function name(): string { return 'unknown type'; } + /** + * @psalm-return '' + */ public function asString(): string { return ''; diff --git a/Sources/vendor/sebastian/type/src/type/VoidType.php b/Sources/vendor/sebastian/type/src/type/VoidType.php index f740fe29..91176a4e 100644 --- a/Sources/vendor/sebastian/type/src/type/VoidType.php +++ b/Sources/vendor/sebastian/type/src/type/VoidType.php @@ -16,6 +16,9 @@ final class VoidType extends Type return $other instanceof self; } + /** + * @psalm-return 'void' + */ public function name(): string { return 'void'; diff --git a/Sources/vendor/sebastian/version/ChangeLog.md b/Sources/vendor/sebastian/version/ChangeLog.md index f589eb9e..8bb10f34 100644 --- a/Sources/vendor/sebastian/version/ChangeLog.md +++ b/Sources/vendor/sebastian/version/ChangeLog.md @@ -2,6 +2,12 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](https://keepachangelog.com/) principles. +## [5.0.0] - 2024-02-02 + +### Removed + +* This component is no longer supported on PHP 8.1 + ## [4.0.1] - 2023-02-07 ### Fixed @@ -36,6 +42,7 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](htt * This component is no longer supported on PHP 7.1 and PHP 7.2 +[5.0.0]: https://github.com/sebastianbergmann/version/compare/4.0...5.0.0 [4.0.1]: https://github.com/sebastianbergmann/version/compare/4.0.0...4.0.1 [4.0.0]: https://github.com/sebastianbergmann/version/compare/3.0.2...4.0.0 [3.0.2]: https://github.com/sebastianbergmann/version/compare/3.0.1...3.0.2 diff --git a/Sources/vendor/sebastian/version/LICENSE b/Sources/vendor/sebastian/version/LICENSE index 2a4db824..b8ec485a 100644 --- a/Sources/vendor/sebastian/version/LICENSE +++ b/Sources/vendor/sebastian/version/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2013-2023, Sebastian Bergmann +Copyright (c) 2013-2024, Sebastian Bergmann All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Sources/vendor/sebastian/version/SECURITY.md b/Sources/vendor/sebastian/version/SECURITY.md index d4ee967b..d88ff001 100644 --- a/Sources/vendor/sebastian/version/SECURITY.md +++ b/Sources/vendor/sebastian/version/SECURITY.md @@ -1,9 +1,30 @@ # Security Policy -This library is intended to be used in development environments only. For instance, it is used by the testing framework PHPUnit. There is no reason why this library should be installed on a webserver. +If you believe you have found a security vulnerability in the library that is developed in this repository, please report it to us through coordinated disclosure. -**If you upload this library to a webserver then your deployment process is broken. On a more general note, if your `vendor` directory is publicly accessible on your webserver then your deployment process is also broken.** +**Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests.** -## Security Contact Information +Instead, please email `sebastian@phpunit.de`. + +Please include as much of the information listed below as you can to help us better understand and resolve the issue: + +* The type of issue +* Full paths of source file(s) related to the manifestation of the issue +* The location of the affected source code (tag/branch/commit or direct URL) +* Any special configuration required to reproduce the issue +* Step-by-step instructions to reproduce the issue +* Proof-of-concept or exploit code (if possible) +* Impact of the issue, including how an attacker might exploit the issue + +This information will help us triage your report more quickly. + +## Web Context + +The library that is developed in this repository was either extracted from [PHPUnit](https://github.com/sebastianbergmann/phpunit) or developed specifically as a dependency for PHPUnit. + +The library is developed with a focus on development environments and the command-line. No specific testing or hardening with regard to using the library in an HTTP or web context or with untrusted input data is performed. The library might also contain functionality that intentionally exposes internal application data for debugging purposes. + +If the library is used in a web application, the application developer is responsible for filtering inputs or escaping outputs as necessary and for verifying that the used functionality is safe for use within the intended context. + +Vulnerabilities specific to the use outside a development context will be fixed as applicable, provided that the fix does not have an averse effect on the primary use case for development purposes. -After the above, if you still would like to report a security vulnerability, please email `sebastian@phpunit.de`. diff --git a/Sources/vendor/sebastian/version/composer.json b/Sources/vendor/sebastian/version/composer.json index 1215a327..ff88c33f 100644 --- a/Sources/vendor/sebastian/version/composer.json +++ b/Sources/vendor/sebastian/version/composer.json @@ -11,18 +11,19 @@ } ], "support": { - "issues": "https://github.com/sebastianbergmann/version/issues" + "issues": "https://github.com/sebastianbergmann/version/issues", + "security": "https://github.com/sebastianbergmann/version/security/policy" }, "config": { "platform": { - "php": "8.1.0" + "php": "8.2.0" }, "optimize-autoloader": true, "sort-packages": true }, "prefer-stable": true, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "autoload": { "classmap": [ @@ -31,7 +32,7 @@ }, "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } } } diff --git a/Sources/vendor/sebastian/version/src/Version.php b/Sources/vendor/sebastian/version/src/Version.php index 4b7c8586..33a9820a 100644 --- a/Sources/vendor/sebastian/version/src/Version.php +++ b/Sources/vendor/sebastian/version/src/Version.php @@ -20,20 +20,36 @@ use function stream_get_contents; use function substr_count; use function trim; -final class Version +final readonly class Version { - private readonly string $version; - + /** + * @psalm-var non-empty-string + */ + private string $version; + + /** + * @psalm-param non-empty-string $release + * @psalm-param non-empty-string $path + */ public function __construct(string $release, string $path) { $this->version = $this->generate($release, $path); } + /** + * @psalm-return non-empty-string + */ public function asString(): string { return $this->version; } + /** + * @psalm-param non-empty-string $release + * @psalm-param non-empty-string $path + * + * @psalm-return non-empty-string + */ private function generate(string $release, string $path): string { if (substr_count($release, '.') + 1 === 3) { @@ -57,7 +73,10 @@ final class Version return $release . '-' . end($git); } - private function getGitInformation(string $path): bool|string + /** + * @psalm-param non-empty-string $path + */ + private function getGitInformation(string $path): false|string { if (!is_dir($path . DIRECTORY_SEPARATOR . '.git')) { return false; @@ -70,7 +89,7 @@ final class Version 2 => ['pipe', 'w'], ], $pipes, - $path + $path, ); if (!is_resource($process)) { diff --git a/Sources/vendor/symfony/polyfill-ctype/composer.json b/Sources/vendor/symfony/polyfill-ctype/composer.json index e5c978f1..b222fdab 100644 --- a/Sources/vendor/symfony/polyfill-ctype/composer.json +++ b/Sources/vendor/symfony/polyfill-ctype/composer.json @@ -30,9 +30,6 @@ }, "minimum-stability": "dev", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" diff --git a/Sources/vendor/symfony/polyfill-mbstring/composer.json b/Sources/vendor/symfony/polyfill-mbstring/composer.json index 943e5029..bd99d4b9 100644 --- a/Sources/vendor/symfony/polyfill-mbstring/composer.json +++ b/Sources/vendor/symfony/polyfill-mbstring/composer.json @@ -30,9 +30,6 @@ }, "minimum-stability": "dev", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" diff --git a/Sources/vendor/symfony/polyfill-php80/composer.json b/Sources/vendor/symfony/polyfill-php80/composer.json index f1801f40..46ccde20 100644 --- a/Sources/vendor/symfony/polyfill-php80/composer.json +++ b/Sources/vendor/symfony/polyfill-php80/composer.json @@ -29,9 +29,6 @@ }, "minimum-stability": "dev", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" diff --git a/Sources/vendor/theseer/tokenizer/CHANGELOG.md b/Sources/vendor/theseer/tokenizer/CHANGELOG.md index f3e79f4c..d867649f 100644 --- a/Sources/vendor/theseer/tokenizer/CHANGELOG.md +++ b/Sources/vendor/theseer/tokenizer/CHANGELOG.md @@ -2,6 +2,12 @@ All notable changes to Tokenizer are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. +## [1.2.3] - 2024-03-03 + +### Changed + +* Do not use implicitly nullable parameters + ## [1.2.2] - 2023-11-20 ### Fixed @@ -70,6 +76,10 @@ This release is now PHP 8.0 compliant. Initial Release +[1.2.3]: https://github.com/theseer/tokenizer/compare/1.2.2...1.2.3 +[1.2.2]: https://github.com/theseer/tokenizer/compare/1.2.1...1.2.2 +[1.2.1]: https://github.com/theseer/tokenizer/compare/1.2.0...1.2.1 +[1.2.0]: https://github.com/theseer/tokenizer/compare/1.1.3...1.2.0 [1.1.3]: https://github.com/theseer/tokenizer/compare/1.1.2...1.1.3 [1.1.2]: https://github.com/theseer/tokenizer/compare/1.1.1...1.1.2 [1.1.1]: https://github.com/theseer/tokenizer/compare/1.1.0...1.1.1 diff --git a/Sources/vendor/theseer/tokenizer/src/Tokenizer.php b/Sources/vendor/theseer/tokenizer/src/Tokenizer.php index 03437bf8..2dc79fea 100644 --- a/Sources/vendor/theseer/tokenizer/src/Tokenizer.php +++ b/Sources/vendor/theseer/tokenizer/src/Tokenizer.php @@ -1,8 +1,6 @@