This run took 592 seconds.
From 263214bbd8f040c8bf7c1dd156a9d5142dc3c1ad Mon Sep 17 00:00:00 2001 From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org> Date: Tue, 24 Dec 2024 03:35:12 +0000 Subject: [PATCH] build: Updating dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit composer: * mediawiki/mediawiki-codesniffer: dev-master#fd6ecb5ffbe353507ca05387176db02f0f41f6fe → 45.0.0 The following sniffs are failing and were disabled: * Generic.Files.LineLength.TooLong * MediaWiki.Arrays.AlphabeticArraySort.Duplicate The following sniffs now pass and were enabled: * MediaWiki.Usage.StaticClosure.StaticClosure npm: * mocha: 10.2.0, ^10.2.0 → 10.8.2, ^10.2.0 * https://github.com/advisories/GHSA-mwcw-c2x4-8c55 * nanoid: 3.3.3, 3.3.7 → 3.3.8 * https://github.com/advisories/GHSA-mwcw-c2x4-8c55 Change-Id: I66d7d0fa179279eeefd5a0d0ff5b831518bdae07 --- .phpcs.xml | 3 +- client/WikibaseClient.ServiceWiring.php | 160 +-- client/WikibaseClient.datatypes.php | 30 +- client/WikibaseClient.entitytypes.php | 4 +- client/config/WikibaseClient.default.php | 28 +- client/includes/Api/PageTerms.php | 2 +- client/includes/ClientHooks.php | 2 +- .../DataAccessSnakFormatterFactory.php | 2 +- .../DataBridgeResourceLoaderModules.php | 2 +- .../Hooks/DescriptionProviderHookHandler.php | 2 +- .../includes/Hooks/ExtensionLoadHandler.php | 2 +- .../LoadExtensionSchemaUpdatesHookHandler.php | 2 +- .../Hooks/ParserFunctionRegistrant.php | 4 +- .../includes/Serializer/ClientSerializer.php | 2 +- .../Specials/SpecialPagesWithBadges.php | 2 +- client/includes/Store/AddUsagesForPageJob.php | 4 +- client/includes/Store/DescriptionLookup.php | 6 +- .../Store/Sql/PagePropsEntityIdLookup.php | 2 +- .../includes/Usage/Sql/EntityUsageTable.php | 2 +- .../Usage/Sql/SqlSubscriptionManager.php | 2 +- .../Sql/SqlUsageTrackerSchemaUpdater.php | 2 +- client/includes/Usage/UsageDeduplicator.php | 2 +- .../RecentChangesModificationTestBase.php | 2 +- .../Changes/AffectedPagesFinderTest.php | 2 +- .../includes/Changes/ChangeHandlerTest.php | 8 +- .../Changes/ChangeRunCoalescerTest.php | 2 +- .../includes/Changes/WikiPageUpdaterTest.php | 2 +- ...ikibaseLibraryInProcessEntityCacheTest.php | 2 +- .../Scribunto/WikibaseLibraryTestCase.php | 4 +- ...WikitextPreprocessingSnakFormatterTest.php | 2 +- .../integration/includes/DescriptionTest.php | 2 +- .../Hooks/ChangesListLinesHandlerTest.php | 2 +- .../includes/Hooks/LangLinkHandlerTest.php | 2 +- .../includes/Hooks/SidebarHookHandlerTest.php | 2 +- .../includes/NamespaceCheckerTest.php | 4 +- .../Specials/SpecialPagesWithBadgesTest.php | 2 +- .../UnexpectedUnconnectedPagePrimerTest.php | 2 +- .../Usage/Sql/EntityUsageTableTest.php | 2 +- .../Usage/UsageLookupContractTester.php | 2 +- .../Usage/UsageTrackerContractTester.php | 2 +- .../Usage/UsageTrackingIntegrationTest.php | 2 +- .../Usage/UsageAccumulatorContractTester.php | 2 +- .../Changes/InjectRCRecordsJobTest.php | 6 +- .../ClientSiteLinkTitleLookupTest.php | 2 +- .../DataAccessSnakFormatterFactoryTest.php | 2 +- .../LanguageAwareRendererTest.php | 4 +- .../StatementGroupRendererFactoryTest.php | 4 +- .../VariantsAwareRendererTest.php | 2 +- .../CachingFallbackBasedTermLookupTest.php | 6 +- .../Scribunto/LuaFunctionCallTrackerTest.php | 2 +- .../SnakSerializationRendererTest.php | 2 +- .../StatementTransclusionInteractorTest.php | 6 +- .../Hooks/EditActionHookHandlerTest.php | 6 +- .../Hooks/ExtensionLoadHandlerTest.php | 2 +- .../Hooks/InfoActionHookHandlerTest.php | 4 +- .../Hooks/LanguageLinkBadgeDisplayTest.php | 2 +- .../Hooks/SiteLinksForDisplayLookupTest.php | 2 +- .../Hooks/SkinAfterPortletHandlerTest.php | 2 +- .../ServiceWiring/DataTypeDefinitionsTest.php | 2 +- .../ServiceWiring/DataTypeFactoryTest.php | 2 +- .../DataValueDeserializerTest.php | 2 +- .../ServiceWiring/EntityDifferTest.php | 4 +- .../ServiceWiring/EntityIdComposerTest.php | 2 +- .../ServiceWiring/EntityIdParserTest.php | 2 +- .../EntityNamespaceLookupTest.php | 2 +- .../EntityTypeDefinitionsTest.php | 2 +- .../WikibaseContentLanguagesTest.php | 2 +- .../includes/Store/DescriptionLookupTest.php | 12 +- .../Usage/UsageTrackingSnakFormatterTest.php | 2 +- composer.json | 2 +- .../src/ByTypeDispatchingEntityIdLookup.php | 2 +- .../ByTypeDispatchingEntityIdLookupTest.php | 4 +- ...ypeDispatchingEntityRevisionLookupTest.php | 2 +- ...peDispatchingPrefetchingTermLookupTest.php | 20 +- lib/WikibaseLib.entitytypes.php | 24 +- lib/includes/DataTypeDefinitions.php | 2 +- .../Formatters/AutoCommentFormatter.php | 2 +- lib/includes/LanguageFallbackChainFactory.php | 2 +- .../Serialization/CallbackFactory.php | 4 +- .../CacheRetrievingEntityRevisionLookup.php | 4 +- .../RedirectResolvingLatestRevisionLookup.php | 6 +- .../Store/RevisionBasedEntityLookup.php | 6 +- ...evisionBasedEntityRedirectTargetLookup.php | 4 +- lib/includes/Store/Sql/SiteLinkTable.php | 2 +- .../Terms/DatabaseTermInLangIdsAcquirer.php | 6 +- .../ReplicaPrimaryAwareRecordIdsAcquirer.php | 2 +- .../Sql/WikiPageEntityMetaDataLookup.php | 2 +- .../wikibase/changes/src/EntityChange.php | 2 +- .../changes/tests/EntityChangeTest.php | 4 +- .../wikibase/changes/tests/ItemChangeTest.php | 4 +- .../SnakValueDeserializerTest.php | 2 +- .../data-model/tests/unit/NewItem.php | 2 +- lib/resources/Resources.php | 6 +- lib/tests/phpunit/DataTypeDefinitionsTest.php | 2 +- lib/tests/phpunit/DataValueFactoryTest.php | 2 +- lib/tests/phpunit/EntityFactoryTest.php | 4 +- .../phpunit/EntityRevisionLookupTestCase.php | 4 +- lib/tests/phpunit/EntityTypesTest.php | 2 +- ...naryOptionDispatchingSnakFormatterTest.php | 2 +- .../DispatchingValueFormatterTest.php | 4 +- ...atterLabelDescriptionLookupFactoryTest.php | 6 +- .../GlobeCoordinateDetailsFormatterTest.php | 2 +- .../HtmlExternalIdentifierFormatterTest.php | 4 +- .../ItemPropertyIdHtmlLinkFormatterTest.php | 14 +- ...sProviderEntityIdHtmlLinkFormatterTest.php | 2 +- .../OutputFormatSnakFormatterFactoryTest.php | 6 +- .../OutputFormatValueFormatterFactoryTest.php | 6 +- .../PropertyValueSnakFormatterTest.php | 2 +- .../QuantityDetailsFormatterTest.php | 2 +- .../DataBridgeReferenceFormatterTest.php | 2 +- .../Formatters/VocabularyUriFormatterTest.php | 2 +- .../WikibaseValueFormatterBuildersTest.php | 10 +- ...ikitextExternalIdentifierFormatterTest.php | 4 +- ...atchingTermsLookupSearchInteractorTest.php | 8 +- .../LanguageFallbackChainFactoryTest.php | 4 +- .../phpunit/LanguageFallbackIndicatorTest.php | 2 +- lib/tests/phpunit/MockRepositoryTest.php | 2 +- .../phpunit/Modules/CurrentSiteModuleTest.php | 2 +- .../phpunit/Modules/DataTypesModuleTest.php | 6 +- lib/tests/phpunit/Modules/SitesModuleTest.php | 2 +- .../CommaSeparatedListTest.php | 2 +- .../Serialization/CallbackFactoryTest.php | 2 +- .../SerializationModifierTest.php | 10 +- .../ServiceBySourceAndTypeDispatcherTest.php | 2 +- .../phpunit/ServiceByTypeDispatcherTest.php | 2 +- lib/tests/phpunit/SimpleCacheTestCase.php | 8 +- ...eDispatchingPropertyDataTypeLookupTest.php | 4 +- .../StatsdRecordingSimpleCacheTest.php | 6 +- ...acheRetrievingEntityRevisionLookupTest.php | 2 +- .../Store/CachingEntityRevisionLookupTest.php | 2 +- .../EntityLinkTargetEntityIdLookupTest.php | 4 +- ...uageFallbackLabelDescriptionLookupTest.php | 4 +- .../Store/LatestRevisionIdResultTest.php | 12 +- .../Store/MatchingTermsLookupFactoryTest.php | 4 +- ...hingWikiPageEntityMetaDataAccessorTest.php | 2 +- .../Store/RevisionBasedEntityLookupTest.php | 2 +- .../Store/Sql/PropertyInfoTableTest.php | 2 +- .../DatabaseInnerTermStoreCleanerTest.php | 2 +- .../Terms/DatabaseMatchingTermsLookupTest.php | 4 +- .../DatabaseTermInLangIdsAcquirerTest.php | 4 +- ...tabaseTermStoreWriterTestGetTermsTrait.php | 6 +- .../TermInLangIdsResolverFactoryTest.php | 2 +- ...ypeDispatchingEntityRevisionLookupTest.php | 2 +- .../Store/TypeDispatchingEntityStoreTest.php | 2 +- .../phpunit/TermLanguageFallbackChainTest.php | 8 +- .../phpunit/WikibaseContentLanguagesTest.php | 2 +- lib/tests/phpunit/WikibaseSettingsTest.php | 4 +- package-lock.json | 980 ++++++++++++------ ...ratedProperties.OverrideEntityServices.php | 14 +- repo/WikibaseRepo.ServiceWiring.php | 344 +++--- repo/WikibaseRepo.datatypes.php | 106 +- repo/WikibaseRepo.entitytypes.php | 74 +- repo/config/Wikibase.default.php | 8 +- repo/config/Wikibase.example.php | 2 +- repo/config/Wikibase.searchindex.php | 2 +- repo/includes/Api/CreateClaim.php | 4 +- repo/includes/Api/EditEntity.php | 4 +- repo/includes/Api/EntityTerms.php | 2 +- repo/includes/Api/GetClaims.php | 4 +- repo/includes/Api/LinkTitles.php | 4 +- repo/includes/Api/ListSubscribers.php | 2 +- repo/includes/Api/MergeItems.php | 2 +- repo/includes/Api/ParseValue.php | 2 +- repo/includes/Api/RemoveClaims.php | 4 +- repo/includes/Api/RemoveQualifiers.php | 4 +- repo/includes/Api/RemoveReferences.php | 4 +- repo/includes/Api/ResultBuilder.php | 10 +- repo/includes/Api/SetAliases.php | 4 +- repo/includes/Api/SetClaim.php | 4 +- repo/includes/Api/SetClaimValue.php | 4 +- repo/includes/Api/SetQualifier.php | 6 +- repo/includes/Api/SetReference.php | 4 +- repo/includes/Api/SetSiteLink.php | 2 +- ...patchChangeModificationNotificationJob.php | 2 +- .../ChangeModification/DispatchChangesJob.php | 6 +- .../ChangeOp/ChangeOpValidationException.php | 2 +- repo/includes/ChangeOp/ChangeOps.php | 2 +- repo/includes/Dumpers/DumpGenerator.php | 2 +- .../EditEntity/MediaWikiEditEntity.php | 2 +- .../FederatedProperties/ApiEntityLookup.php | 2 +- ...ngEntityParserOutputGeneratorDecorator.php | 4 +- .../Formatters/EntityLinkFormatterFactory.php | 2 +- .../HtmlPageLinkRendererEndHookHandler.php | 2 +- .../MediaWikiLocalizedTextProvider.php | 2 +- repo/includes/Parsers/MwTimeIsoParser.php | 2 +- repo/includes/PropertyServices.php | 4 +- repo/includes/Rdf/RdfBuilder.php | 6 +- repo/includes/Rdf/RdfVocabulary.php | 4 +- repo/includes/RepoHooks.php | 12 +- .../ParameterizedDescriptionTrait.php | 2 +- .../Specials/SpecialAvailableBadges.php | 2 +- .../Specials/SpecialGoToLinkedPage.php | 2 +- repo/includes/Specials/SpecialItemByTitle.php | 2 +- .../Specials/SpecialItemDisambiguation.php | 2 +- .../Specials/SpecialListProperties.php | 2 +- repo/includes/Specials/SpecialMergeItems.php | 2 +- .../includes/Specials/SpecialModifyEntity.php | 2 +- .../Specials/SpecialRedirectEntity.php | 2 +- repo/includes/Specials/SpecialSetSiteLink.php | 4 +- .../Store/Sql/DatabaseSchemaUpdater.php | 6 +- repo/includes/SummaryFormatter.php | 2 +- repo/includes/WikibasePingback.php | 4 +- repo/maintenance/DumpEntities.php | 2 +- repo/maintenance/ResubmitChanges.php | 2 +- repo/maintenance/addUnitConversions.php | 2 +- repo/maintenance/searchEntities.php | 2 +- repo/maintenance/updateUnits.php | 2 +- repo/resources/Resources.php | 20 +- .../PatchItem/PatchedItemValidator.php | 2 +- ...ookupPropertyRevisionMetadataRetriever.php | 2 +- repo/rest-api/src/WbRestApi.ServiceWiring.php | 218 ++-- .../CreatePropertyValidatorTest.php | 8 +- .../PatchItem/PatchedItemValidatorTest.php | 8 +- .../PatchedPropertyValidatorTest.php | 8 +- ...lsAndDescriptionsContentsValidatorTest.php | 8 +- .../Validation/StatementsValidatorTest.php | 2 +- .../EntityUpdaterItemUpdaterTest.php | 2 +- .../EntityUpdaterPropertyUpdaterTest.php | 2 +- ...erCreationResponseHeaderMiddlewareTest.php | 4 +- .../UnexpectedErrorHandlerMiddlewareTest.php | 4 +- .../includes/Actions/EditEntityActionTest.php | 2 +- .../Actions/HistoryEntityActionTest.php | 4 +- .../includes/Api/ApiJsonFormatTest.php | 2 +- .../includes/Api/CreateRedirectTest.php | 2 +- ...tyClearChangeOpValidateIntegrationTest.php | 4 +- .../includes/Api/EntitySavingHelperTest.php | 4 +- .../Api/EntityTermSearchHelperTest.php | 2 +- .../includes/Api/FormatSnakValueTest.php | 32 +- .../phpunit/includes/Api/MergeItemsTest.php | 8 +- .../includes/Api/RemoveQualifiersTest.php | 4 +- .../includes/Api/RemoveReferencesTest.php | 4 +- .../includes/Api/ResultBuilderTest.php | 6 +- .../includes/Api/SetClaimValueTest.php | 2 +- .../Api/StatementModificationHelperTest.php | 8 +- .../includes/Api/WikibaseApiTestCase.php | 2 +- ...ilderBasedDataTypeValidatorFactoryTest.php | 8 +- ...tchChangeVisibilityNotificationJobTest.php | 4 +- .../ChangeOp/ChangeOpTestMockProvider.php | 8 +- .../includes/ChangeOp/ChangeOpsMergeTest.php | 2 +- .../includes/ChangeOp/ChangeOpsTest.php | 6 +- .../AliasChangeOpDeserializationTester.php | 2 +- .../FingerprintChangeOpDeserializerTest.php | 2 +- ...adgeChangeOpSerializationValidatorTest.php | 10 +- .../SiteLinksChangeOpDeserializerTest.php | 12 +- .../ChangeOp/EntityChangeOpProviderTest.php | 8 +- .../ContentHandlerEntityIdLookupTest.php | 4 +- .../ContentHandlerEntityTitleLookupTest.php | 4 +- .../Content/DataUpdateAdapterTest.php | 4 +- .../Content/EntityContentFactoryTest.php | 4 +- .../Content/EntityContentTestCase.php | 2 +- .../includes/Content/ItemContentTest.php | 6 +- .../Diff/BasicEntityDiffVisualizerTest.php | 2 +- .../Diff/ClaimDifferenceVisualizerTest.php | 8 +- .../DispatchingEntityDiffVisualizerTest.php | 4 +- .../Diff/EntityDiffVisualizerFactoryTest.php | 6 +- .../includes/Diff/ItemDiffVisualizerTest.php | 2 +- .../Dumpers/JsonDataTypeInjectorTest.php | 2 +- .../Dumpers/JsonDumpGeneratorTest.php | 6 +- .../includes/Dumpers/RdfDumpGeneratorTest.php | 4 +- .../EntityReferenceExtractorDelegatorTest.php | 4 +- .../StatementEntityReferenceExtractorTest.php | 2 +- .../phpunit/includes/EntityTypesTest.php | 2 +- .../Api/RemoveClaimsTest.php | 2 +- .../Api/RemoveQualifiersTest.php | 2 +- .../ApiEntitySearchHelperTest.php | 2 +- ...tityParserOutputGeneratorDecoratorTest.php | 4 +- ...ferenceEngineViewHeaderHookHandlerTest.php | 4 +- .../Hooks/EditFilterHookRunnerTest.php | 2 +- .../EntityLinkFormatterFactoryTest.php | 2 +- ...PageLinkRendererEndHookHandlerTestBase.php | 10 +- .../Hooks/LabelPrefetchHookHandlerTest.php | 4 +- .../Hooks/PageHistoryPagerHookHandlerTest.php | 4 +- .../Hooks/RecentChangeSaveHookHandlerTest.php | 4 +- .../Hooks/ShowSearchHitHandlerTest.php | 8 +- .../SummaryParsingPrefetchHelperTest.php | 2 +- .../includes/IO/EntityIdReaderTest.php | 2 +- .../Interactors/ItemMergeInteractorTest.php | 2 +- .../RedirectCreationInteractorTest.php | 2 +- .../Interactors/TokenCheckInteractorTest.php | 2 +- .../EntityDataRequestHandlerTest.php | 2 +- .../EntityDataSerializationServiceTest.php | 4 +- .../LinkedData/EntityDataUriManagerTest.php | 2 +- ...angeOpValidationExceptionLocalizerTest.php | 2 +- .../MessageParameterFormatterTest.php | 4 +- .../includes/Merge/StatementsMergerTest.php | 2 +- ...tchingEntityMetaTagsCreatorFactoryTest.php | 2 +- .../DispatchingEntityViewFactoryTest.php | 2 +- .../EntityParserOutputGeneratorTestBase.php | 6 +- .../ExternalLinksDataUpdaterTest.php | 4 +- .../ImageLinksDataUpdaterTest.php | 2 +- .../ParserOutputJsConfigBuilderTest.php | 2 +- .../ReferencedEntitiesDataUpdaterTest.php | 4 +- .../ParserOutput/TextInjectorTest.php | 2 +- .../Parsers/TimeParserFactoryTest.php | 4 +- .../includes/PropertyDataTypeChangerTest.php | 2 +- .../phpunit/includes/PropertyServicesTest.php | 4 +- .../Rdf/FullStatementRdfBuilderTest.php | 6 +- .../includes/Rdf/NTriplesRdfTestHelper.php | 2 +- .../Rdf/PropertyStubRdfBuilderTest.php | 2 +- .../phpunit/includes/Rdf/RdfBuilderTest.php | 2 +- .../includes/Rdf/SnakRdfBuilderTest.php | 2 +- .../ExternalIdentifierRdfBuilderTest.php | 2 +- repo/tests/phpunit/includes/RepoHooksTest.php | 10 +- .../HTMLForm/HTMLAliasesFieldTest.php | 2 +- .../HTMLForm/HTMLItemReferenceFieldTest.php | 2 +- .../Specials/SpecialAvailableBadgesTest.php | 2 +- .../Specials/SpecialEntityDataTest.php | 2 +- .../Specials/SpecialGoToLinkedPageTest.php | 8 +- .../Specials/SpecialItemByTitleTest.php | 4 +- .../SpecialItemDisambiguationTest.php | 4 +- .../Specials/SpecialListPropertiesTest.php | 2 +- .../Specials/SpecialMergeItemsTest.php | 6 +- .../includes/Specials/SpecialNewItemTest.php | 4 +- .../Specials/SpecialNewPropertyTest.php | 2 +- .../Specials/SpecialRedirectEntityTest.php | 4 +- .../SpecialWikibaseRepoPageTestBase.php | 2 +- .../CachingPrefetchingTermLookupTest.php | 2 +- .../Store/CachingPropertyInfoTest.php | 2 +- .../Store/Sql/SqlEntityIdPagerFactoryTest.php | 2 +- .../Store/Sql/SqlEntityIdPagerTest.php | 2 +- .../Sql/SqlSiteLinkConflictLookupTest.php | 2 +- .../Sql/WikiPageEntityMetaDataLookupTest.php | 2 +- .../Sql/WikiPageEntityRedirectLookupTest.php | 4 +- .../Store/Sql/WikiPageEntityStoreTest.php | 10 +- ...eDispatchingEntityTitleStoreLookupTest.php | 2 +- .../WikiPageEntityRevisionLookupTest.php | 2 +- ...kiPageEntityStorePermissionCheckerTest.php | 2 +- .../includes/ValidatorBuildersTest.php | 4 +- .../CommonsMediaExistsValidatorTest.php | 2 +- .../FingerprintUniquenessValidatorTest.php | 4 +- .../InterWikiLinkExistsValidatorTest.php | 2 +- .../includes/Validators/SnakValidatorTest.php | 2 +- .../Validators/StringLengthValidatorTest.php | 2 +- .../ValidatorErrorLocalizerTest.php | 2 +- .../includes/ValueParserFactoryTest.php | 6 +- .../phpunit/maintenance/DumpJsonTest.php | 2 +- .../tests/phpunit/maintenance/DumpRdfTest.php | 2 +- .../AllTypesEntityDeserializerTest.php | 4 +- .../ContentModelMappingsTest.php | 2 +- .../ServiceWiring/DataTypeDefinitionsTest.php | 2 +- .../DataTypeValidatorFactoryTest.php | 2 +- .../EntityChangeOpProviderTest.php | 2 +- .../unit/ServiceWiring/EntityDifferTest.php | 4 +- .../unit/ServiceWiring/EntityFactoryTest.php | 2 +- .../ServiceWiring/EntityIdComposerTest.php | 2 +- .../unit/ServiceWiring/EntityIdParserTest.php | 4 +- .../EntityNamespaceLookupTest.php | 2 +- .../unit/ServiceWiring/EntityPatcherTest.php | 4 +- .../EntitySearchHelperCallbacksTest.php | 2 +- .../EntityTypeDefinitionsTest.php | 2 +- .../ServiceWiring/FulltextSearchTypesTest.php | 4 +- .../ItemVocabularyBaseUriTest.php | 2 +- .../LocalEntityNamespaceLookupTest.php | 2 +- .../ServiceWiring/ValueParserFactoryTest.php | 2 +- .../ValueSnakRdfBuilderFactoryTest.php | 2 +- .../WikibaseContentLanguagesTest.php | 2 +- .../includes/Hooks/EntityDataPurgerTest.php | 2 +- view/resources.php | 6 +- view/resources/templates.php | 2 +- view/src/DummyLocalizedTextProvider.php | 2 +- view/src/FallbackChainModuleMethods.php | 2 +- view/src/SiteLinksView.php | 2 +- .../Renderer/TermboxRemoteRenderer.php | 2 +- ...ngerprintableEntityMetaTagsCreatorTest.php | 4 +- .../phpunit/SimpleEntityTermsViewTest.php | 6 +- view/tests/phpunit/SiteLinksViewTest.php | 2 +- .../phpunit/StatementGroupListViewTest.php | 2 +- .../Renderer/TermboxRemoteRendererTest.php | 2 +- view/tests/phpunit/TermsListViewTest.php | 4 +- .../ToolbarEditSectionGeneratorTest.php | 2 +- 370 files changed, 1812 insertions(+), 1451 deletions(-) diff --git a/.phpcs.xml b/.phpcs.xml index e212b84..ceb61be 100644 --- a/.phpcs.xml +++ b/.phpcs.xml @@ -1,11 +1,12 @@ <?xml version="1.0"?> <ruleset> <rule ref="./vendor/mediawiki/mediawiki-codesniffer/MediaWiki"> + <exclude name="Generic.Files.LineLength.TooLong" /> + <exclude name="MediaWiki.Arrays.AlphabeticArraySort.Duplicate" /> <exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate" /> <exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected" /> <exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic" /> <exclude name="MediaWiki.Commenting.FunctionComment.MissingParamTag" /> - <exclude name="MediaWiki.Usage.StaticClosure.StaticClosure" /> </rule> <!-- Starting a function's body with an empty line can be helpful after a very large header. diff --git a/client/WikibaseClient.ServiceWiring.php b/client/WikibaseClient.ServiceWiring.php index 87e1714..a2005fb 100644 --- a/client/WikibaseClient.ServiceWiring.php +++ b/client/WikibaseClient.ServiceWiring.php @@ -138,7 +138,7 @@ use Wikibase\Lib\WikibaseSettings; /** @phpcs-require-sorted-array */ return [ - 'WikibaseClient.AffectedPagesFinder' => function ( MediaWikiServices $services ): AffectedPagesFinder { + 'WikibaseClient.AffectedPagesFinder' => static function ( MediaWikiServices $services ): AffectedPagesFinder { return new AffectedPagesFinder( WikibaseClient::getStore( $services )->getUsageLookup(), $services->getTitleFactory(), @@ -149,11 +149,11 @@ return [ ); }, - 'WikibaseClient.AliasTermBuffer' => function ( MediaWikiServices $services ): AliasTermBuffer { + 'WikibaseClient.AliasTermBuffer' => static function ( MediaWikiServices $services ): AliasTermBuffer { return WikibaseClient::getPrefetchingTermLookup( $services ); }, - 'WikibaseClient.BaseDataModelDeserializerFactory' => function ( MediaWikiServices $services ): DeserializerFactory { + 'WikibaseClient.BaseDataModelDeserializerFactory' => static function ( MediaWikiServices $services ): DeserializerFactory { $dataTypeDefs = WikibaseClient::getDataTypeDefinitions( $services ); return new DeserializerFactory( @@ -165,7 +165,7 @@ return [ ); }, - 'WikibaseClient.ChangeHandler' => function ( MediaWikiServices $services ): ChangeHandler { + 'WikibaseClient.ChangeHandler' => static function ( MediaWikiServices $services ): ChangeHandler { $logger = WikibaseClient::getLogger( $services ); $pageUpdater = new WikiPageUpdater( @@ -198,7 +198,7 @@ return [ ); }, - 'WikibaseClient.ClientDomainDbFactory' => function( MediaWikiServices $services ): ClientDomainDbFactory { + 'WikibaseClient.ClientDomainDbFactory' => static function( MediaWikiServices $services ): ClientDomainDbFactory { $lbFactory = $services->getDBLoadBalancerFactory(); return new ClientDomainDbFactory( @@ -207,7 +207,7 @@ return [ ); }, - 'WikibaseClient.CompactBaseDataModelSerializerFactory' => function ( MediaWikiServices $services ): SerializerFactory { + 'WikibaseClient.CompactBaseDataModelSerializerFactory' => static function ( MediaWikiServices $services ): SerializerFactory { /* Note: Unlike in repo, we do not pass * SerializerFactory::OPTION_SERIALIZE_USE_OBJECTS_FOR_EMPTY_MAPS * because as of January 2024, Scribunto does not support stdClass objects as Lua arrays */ @@ -218,7 +218,7 @@ return [ ); }, - 'WikibaseClient.CompactEntitySerializer' => function ( MediaWikiServices $services ): Serializer { + 'WikibaseClient.CompactEntitySerializer' => static function ( MediaWikiServices $services ): Serializer { $serializerFactoryCallbacks = WikibaseClient::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::SERIALIZER_FACTORY_CALLBACK ); $baseSerializerFactory = WikibaseClient::getCompactBaseDataModelSerializerFactory( $services ); @@ -231,13 +231,13 @@ return [ return new DispatchingSerializer( $serializers ); }, - 'WikibaseClient.DataAccessSettings' => function ( MediaWikiServices $services ): DataAccessSettings { + 'WikibaseClient.DataAccessSettings' => static function ( MediaWikiServices $services ): DataAccessSettings { return new DataAccessSettings( WikibaseClient::getSettings( $services )->getSetting( 'maxSerializedEntitySize' ) ); }, - 'WikibaseClient.DataAccessSnakFormatterFactory' => function ( MediaWikiServices $services ): DataAccessSnakFormatterFactory { + 'WikibaseClient.DataAccessSnakFormatterFactory' => static function ( MediaWikiServices $services ): DataAccessSnakFormatterFactory { return new DataAccessSnakFormatterFactory( WikibaseClient::getLanguageFallbackChainFactory( $services ), WikibaseClient::getSnakFormatterFactory( $services ), @@ -248,7 +248,7 @@ return [ ); }, - 'WikibaseClient.DataTypeDefinitions' => function ( MediaWikiServices $services ): DataTypeDefinitions { + 'WikibaseClient.DataTypeDefinitions' => static function ( MediaWikiServices $services ): DataTypeDefinitions { $baseDataTypes = require __DIR__ . '/../lib/WikibaseLib.datatypes.php'; $clientDataTypes = require __DIR__ . '/WikibaseClient.datatypes.php'; @@ -267,13 +267,13 @@ return [ ); }, - 'WikibaseClient.DataTypeFactory' => function ( MediaWikiServices $services ): DataTypeFactory { + 'WikibaseClient.DataTypeFactory' => static function ( MediaWikiServices $services ): DataTypeFactory { return new DataTypeFactory( WikibaseClient::getDataTypeDefinitions( $services )->getValueTypes() ); }, - 'WikibaseClient.DataValueDeserializer' => function ( MediaWikiServices $services ): DataValueDeserializer { + 'WikibaseClient.DataValueDeserializer' => static function ( MediaWikiServices $services ): DataValueDeserializer { return new DataValueDeserializer( array_merge( WikibaseClient::getDataTypeDefinitions( $services )->getDataValueDeserializerBuilders(), [ 'unknown' => UnknownValue::class ] @@ -286,7 +286,7 @@ return [ * @warning This is for use with {@link WikibaseClient::getDefaultSnakFormatterBuilders()} during bootstrap only! * Program logic should use {@link WikibaseClient::getSnakFormatterFactory()} instead! */ - 'WikibaseClient.DefaultSnakFormatterBuilders' => function ( MediaWikiServices $services ): WikibaseSnakFormatterBuilders { + 'WikibaseClient.DefaultSnakFormatterBuilders' => static function ( MediaWikiServices $services ): WikibaseSnakFormatterBuilders { return new WikibaseSnakFormatterBuilders( WikibaseClient::getDefaultValueFormatterBuilders( $services ), WikibaseClient::getPropertyInfoLookup( $services ), @@ -295,7 +295,7 @@ return [ ); }, - 'WikibaseClient.DefaultValueFormatterBuilders' => function ( MediaWikiServices $services ): WikibaseValueFormatterBuilders { + 'WikibaseClient.DefaultValueFormatterBuilders' => static function ( MediaWikiServices $services ): WikibaseValueFormatterBuilders { $clientStore = WikibaseClient::getStore( $services ); $settings = WikibaseClient::getSettings( $services ); $entityTitleLookup = new ClientSiteLinkTitleLookup( @@ -337,7 +337,7 @@ return [ ); }, - 'WikibaseClient.DescriptionLookup' => function ( MediaWikiServices $services ): DescriptionLookup { + 'WikibaseClient.DescriptionLookup' => static function ( MediaWikiServices $services ): DescriptionLookup { return new DescriptionLookup( WikibaseClient::getEntityIdLookup( $services ), WikibaseClient::getTermBuffer( $services ), @@ -345,7 +345,7 @@ return [ ); }, - 'WikibaseClient.EntityChangeFactory' => function ( MediaWikiServices $services ): EntityChangeFactory { + 'WikibaseClient.EntityChangeFactory' => static function ( MediaWikiServices $services ): EntityChangeFactory { // TODO: take this from a setting or registry. $changeClasses = [ Item::ENTITY_TYPE => ItemChange::class, @@ -361,7 +361,7 @@ return [ ); }, - 'WikibaseClient.EntityChangeLookup' => function ( MediaWikiServices $services ): EntityChangeLookup { + 'WikibaseClient.EntityChangeLookup' => static function ( MediaWikiServices $services ): EntityChangeLookup { return new EntityChangeLookup( WikibaseClient::getEntityChangeFactory( $services ), WikibaseClient::getEntityIdParser( $services ), @@ -370,7 +370,7 @@ return [ ); }, - 'WikibaseClient.EntityDiffer' => function ( MediaWikiServices $services ): EntityDiffer { + 'WikibaseClient.EntityDiffer' => static function ( MediaWikiServices $services ): EntityDiffer { $entityDiffer = new EntityDiffer(); $entityTypeDefinitions = WikibaseClient::getEntityTypeDefinitions( $services ); $builders = $entityTypeDefinitions->get( EntityTypeDefinitions::ENTITY_DIFFER_STRATEGY_BUILDER ); @@ -380,14 +380,14 @@ return [ return $entityDiffer; }, - 'WikibaseClient.EntityIdComposer' => function ( MediaWikiServices $services ): EntityIdComposer { + 'WikibaseClient.EntityIdComposer' => static function ( MediaWikiServices $services ): EntityIdComposer { return new EntityIdComposer( WikibaseClient::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::ENTITY_ID_COMPOSER_CALLBACK ) ); }, - 'WikibaseClient.EntityIdLookup' => function ( MediaWikiServices $services ): EntityIdLookup { + 'WikibaseClient.EntityIdLookup' => static function ( MediaWikiServices $services ): EntityIdLookup { $entityTypeDefinitions = WikibaseClient::getEntityTypeDefinitions( $services ); return new ByTypeDispatchingEntityIdLookup( $entityTypeDefinitions->get( EntityTypeDefinitions::CONTENT_MODEL_ID ), @@ -400,20 +400,20 @@ return [ ); }, - 'WikibaseClient.EntityIdParser' => function ( MediaWikiServices $services ): EntityIdParser { + 'WikibaseClient.EntityIdParser' => static function ( MediaWikiServices $services ): EntityIdParser { return new DispatchingEntityIdParser( WikibaseClient::getEntityTypeDefinitions( $services )->getEntityIdBuilders() ); }, - 'WikibaseClient.EntityLookup' => function ( MediaWikiServices $services ): EntityLookup { + 'WikibaseClient.EntityLookup' => static function ( MediaWikiServices $services ): EntityLookup { return WikibaseClient::getStore( $services )->getEntityLookup(); }, - 'WikibaseClient.EntityNamespaceLookup' => function ( MediaWikiServices $services ): EntityNamespaceLookup { + 'WikibaseClient.EntityNamespaceLookup' => static function ( MediaWikiServices $services ): EntityNamespaceLookup { return array_reduce( WikibaseClient::getEntitySourceDefinitions( $services )->getSources(), - function ( EntityNamespaceLookup $nsLookup, DatabaseEntitySource $source ): EntityNamespaceLookup { + static function ( EntityNamespaceLookup $nsLookup, DatabaseEntitySource $source ): EntityNamespaceLookup { return $nsLookup->merge( new EntityNamespaceLookup( $source->getEntityNamespaceIds(), $source->getEntitySlotNames() @@ -423,11 +423,11 @@ return [ ); }, - 'WikibaseClient.EntityRevisionLookup' => function ( MediaWikiServices $services ): EntityRevisionLookup { + 'WikibaseClient.EntityRevisionLookup' => static function ( MediaWikiServices $services ): EntityRevisionLookup { return WikibaseClient::getStore( $services )->getEntityRevisionLookup(); }, - 'WikibaseClient.EntitySourceAndTypeDefinitions' => function ( MediaWikiServices $services ): EntitySourceAndTypeDefinitions { + 'WikibaseClient.EntitySourceAndTypeDefinitions' => static function ( MediaWikiServices $services ): EntitySourceAndTypeDefinitions { // note: when adding support for further entity source types here, // also adjust the default 'entitySources' setting to copy sources of those types from the repo return new EntitySourceAndTypeDefinitions( @@ -436,7 +436,7 @@ return [ ); }, - 'WikibaseClient.EntitySourceDefinitions' => function ( MediaWikiServices $services ): EntitySourceDefinitions { + 'WikibaseClient.EntitySourceDefinitions' => static function ( MediaWikiServices $services ): EntitySourceDefinitions { $settings = WikibaseClient::getSettings( $services ); $subEntityTypesMapper = new SubEntityTypesMapper( WikibaseClient::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::SUB_ENTITY_TYPES ) ); @@ -446,7 +446,7 @@ return [ return $configParser->newDefinitionsFromConfigArray( $settings->getSetting( 'entitySources' ), $subEntityTypesMapper ); }, - 'WikibaseClient.EntityTypeDefinitions' => function ( MediaWikiServices $services ): EntityTypeDefinitions { + 'WikibaseClient.EntityTypeDefinitions' => static function ( MediaWikiServices $services ): EntityTypeDefinitions { $baseEntityTypes = require __DIR__ . '/../lib/WikibaseLib.entitytypes.php'; $clientEntityTypes = require __DIR__ . '/WikibaseClient.entitytypes.php'; @@ -460,7 +460,7 @@ return [ return new EntityTypeDefinitions( $entityTypes ); }, - 'WikibaseClient.ExternalUserNames' => function ( MediaWikiServices $services ): ?ExternalUserNames { + 'WikibaseClient.ExternalUserNames' => static function ( MediaWikiServices $services ): ?ExternalUserNames { $databaseName = WikibaseClient::getItemAndPropertySource( $services )->getDatabaseName(); if ( $databaseName !== false ) { $siteLookup = $services->getSiteLookup(); @@ -494,7 +494,7 @@ return [ return new ExternalUserNames( $interwikiPrefix, false ); }, - 'WikibaseClient.FallbackLabelDescriptionLookupFactory' => function ( + 'WikibaseClient.FallbackLabelDescriptionLookupFactory' => static function ( MediaWikiServices $services ): FallbackLabelDescriptionLookupFactory { return new FallbackLabelDescriptionLookupFactory( @@ -506,13 +506,13 @@ return [ ); }, - 'WikibaseClient.HookRunner' => function ( MediaWikiServices $services ): WikibaseClientHookRunner { + 'WikibaseClient.HookRunner' => static function ( MediaWikiServices $services ): WikibaseClientHookRunner { return new WikibaseClientHookRunner( $services->getHookContainer() ); }, - 'WikibaseClient.ItemAndPropertySource' => function ( MediaWikiServices $services ): EntitySource { + 'WikibaseClient.ItemAndPropertySource' => static function ( MediaWikiServices $services ): EntitySource { $itemAndPropertySourceName = WikibaseClient::getSettings( $services )->getSetting( 'itemAndPropertySourceName' ); $sources = WikibaseClient::getEntitySourceDefinitions( $services )->getSources(); foreach ( $sources as $source ) { @@ -524,7 +524,7 @@ return [ throw new LogicException( 'No source configured: ' . $itemAndPropertySourceName ); }, - 'WikibaseClient.ItemSource' => function ( MediaWikiServices $services ): EntitySource { + 'WikibaseClient.ItemSource' => static function ( MediaWikiServices $services ): EntitySource { $itemSource = WikibaseClient::getEntitySourceDefinitions( $services ) ->getDatabaseSourceForEntityType( Item::ENTITY_TYPE ); @@ -535,7 +535,7 @@ return [ return $itemSource; }, - 'WikibaseClient.KartographerEmbeddingHandler' => function ( + 'WikibaseClient.KartographerEmbeddingHandler' => static function ( MediaWikiServices $services ): ?CachingKartographerEmbeddingHandler { $settings = WikibaseClient::getSettings( $services ); @@ -552,7 +552,7 @@ return [ } }, - 'WikibaseClient.LangLinkHandlerFactory' => function ( MediaWikiServices $services ): LangLinkHandlerFactory { + 'WikibaseClient.LangLinkHandlerFactory' => static function ( MediaWikiServices $services ): LangLinkHandlerFactory { return new LangLinkHandlerFactory( WikibaseClient::getLanguageLinkBadgeDisplay( $services ), WikibaseClient::getNamespaceChecker( $services ), @@ -566,17 +566,17 @@ return [ ); }, - 'WikibaseClient.LangLinkSiteGroup' => function ( MediaWikiServices $services ): string { + 'WikibaseClient.LangLinkSiteGroup' => static function ( MediaWikiServices $services ): string { return WikibaseClient::getSettings( $services )->getSetting( 'languageLinkSiteGroup' ) ?? WikibaseClient::getSiteGroup( $services ); }, - 'WikibaseClient.LangLinkSiteGroups' => function ( MediaWikiServices $services ): array { + 'WikibaseClient.LangLinkSiteGroups' => static function ( MediaWikiServices $services ): array { return WikibaseClient::getSettings( $services )->getSetting( 'languageLinkAllowedSiteGroups' ) ?? [ WikibaseClient::getLangLinkSiteGroup( $services ) ]; }, - 'WikibaseClient.LanguageFallbackChainFactory' => function ( MediaWikiServices $services ): LanguageFallbackChainFactory { + 'WikibaseClient.LanguageFallbackChainFactory' => static function ( MediaWikiServices $services ): LanguageFallbackChainFactory { return new LanguageFallbackChainFactory( WikibaseClient::getTermsLanguages( $services ), $services->getLanguageFactory(), @@ -585,21 +585,21 @@ return [ ); }, - 'WikibaseClient.LanguageLinkBadgeDisplay' => function ( MediaWikiServices $services ): LanguageLinkBadgeDisplay { + 'WikibaseClient.LanguageLinkBadgeDisplay' => static function ( MediaWikiServices $services ): LanguageLinkBadgeDisplay { return new LanguageLinkBadgeDisplay( WikibaseClient::getSidebarLinkBadgeDisplay( $services ) ); }, - 'WikibaseClient.Logger' => function ( MediaWikiServices $services ): LoggerInterface { + 'WikibaseClient.Logger' => static function ( MediaWikiServices $services ): LoggerInterface { return LoggerFactory::getInstance( 'Wikibase' ); }, - 'WikibaseClient.MessageInLanguageProvider' => function ( MediaWikiServices $services ): MessageInLanguageProvider { + 'WikibaseClient.MessageInLanguageProvider' => static function ( MediaWikiServices $services ): MessageInLanguageProvider { return new MediaWikiMessageInLanguageProvider(); }, - 'WikibaseClient.MobileSite' => function ( MediaWikiServices $services ): bool { + 'WikibaseClient.MobileSite' => static function ( MediaWikiServices $services ): bool { if ( $services->has( 'MobileFrontend.Context' ) ) { $mobileContext = $services->get( 'MobileFrontend.Context' ); return $mobileContext->shouldDisplayMobileView(); @@ -607,7 +607,7 @@ return [ return false; }, - 'WikibaseClient.NamespaceChecker' => function ( MediaWikiServices $services ): NamespaceChecker { + 'WikibaseClient.NamespaceChecker' => static function ( MediaWikiServices $services ): NamespaceChecker { $settings = WikibaseClient::getSettings( $services ); return new NamespaceChecker( $settings->getSetting( 'excludeNamespaces' ), @@ -616,7 +616,7 @@ return [ ); }, - 'WikibaseClient.OtherProjectsSidebarGeneratorFactory' => function ( + 'WikibaseClient.OtherProjectsSidebarGeneratorFactory' => static function ( MediaWikiServices $services ): OtherProjectsSidebarGeneratorFactory { return new OtherProjectsSidebarGeneratorFactory( @@ -630,7 +630,7 @@ return [ ); }, - 'WikibaseClient.OtherProjectsSitesProvider' => function ( MediaWikiServices $services ): OtherProjectsSitesProvider { + 'WikibaseClient.OtherProjectsSitesProvider' => static function ( MediaWikiServices $services ): OtherProjectsSitesProvider { $settings = WikibaseClient::getSettings( $services ); return new CachingOtherProjectsSitesProvider( @@ -646,7 +646,7 @@ return [ ); }, - 'WikibaseClient.ParserOutputDataUpdater' => function ( MediaWikiServices $services ): ClientParserOutputDataUpdater { + 'WikibaseClient.ParserOutputDataUpdater' => static function ( MediaWikiServices $services ): ClientParserOutputDataUpdater { $settings = WikibaseClient::getSettings( $services ); return new ClientParserOutputDataUpdater( @@ -659,7 +659,7 @@ return [ ); }, - 'WikibaseClient.PrefetchingTermLookup' => function ( MediaWikiServices $services ): PrefetchingTermLookup { + 'WikibaseClient.PrefetchingTermLookup' => static function ( MediaWikiServices $services ): PrefetchingTermLookup { return new SourceAndTypeDispatchingPrefetchingTermLookup( new ServiceBySourceAndTypeDispatcher( PrefetchingTermLookup::class, @@ -674,7 +674,7 @@ return [ ); }, - 'WikibaseClient.PropertyDataTypeLookup' => function ( MediaWikiServices $services ): PropertyDataTypeLookup { + 'WikibaseClient.PropertyDataTypeLookup' => static function ( MediaWikiServices $services ): PropertyDataTypeLookup { $infoLookup = WikibaseClient::getPropertyInfoLookup( $services ); return new PropertyInfoDataTypeLookup( $infoLookup, @@ -683,7 +683,7 @@ return [ ); }, - 'WikibaseClient.PropertyInfoLookup' => function ( MediaWikiServices $services ): PropertyInfoLookup { + 'WikibaseClient.PropertyInfoLookup' => static function ( MediaWikiServices $services ): PropertyInfoLookup { $settings = WikibaseClient::getSettings( $services ); $cacheKeyGroup = $settings->getSetting( 'sharedCacheKeyGroup' ); $cacheDuration = $settings->getSetting( 'sharedCacheDuration' ); @@ -707,7 +707,7 @@ return [ ); }, - 'WikibaseClient.PropertyLabelResolver' => function ( MediaWikiServices $services ): PropertyLabelResolver { + 'WikibaseClient.PropertyLabelResolver' => static function ( MediaWikiServices $services ): PropertyLabelResolver { // Required services $languageCode = $services->getContentLanguageCode()->toString(); @@ -743,7 +743,7 @@ return [ ); }, - 'WikibaseClient.PropertyOrderProvider' => function ( MediaWikiServices $services ): CachingPropertyOrderProvider { + 'WikibaseClient.PropertyOrderProvider' => static function ( MediaWikiServices $services ): CachingPropertyOrderProvider { $title = $services->getTitleFactory()->newFromTextThrow( 'MediaWiki:Wikibase-SortedProperties' ); $innerProvider = new WikiPagePropertyOrderProvider( $services->getWikiPageFactory(), $title ); @@ -766,7 +766,7 @@ return [ ); }, - 'WikibaseClient.PropertyParserFunctionRunner' => function ( MediaWikiServices $services ): Runner { + 'WikibaseClient.PropertyParserFunctionRunner' => static function ( MediaWikiServices $services ): Runner { $settings = WikibaseClient::getSettings( $services ); return new Runner( WikibaseClient::getStatementGroupRendererFactory( $services ), @@ -778,7 +778,7 @@ return [ ); }, - 'WikibaseClient.PropertySource' => function ( MediaWikiServices $services ): EntitySource { + 'WikibaseClient.PropertySource' => static function ( MediaWikiServices $services ): EntitySource { $propertySource = WikibaseClient::getEntitySourceDefinitions( $services ) ->getDatabaseSourceForEntityType( Property::ENTITY_TYPE ); @@ -789,7 +789,7 @@ return [ return $propertySource; }, - 'WikibaseClient.RecentChangeFactory' => function ( MediaWikiServices $services ): RecentChangeFactory { + 'WikibaseClient.RecentChangeFactory' => static function ( MediaWikiServices $services ): RecentChangeFactory { $contentLanguage = $services->getContentLanguage(); $siteLookup = $services->getSiteLookup(); @@ -807,7 +807,7 @@ return [ ); }, - 'WikibaseClient.RedirectResolvingLatestRevisionLookup' => function ( + 'WikibaseClient.RedirectResolvingLatestRevisionLookup' => static function ( MediaWikiServices $services ): RedirectResolvingLatestRevisionLookup { return new RedirectResolvingLatestRevisionLookup( @@ -815,7 +815,7 @@ return [ ); }, - 'WikibaseClient.ReferenceFormatterFactory' => function ( MediaWikiServices $services ): ReferenceFormatterFactory { + 'WikibaseClient.ReferenceFormatterFactory' => static function ( MediaWikiServices $services ): ReferenceFormatterFactory { $logger = WikibaseClient::getLogger( $services ); return new ReferenceFormatterFactory( WikibaseClient::getDataAccessSnakFormatterFactory( $services ), @@ -828,7 +828,7 @@ return [ ); }, - 'WikibaseClient.RepoDomainDbFactory' => function ( MediaWikiServices $services ): RepoDomainDbFactory { + 'WikibaseClient.RepoDomainDbFactory' => static function ( MediaWikiServices $services ): RepoDomainDbFactory { $lbFactory = $services->getDBLoadBalancerFactory(); return new RepoDomainDbFactory( @@ -838,7 +838,7 @@ return [ ); }, - 'WikibaseClient.RepoItemUriParser' => function ( MediaWikiServices $services ): EntityIdParser { + 'WikibaseClient.RepoItemUriParser' => static function ( MediaWikiServices $services ): EntityIdParser { $itemConceptUriBase = WikibaseClient::getItemSource( $services ) ->getConceptBaseUri(); @@ -848,7 +848,7 @@ return [ ); }, - 'WikibaseClient.RepoLinker' => function ( MediaWikiServices $services ): RepoLinker { + 'WikibaseClient.RepoLinker' => static function ( MediaWikiServices $services ): RepoLinker { $settings = WikibaseClient::getSettings( $services ); return new RepoLinker( @@ -859,7 +859,7 @@ return [ ); }, - 'WikibaseClient.RestrictedEntityLookupFactory' => function ( MediaWikiServices $services ): RestrictedEntityLookupFactory { + 'WikibaseClient.RestrictedEntityLookupFactory' => static function ( MediaWikiServices $services ): RestrictedEntityLookupFactory { $settings = WikibaseClient::getSettings( $services ); $disabledEntityTypesEntityLookup = new DisabledEntityTypesEntityLookup( WikibaseClient::getEntityLookup( $services ), @@ -871,11 +871,11 @@ return [ ); }, - 'WikibaseClient.Settings' => function ( MediaWikiServices $services ): SettingsArray { + 'WikibaseClient.Settings' => static function ( MediaWikiServices $services ): SettingsArray { return WikibaseSettings::getClientSettings(); }, - 'WikibaseClient.SidebarLinkBadgeDisplay' => function ( MediaWikiServices $services ): SidebarLinkBadgeDisplay { + 'WikibaseClient.SidebarLinkBadgeDisplay' => static function ( MediaWikiServices $services ): SidebarLinkBadgeDisplay { $badgeClassNames = WikibaseClient::getSettings( $services )->getSetting( 'badgeClassNames' ); $labelDescriptionLookupFactory = WikibaseClient::getFallbackLabelDescriptionLookupFactory( $services ); $lang = WikibaseClient::getUserLanguage( $services ); @@ -887,7 +887,7 @@ return [ ); }, - 'WikibaseClient.Site' => function ( MediaWikiServices $services ): Site { + 'WikibaseClient.Site' => static function ( MediaWikiServices $services ): Site { $settings = WikibaseClient::getSettings( $services ); $globalId = $settings->getSetting( 'siteGlobalID' ); $localId = $settings->getSetting( 'siteLocalID' ); @@ -924,7 +924,7 @@ return [ return $site; }, - 'WikibaseClient.SiteGroup' => function ( MediaWikiServices $services ): string { + 'WikibaseClient.SiteGroup' => static function ( MediaWikiServices $services ): string { $settings = WikibaseClient::getSettings( $services ); $siteGroup = $settings->getSetting( 'siteGroup' ); @@ -945,7 +945,7 @@ return [ return $siteGroup; }, - 'WikibaseClient.SnakFormatterFactory' => function ( MediaWikiServices $services ): OutputFormatSnakFormatterFactory { + 'WikibaseClient.SnakFormatterFactory' => static function ( MediaWikiServices $services ): OutputFormatSnakFormatterFactory { return new OutputFormatSnakFormatterFactory( WikibaseClient::getDataTypeDefinitions( $services ) ->getSnakFormatterFactoryCallbacks(), @@ -956,7 +956,7 @@ return [ ); }, - 'WikibaseClient.StatementGroupRendererFactory' => function ( MediaWikiServices $services ): StatementGroupRendererFactory { + 'WikibaseClient.StatementGroupRendererFactory' => static function ( MediaWikiServices $services ): StatementGroupRendererFactory { return new StatementGroupRendererFactory( WikibaseClient::getPropertyLabelResolver( $services ), new SnaksFinder(), @@ -970,7 +970,7 @@ return [ ); }, - 'WikibaseClient.Store' => function ( MediaWikiServices $services ): ClientStore { + 'WikibaseClient.Store' => static function ( MediaWikiServices $services ): ClientStore { return new DirectSqlStore( WikibaseClient::getEntityIdParser( $services ), WikibaseClient::getEntityIdLookup( $services ), @@ -983,22 +983,22 @@ return [ ); }, - 'WikibaseClient.StringNormalizer' => function ( MediaWikiServices $services ): StringNormalizer { + 'WikibaseClient.StringNormalizer' => static function ( MediaWikiServices $services ): StringNormalizer { return new StringNormalizer(); }, - 'WikibaseClient.TermBuffer' => function ( MediaWikiServices $services ): TermBuffer { + 'WikibaseClient.TermBuffer' => static function ( MediaWikiServices $services ): TermBuffer { return WikibaseClient::getPrefetchingTermLookup( $services ); }, - 'WikibaseClient.TermFallbackCache' => function ( MediaWikiServices $services ): TermFallbackCacheFacade { + 'WikibaseClient.TermFallbackCache' => static function ( MediaWikiServices $services ): TermFallbackCacheFacade { return new TermFallbackCacheFacade( WikibaseClient::getTermFallbackCacheFactory( $services )->getTermFallbackCache(), WikibaseClient::getSettings( $services )->getSetting( 'sharedCacheDuration' ) ); }, - 'WikibaseClient.TermFallbackCacheFactory' => function ( MediaWikiServices $services ): TermFallbackCacheFactory { + 'WikibaseClient.TermFallbackCacheFactory' => static function ( MediaWikiServices $services ): TermFallbackCacheFactory { $settings = WikibaseClient::getSettings( $services ); return new TermFallbackCacheFactory( $settings->getSetting( 'sharedCacheType' ), @@ -1011,7 +1011,7 @@ return [ ); }, - 'WikibaseClient.TermInLangIdsResolverFactory' => function ( + 'WikibaseClient.TermInLangIdsResolverFactory' => static function ( MediaWikiServices $services ): TermInLangIdsResolverFactory { return new TermInLangIdsResolverFactory( @@ -1021,20 +1021,20 @@ return [ ); }, - 'WikibaseClient.TermLookup' => function ( MediaWikiServices $services ): TermLookup { + 'WikibaseClient.TermLookup' => static function ( MediaWikiServices $services ): TermLookup { return WikibaseClient::getPrefetchingTermLookup( $services ); }, - 'WikibaseClient.TermsDomainDbFactory' => function ( MediaWikiServices $services ): TermsDomainDbFactory { + 'WikibaseClient.TermsDomainDbFactory' => static function ( MediaWikiServices $services ): TermsDomainDbFactory { return new TermsDomainDbFactory( WikibaseClient::getRepoDomainDbFactory( $services ) ); }, - 'WikibaseClient.TermsLanguages' => function ( MediaWikiServices $services ): ContentLanguages { + 'WikibaseClient.TermsLanguages' => static function ( MediaWikiServices $services ): ContentLanguages { return WikibaseClient::getWikibaseContentLanguages( $services ) ->getContentLanguages( WikibaseContentLanguages::CONTEXT_TERM ); }, - 'WikibaseClient.UsageAccumulatorFactory' => function ( MediaWikiServices $services ): UsageAccumulatorFactory { + 'WikibaseClient.UsageAccumulatorFactory' => static function ( MediaWikiServices $services ): UsageAccumulatorFactory { $usageModifierLimits = WikibaseClient::getSettings( $services )->getSetting( 'entityUsageModifierLimits' ); @@ -1047,7 +1047,7 @@ return [ ); }, - 'WikibaseClient.UserLanguage' => function ( MediaWikiServices $services ): Language { + 'WikibaseClient.UserLanguage' => static function ( MediaWikiServices $services ): Language { global $wgLang; // TODO: define a LanguageProvider service instead of using a global directly. @@ -1062,7 +1062,7 @@ return [ return $wgLang; }, - 'WikibaseClient.ValueFormatterFactory' => function ( MediaWikiServices $services ): OutputFormatValueFormatterFactory { + 'WikibaseClient.ValueFormatterFactory' => static function ( MediaWikiServices $services ): OutputFormatValueFormatterFactory { return new OutputFormatValueFormatterFactory( WikibaseClient::getDataTypeDefinitions( $services ) ->getFormatterFactoryCallbacks( DataTypeDefinitions::PREFIXED_MODE ), @@ -1071,14 +1071,14 @@ return [ ); }, - 'WikibaseClient.WikibaseContentLanguages' => function ( MediaWikiServices $services ): WikibaseContentLanguages { + 'WikibaseClient.WikibaseContentLanguages' => static function ( MediaWikiServices $services ): WikibaseContentLanguages { return WikibaseContentLanguages::getDefaultInstance( $services->getHookContainer(), $services->getLanguageNameUtils() ); }, - 'WikibaseClient.WikibaseServices' => function ( MediaWikiServices $services ): WikibaseServices { + 'WikibaseClient.WikibaseServices' => static function ( MediaWikiServices $services ): WikibaseServices { $entitySourceDefinitions = WikibaseClient::getEntitySourceDefinitions( $services ); $singleEntitySourceServicesFactory = new SingleEntitySourceServicesFactory( WikibaseClient::getEntityIdParser( $services ), diff --git a/client/WikibaseClient.datatypes.php b/client/WikibaseClient.datatypes.php index 443af80..4576a5b 100644 --- a/client/WikibaseClient.datatypes.php +++ b/client/WikibaseClient.datatypes.php @@ -32,7 +32,7 @@ use Wikibase\Client\WikibaseClient; use Wikibase\DataModel\Entity\EntityIdValue; use Wikibase\Lib\Formatters\UnmappedEntityIdValueFormatter; -return call_user_func( function() { +return call_user_func( static function() { // NOTE: 'formatter-factory-callback' callbacks act as glue between the high level interface // OutputFormatValueFormatterFactory and the low level factory for validators for well // known data types, the WikibaseValueFormatterBuilders class. @@ -44,88 +44,88 @@ return call_user_func( function() { return [ 'VT:bad' => [ - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseClient::getDefaultValueFormatterBuilders(); return $factory->newUnDeserializableValueFormatter( $format, $options ); }, ], 'VT:globecoordinate' => [ 'deserializer-builder' => GlobeCoordinateValue::class, - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseClient::getDefaultValueFormatterBuilders(); return $factory->newGlobeCoordinateFormatter( $format, $options ); }, ], 'VT:monolingualtext' => [ 'deserializer-builder' => MonolingualTextValue::class, - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseClient::getDefaultValueFormatterBuilders(); return $factory->newMonolingualFormatter( $format, $options ); }, ], 'VT:quantity' => [ 'deserializer-builder' => QuantityValue::class, - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseClient::getDefaultValueFormatterBuilders(); return $factory->newQuantityFormatter( $format, $options ); }, ], 'VT:string' => [ 'deserializer-builder' => StringValue::class, - 'formatter-factory-callback' => function( $format ) { + 'formatter-factory-callback' => static function( $format ) { $factory = WikibaseClient::getDefaultValueFormatterBuilders(); return $factory->newStringFormatter( $format ); }, ], 'PT:url' => [ - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseClient::getDefaultValueFormatterBuilders(); return $factory->newUrlFormatter( $format, $options ); }, ], 'PT:commonsMedia' => [ - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseClient::getDefaultValueFormatterBuilders(); return $factory->newCommonsMediaFormatter( $format, $options ); }, ], 'PT:geo-shape' => [ - 'formatter-factory-callback' => function( $format ) { + 'formatter-factory-callback' => static function( $format ) { $factory = WikibaseClient::getDefaultValueFormatterBuilders(); return $factory->newGeoShapeFormatter( $format ); }, ], 'PT:tabular-data' => [ - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseClient::getDefaultValueFormatterBuilders(); return $factory->newTabularDataFormatter( $format, $options ); }, ], 'VT:time' => [ 'deserializer-builder' => TimeValue::class, - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseClient::getDefaultValueFormatterBuilders(); return $factory->newTimeFormatter( $format, $options ); }, ], 'VT:wikibase-entityid' => [ - 'deserializer-builder' => function ( $value ) { + 'deserializer-builder' => static function ( $value ) { return isset( $value['id'] ) ? new EntityIdValue( WikibaseClient::getEntityIdParser()->parse( $value['id'] ) ) : EntityIdValue::newFromArray( $value ); }, - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseClient::getDefaultValueFormatterBuilders(); return $factory->newEntityIdFormatter( $format, $options ); }, ], 'VT:wikibase-unmapped-entityid' => [ - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { return new UnmappedEntityIdValueFormatter(); }, ], 'PT:external-id' => [ - 'snak-formatter-factory-callback' => function( $format ) { + 'snak-formatter-factory-callback' => static function( $format ) { $factory = WikibaseClient::getDefaultSnakFormatterBuilders(); return $factory->newExternalIdentifierFormatter( $format ); }, diff --git a/client/WikibaseClient.entitytypes.php b/client/WikibaseClient.entitytypes.php index 8fac1fb..7b24e8d 100644 --- a/client/WikibaseClient.entitytypes.php +++ b/client/WikibaseClient.entitytypes.php @@ -30,7 +30,7 @@ use Wikimedia\ObjectCache\EmptyBagOStuff; return [ 'item' => [ - Def::PREFETCHING_TERM_LOOKUP_CALLBACK => function ( DatabaseEntitySource $entitySource ) { + Def::PREFETCHING_TERM_LOOKUP_CALLBACK => static function ( DatabaseEntitySource $entitySource ) { $termIdsResolver = WikibaseClient::getTermInLangIdsResolverFactory() ->getResolverForEntitySource( $entitySource ); @@ -38,7 +38,7 @@ return [ }, ], 'property' => [ - Def::PREFETCHING_TERM_LOOKUP_CALLBACK => function ( DatabaseEntitySource $entitySource ) { + Def::PREFETCHING_TERM_LOOKUP_CALLBACK => static function ( DatabaseEntitySource $entitySource ) { $mwServices = MediaWikiServices::getInstance(); $cacheSecret = hash( 'sha256', $mwServices->getMainConfig()->get( 'SecretKey' ) ); diff --git a/client/config/WikibaseClient.default.php b/client/config/WikibaseClient.default.php index 8eef5a6..f1b54eb 100644 --- a/client/config/WikibaseClient.default.php +++ b/client/config/WikibaseClient.default.php @@ -23,7 +23,7 @@ require_once __DIR__ . '/../includes/Usage/EntityUsage.php'; * @author Daniel Kinzler */ -return call_user_func( function() { +return call_user_func( static function() { global $wgLanguageCode; $defaults = [ @@ -105,7 +105,7 @@ return call_user_func( function() { 'sharedCacheType' => $GLOBALS['wgMainCacheType'], // Batch size for UpdateHtmlCacheJob - 'purgeCacheBatchSize' => function ( SettingsArray $settings ) { + 'purgeCacheBatchSize' => static function ( SettingsArray $settings ) { $mainConfig = MediaWikiServices::getInstance()->getMainConfig(); return $settings->hasSetting( 'wikiPageUpdaterDbBatchSize' ) ? $settings->getSetting( 'wikiPageUpdaterDbBatchSize' ) @@ -113,7 +113,7 @@ return call_user_func( function() { }, // Batch size for InjectRCRecordsJob - 'recentChangesBatchSize' => function ( SettingsArray $settings ) { + 'recentChangesBatchSize' => static function ( SettingsArray $settings ) { $mainConfig = MediaWikiServices::getInstance()->getMainConfig(); return $settings->hasSetting( 'wikiPageUpdaterDbBatchSize' ) ? $settings->getSetting( 'wikiPageUpdaterDbBatchSize' ) @@ -173,12 +173,12 @@ return call_user_func( function() { // We use the pseudo-setting thisWikiIsTheRepo to store this information. // thisWikiIsTheRepo should really never be overwritten, except for testing. - $defaults['thisWikiIsTheRepo'] = function ( SettingsArray $settings ) { + $defaults['thisWikiIsTheRepo'] = static function ( SettingsArray $settings ) { // determine whether the repo extension is present return WikibaseSettings::isRepoEnabled(); }; - $defaults['entitySources'] = function ( SettingsArray $settings ) { + $defaults['entitySources'] = static function ( SettingsArray $settings ) { if ( $settings->getSetting( 'thisWikiIsTheRepo' ) ) { // copy the repo’s effective entitySources setting $entitySourceDefinitions = WikibaseRepo::getEntitySourceDefinitions(); @@ -212,7 +212,7 @@ return call_user_func( function() { throw new Exception( 'entitySources must be configured for non-repo client wikis' ); }; - $defaults['itemAndPropertySourceName'] = function ( SettingsArray $settings ) { + $defaults['itemAndPropertySourceName'] = static function ( SettingsArray $settings ) { if ( $settings->getSetting( 'thisWikiIsTheRepo' ) ) { return WikibaseRepo::getSettings()->getSetting( 'localEntitySourceName' ); } @@ -220,35 +220,35 @@ return call_user_func( function() { return 'local'; }; - $defaults['repoSiteName'] = function ( SettingsArray $settings ) { + $defaults['repoSiteName'] = static function ( SettingsArray $settings ) { // This uses $wgSitename if this wiki is the repo. Otherwise, set this to // either an i18n message key and the message will be used, if it exists. // If repo site name does not need translation, then set this as a string. return $settings->getSetting( 'thisWikiIsTheRepo' ) ? $GLOBALS['wgSitename'] : 'Wikibase'; }; - $defaults['repoUrl'] = function ( SettingsArray $settings ) { + $defaults['repoUrl'] = static function ( SettingsArray $settings ) { // use $wgServer if this wiki is the repo, otherwise default to wikidata.org return $settings->getSetting( 'thisWikiIsTheRepo' ) ? $GLOBALS['wgServer'] : '//www.wikidata.org'; }; - $defaults['repoArticlePath'] = function ( SettingsArray $settings ) { + $defaults['repoArticlePath'] = static function ( SettingsArray $settings ) { // use $wgArticlePath if this wiki is the repo, otherwise default to /wiki/$1 return $settings->getSetting( 'thisWikiIsTheRepo' ) ? $GLOBALS['wgArticlePath'] : '/wiki/$1'; }; - $defaults['repoScriptPath'] = function ( SettingsArray $settings ) { + $defaults['repoScriptPath'] = static function ( SettingsArray $settings ) { // use $wgScriptPath if this wiki is the repo, otherwise default to /w return $settings->getSetting( 'thisWikiIsTheRepo' ) ? $GLOBALS['wgScriptPath'] : '/w'; }; - $defaults['siteGlobalID'] = function ( SettingsArray $settings ) { + $defaults['siteGlobalID'] = static function ( SettingsArray $settings ) { // The database name is a sane default for the site ID. // On Wikimedia sites, this is always correct. return $GLOBALS['wgDBname']; }; - $defaults['repoSiteId'] = function( SettingsArray $settings ) { + $defaults['repoSiteId'] = static function( SettingsArray $settings ) { $entitySources = $settings->getSetting( 'entitySources' ); $itemAndPropertySourceName = $settings->getSetting( 'itemAndPropertySourceName' ); $repoDatabase = $entitySources[$itemAndPropertySourceName]['repoDatabase']; @@ -258,12 +258,12 @@ return call_user_func( function() { : $repoDatabase; }; - $defaults['siteGroup'] = function ( SettingsArray $settings ) { + $defaults['siteGroup'] = static function ( SettingsArray $settings ) { // by default lookup from SiteLookup, can override with setting for performance reasons return null; }; - $defaults['otherProjectsLinks'] = function ( SettingsArray $settings ) { + $defaults['otherProjectsLinks'] = static function ( SettingsArray $settings ) { $otherProjectsSitesProvider = WikibaseClient::getOtherProjectsSitesProvider(); return $otherProjectsSitesProvider->getOtherProjectsSiteIds( $settings->getSetting( 'siteLinkGroups' ) ); }; diff --git a/client/includes/Api/PageTerms.php b/client/includes/Api/PageTerms.php index 648c465..fba86ed 100644 --- a/client/includes/Api/PageTerms.php +++ b/client/includes/Api/PageTerms.php @@ -171,7 +171,7 @@ class PageTerms extends ApiQueryBase { */ private function getEntityToPageMap( array $entityIds ): array { $entityIdsStrings = array_map( - function( EntityId $id ) { + static function( EntityId $id ) { return $id->getSerialization(); }, $entityIds diff --git a/client/includes/ClientHooks.php b/client/includes/ClientHooks.php index 9232f53..96bde04 100644 --- a/client/includes/ClientHooks.php +++ b/client/includes/ClientHooks.php @@ -240,7 +240,7 @@ final class ClientHooks { return $cache->getWithSetCallback( $key, $cache::TTL_DAY, // when changing the TTL, also update linkItemTags in options.md - function () { + static function () { $site = WikibaseClient::getSite(); $currentSite = [ 'globalSiteId' => $site->getGlobalId(), diff --git a/client/includes/DataAccess/DataAccessSnakFormatterFactory.php b/client/includes/DataAccess/DataAccessSnakFormatterFactory.php index 042e87b..933b31b 100644 --- a/client/includes/DataAccess/DataAccessSnakFormatterFactory.php +++ b/client/includes/DataAccess/DataAccessSnakFormatterFactory.php @@ -149,7 +149,7 @@ class DataAccessSnakFormatterFactory { return new EscapingSnakFormatter( SnakFormatter::FORMAT_WIKI, $snakFormatter, - function( $str ) { + static function( $str ) { return $str === '' ? '' : "<span>$str</span>"; } ); diff --git a/client/includes/DataBridge/DataBridgeResourceLoaderModules.php b/client/includes/DataBridge/DataBridgeResourceLoaderModules.php index e7919ad..1dca291 100644 --- a/client/includes/DataBridge/DataBridgeResourceLoaderModules.php +++ b/client/includes/DataBridge/DataBridgeResourceLoaderModules.php @@ -77,7 +77,7 @@ class DataBridgeResourceLoaderModules implements ResourceLoaderRegisterModulesHo $clientSettings = WikibaseClient::getSettings(); return new MediaWikiConfigModule( [ - 'getconfigvalueprovider' => function () use ( $clientSettings ) { + 'getconfigvalueprovider' => static function () use ( $clientSettings ) { return new DataBridgeConfigValueProvider( $clientSettings, MediaWikiServices::getInstance()->getMainConfig()->get( 'EditSubmitButtonLabelPublish' ) diff --git a/client/includes/Hooks/DescriptionProviderHookHandler.php b/client/includes/Hooks/DescriptionProviderHookHandler.php index 5e8a54a..b366842 100644 --- a/client/includes/Hooks/DescriptionProviderHookHandler.php +++ b/client/includes/Hooks/DescriptionProviderHookHandler.php @@ -45,7 +45,7 @@ class DescriptionProviderHookHandler implements SearchResultProvideDescriptionHo $sources = [ DescriptionLookup::SOURCE_CENTRAL, DescriptionLookup::SOURCE_LOCAL ]; } - $pageIdTitles = array_map( function ( PageIdentity $identity ) { + $pageIdTitles = array_map( static function ( PageIdentity $identity ) { return Title::makeTitle( $identity->getNamespace(), $identity->getDBkey() ); }, $pageIdentities ); diff --git a/client/includes/Hooks/ExtensionLoadHandler.php b/client/includes/Hooks/ExtensionLoadHandler.php index f83b7cb..b9929fb 100644 --- a/client/includes/Hooks/ExtensionLoadHandler.php +++ b/client/includes/Hooks/ExtensionLoadHandler.php @@ -80,7 +80,7 @@ class ExtensionLoadHandler { 'WikibaseClient.BaseDataModelDeserializerFactory', 'WikibaseClient.ReferenceFormatterFactory', ], - 'factory' => function ( + 'factory' => static function ( ApiMain $apiMain, string $moduleName, ParserFactory $parserFactory, diff --git a/client/includes/Hooks/LoadExtensionSchemaUpdatesHookHandler.php b/client/includes/Hooks/LoadExtensionSchemaUpdatesHookHandler.php index 74ae5a2..0239f03 100644 --- a/client/includes/Hooks/LoadExtensionSchemaUpdatesHookHandler.php +++ b/client/includes/Hooks/LoadExtensionSchemaUpdatesHookHandler.php @@ -47,7 +47,7 @@ class LoadExtensionSchemaUpdatesHookHandler implements LoadExtensionSchemaUpdate $primer->setProgressReporter( new CallbackMessageReporter( - function( $msg ) use ( $dbUpdater ) { + static function( $msg ) use ( $dbUpdater ) { $dbUpdater->output( "\t$msg\n" ); } ) diff --git a/client/includes/Hooks/ParserFunctionRegistrant.php b/client/includes/Hooks/ParserFunctionRegistrant.php index 67d0597..bea8f13 100644 --- a/client/includes/Hooks/ParserFunctionRegistrant.php +++ b/client/includes/Hooks/ParserFunctionRegistrant.php @@ -80,7 +80,7 @@ class ParserFunctionRegistrant implements ParserFirstCallInitHook, GetDoubleUnde $parser->setFunctionHook( 'property', - function( Parser $parser, PPFrame $frame, array $args ) { + static function( Parser $parser, PPFrame $frame, array $args ) { return Runner::renderEscapedPlainText( $parser, $frame, $args ); }, Parser::SFH_OBJECT_ARGS @@ -88,7 +88,7 @@ class ParserFunctionRegistrant implements ParserFirstCallInitHook, GetDoubleUnde $parser->setFunctionHook( 'statements', - function( Parser $parser, PPFrame $frame, array $args ) { + static function( Parser $parser, PPFrame $frame, array $args ) { return Runner::renderRichWikitext( $parser, $frame, $args ); }, Parser::SFH_OBJECT_ARGS diff --git a/client/includes/Serializer/ClientSerializer.php b/client/includes/Serializer/ClientSerializer.php index 437e2ff..bda885e 100644 --- a/client/includes/Serializer/ClientSerializer.php +++ b/client/includes/Serializer/ClientSerializer.php @@ -50,7 +50,7 @@ abstract class ClientSerializer implements Serializer { protected function omitEmptyArrays( array $serialization ) { return array_filter( $serialization, - function( $value ) { + static function( $value ) { return $value !== []; } ); diff --git a/client/includes/Specials/SpecialPagesWithBadges.php b/client/includes/Specials/SpecialPagesWithBadges.php index 3c5ab96..3a9434b 100644 --- a/client/includes/Specials/SpecialPagesWithBadges.php +++ b/client/includes/Specials/SpecialPagesWithBadges.php @@ -144,7 +144,7 @@ class SpecialPagesWithBadges extends QueryPage { private function getOptionsArray() { /** @var ItemId[] $badgeItemIds */ $badgeItemIds = array_map( - function( $badgeId ) { + static function( $badgeId ) { return new ItemId( $badgeId ); }, $this->badgeIds diff --git a/client/includes/Store/AddUsagesForPageJob.php b/client/includes/Store/AddUsagesForPageJob.php index 8cc6a9c..398d128 100644 --- a/client/includes/Store/AddUsagesForPageJob.php +++ b/client/includes/Store/AddUsagesForPageJob.php @@ -38,7 +38,7 @@ class AddUsagesForPageJob extends Job { */ public static function newSpec( Title $title, array $usages ) { // NOTE: Map EntityUsage objects to scalar arrays, for JSON serialization in the job queue. - $usages = array_map( function ( EntityUsage $usage ) { + $usages = array_map( static function ( EntityUsage $usage ) { return $usage->asArray(); }, $usages ); @@ -98,7 +98,7 @@ class AddUsagesForPageJob extends Job { private function getUsages() { // Turn serialized usage info into EntityUsage objects $idParser = $this->idParser; - $usages = array_map( function ( array $usageArray ) use ( $idParser ) { + $usages = array_map( static function ( array $usageArray ) use ( $idParser ) { // This is the inverse of EntityUsage::asArray() return new EntityUsage( $idParser->parse( $usageArray['entityId'] ), diff --git a/client/includes/Store/DescriptionLookup.php b/client/includes/Store/DescriptionLookup.php index aa468e8..6d77a1e 100644 --- a/client/includes/Store/DescriptionLookup.php +++ b/client/includes/Store/DescriptionLookup.php @@ -70,7 +70,7 @@ class DescriptionLookup { * will be omitted. */ public function getDescriptions( array $titles, $sources, &$actualSources = null ) { - $pageIds = array_map( function ( Title $title ) { + $pageIds = array_map( static function ( Title $title ) { return $title->getArticleID(); }, $titles ); $titlesByPageId = array_combine( $pageIds, $titles ); @@ -143,7 +143,7 @@ class DescriptionLookup { return []; } - $languages = array_unique( array_map( function ( Title $title ) { + $languages = array_unique( array_map( static function ( Title $title ) { return $title->getPageLanguage()->getCode(); }, $titlesByPageId ) ); @@ -154,7 +154,7 @@ class DescriptionLookup { $languages ); - $pageIdsByEntityId = array_flip( array_map( function ( EntityId $entityId ) { + $pageIdsByEntityId = array_flip( array_map( static function ( EntityId $entityId ) { return $entityId->getSerialization(); }, $entityIdsByPageId ) ); $descriptionsByPageId = []; diff --git a/client/includes/Store/Sql/PagePropsEntityIdLookup.php b/client/includes/Store/Sql/PagePropsEntityIdLookup.php index b8d1f06..9b55212 100644 --- a/client/includes/Store/Sql/PagePropsEntityIdLookup.php +++ b/client/includes/Store/Sql/PagePropsEntityIdLookup.php @@ -44,7 +44,7 @@ class PagePropsEntityIdLookup implements EntityIdLookup { * @return EntityId[] */ public function getEntityIds( array $titles ): array { - $pages = array_filter( $titles, function( Title $title ): bool { + $pages = array_filter( $titles, static function( Title $title ): bool { return $title->canExist(); } ); return array_map( [ $this->idParser, 'parse' ], diff --git a/client/includes/Usage/Sql/EntityUsageTable.php b/client/includes/Usage/Sql/EntityUsageTable.php index 3e44324..5fc15fd 100644 --- a/client/includes/Usage/Sql/EntityUsageTable.php +++ b/client/includes/Usage/Sql/EntityUsageTable.php @@ -217,7 +217,7 @@ class EntityUsageTable { * @return string[] */ private function getEntityIdStrings( array $entityIds ): array { - return array_map( function( EntityId $id ) { + return array_map( static function( EntityId $id ) { return $id->getSerialization(); }, $entityIds ); } diff --git a/client/includes/Usage/Sql/SqlSubscriptionManager.php b/client/includes/Usage/Sql/SqlSubscriptionManager.php index 1369ba9..0ea33ed 100644 --- a/client/includes/Usage/Sql/SqlSubscriptionManager.php +++ b/client/includes/Usage/Sql/SqlSubscriptionManager.php @@ -37,7 +37,7 @@ class SqlSubscriptionManager implements SubscriptionManager { * @return string[] */ private function idsToString( array $entityIds ): array { - return array_map( function( EntityId $id ) { + return array_map( static function( EntityId $id ) { return $id->getSerialization(); }, $entityIds ); } diff --git a/client/includes/Usage/Sql/SqlUsageTrackerSchemaUpdater.php b/client/includes/Usage/Sql/SqlUsageTrackerSchemaUpdater.php index 6601559..eacc291 100644 --- a/client/includes/Usage/Sql/SqlUsageTrackerSchemaUpdater.php +++ b/client/includes/Usage/Sql/SqlUsageTrackerSchemaUpdater.php @@ -56,7 +56,7 @@ class SqlUsageTrackerSchemaUpdater implements LoadExtensionSchemaUpdatesHook { $primer->setProgressReporter( new CallbackMessageReporter( - function( $msg ) use ( $dbUpdater ) { + static function( $msg ) use ( $dbUpdater ) { $dbUpdater->output( "\t$msg\n" ); } ) diff --git a/client/includes/Usage/UsageDeduplicator.php b/client/includes/Usage/UsageDeduplicator.php index 6c53753..899b1d0 100644 --- a/client/includes/Usage/UsageDeduplicator.php +++ b/client/includes/Usage/UsageDeduplicator.php @@ -114,7 +114,7 @@ class UsageDeduplicator { array_walk_recursive( $structuredUsages, - function ( EntityUsage $usage ) use ( &$usages ) { + static function ( EntityUsage $usage ) use ( &$usages ) { $usages[$usage->getIdentityString()] = $usage; } ); diff --git a/client/tests/phpunit/integration/includes/ChangeModification/RecentChangesModificationTestBase.php b/client/tests/phpunit/integration/includes/ChangeModification/RecentChangesModificationTestBase.php index 8caf9d6..9d2bc3a 100644 --- a/client/tests/phpunit/integration/includes/ChangeModification/RecentChangesModificationTestBase.php +++ b/client/tests/phpunit/integration/includes/ChangeModification/RecentChangesModificationTestBase.php @@ -27,7 +27,7 @@ abstract class RecentChangesModificationTestBase extends MediaWikiIntegrationTes protected function revisionIdentifiersToJson( array $revisionIdentifiers ): string { return json_encode( array_map( - function ( RepoRevisionIdentifier $revisionIdentifier ) { + static function ( RepoRevisionIdentifier $revisionIdentifier ) { return $revisionIdentifier->toArray(); }, $revisionIdentifiers diff --git a/client/tests/phpunit/integration/includes/Changes/AffectedPagesFinderTest.php b/client/tests/phpunit/integration/includes/Changes/AffectedPagesFinderTest.php index 12bc0c0..baeaf39 100644 --- a/client/tests/phpunit/integration/includes/Changes/AffectedPagesFinderTest.php +++ b/client/tests/phpunit/integration/includes/Changes/AffectedPagesFinderTest.php @@ -50,7 +50,7 @@ class AffectedPagesFinderTest extends MediaWikiIntegrationTestCase { $titleFactory = $this->createPartialMock( TitleFactory::class, [ 'newFromText' ] ); $titleFactory->method( 'newFromText' ) - ->willReturnCallback( function( $text, $defaultNs = \NS_MAIN ) { + ->willReturnCallback( static function( $text, $defaultNs = \NS_MAIN ) { $title = Title::newFromText( $text, $defaultNs ); if ( !$title ) { diff --git a/client/tests/phpunit/integration/includes/Changes/ChangeHandlerTest.php b/client/tests/phpunit/integration/includes/Changes/ChangeHandlerTest.php index 11cc26a..1f3af8b 100644 --- a/client/tests/phpunit/integration/includes/Changes/ChangeHandlerTest.php +++ b/client/tests/phpunit/integration/includes/Changes/ChangeHandlerTest.php @@ -167,11 +167,11 @@ class ChangeHandlerTest extends MediaWikiIntegrationTestCase { ]; $testHooks = [ - 'WikibaseHandleChange' => function( Change $change ) use ( $spy ) { + 'WikibaseHandleChange' => static function( Change $change ) use ( $spy ) { $spy->handleChangeCallCount++; return true; }, - 'WikibaseHandleChanges' => function( array $changes ) use ( $spy ) { + 'WikibaseHandleChanges' => static function( array $changes ) use ( $spy ) { $spy->handleChangesCallCount++; return true; }, @@ -233,7 +233,7 @@ class ChangeHandlerTest extends MediaWikiIntegrationTestCase { $titleFactory = $this->createPartialMock( TitleFactory::class, [ 'newFromText' ] ); $titleFactory->method( 'newFromText' ) - ->willReturnCallback( function( $text, $defaultNs = \NS_MAIN ) use ( $pageIdsByTitle ) { + ->willReturnCallback( static function( $text, $defaultNs = \NS_MAIN ) use ( $pageIdsByTitle ) { $title = Title::newFromText( $text, $defaultNs ); if ( !$title ) { @@ -321,7 +321,7 @@ class ChangeHandlerTest extends MediaWikiIntegrationTestCase { $usageLookup = $this->createMock( UsageLookup::class ); $usageLookup->method( 'getPagesUsing' ) ->willReturnCallback( - function( $ids, $aspects ) use ( $siteLinkLookup ) { + static function( $ids, $aspects ) use ( $siteLinkLookup ) { $pages = []; foreach ( $ids as $id ) { diff --git a/client/tests/phpunit/integration/includes/Changes/ChangeRunCoalescerTest.php b/client/tests/phpunit/integration/includes/Changes/ChangeRunCoalescerTest.php index 0463a95..9875f2e 100644 --- a/client/tests/phpunit/integration/includes/Changes/ChangeRunCoalescerTest.php +++ b/client/tests/phpunit/integration/includes/Changes/ChangeRunCoalescerTest.php @@ -400,7 +400,7 @@ class ChangeRunCoalescerTest extends MediaWikiIntegrationTestCase { private function getChangeIds( array $changes ) { return array_map( - function( Change $change ) { + static function( Change $change ) { return $change->getId(); }, $changes diff --git a/client/tests/phpunit/integration/includes/Changes/WikiPageUpdaterTest.php b/client/tests/phpunit/integration/includes/Changes/WikiPageUpdaterTest.php index 7937e5d..70ad34e 100644 --- a/client/tests/phpunit/integration/includes/Changes/WikiPageUpdaterTest.php +++ b/client/tests/phpunit/integration/includes/Changes/WikiPageUpdaterTest.php @@ -206,7 +206,7 @@ class WikiPageUpdaterTest extends MediaWikiIntegrationTestCase { $jobQueueGroup->expects( $this->atLeastOnce() ) ->method( 'lazyPush' ) ->with( $this->isInstanceOf( RefreshLinksJob::class ) ) - ->willReturnCallback( function( Job $job ) use ( &$pages, &$rootJobParams ) { + ->willReturnCallback( static function( Job $job ) use ( &$pages, &$rootJobParams ) { $pages[] = $job->getTitle()->getPrefixedDBkey(); $rootJobParams = $job->getRootJobParams(); } ); diff --git a/client/tests/phpunit/integration/includes/DataAccess/Scribunto/WikibaseLibraryInProcessEntityCacheTest.php b/client/tests/phpunit/integration/includes/DataAccess/Scribunto/WikibaseLibraryInProcessEntityCacheTest.php index 7525e49..39d2da3 100644 --- a/client/tests/phpunit/integration/includes/DataAccess/Scribunto/WikibaseLibraryInProcessEntityCacheTest.php +++ b/client/tests/phpunit/integration/includes/DataAccess/Scribunto/WikibaseLibraryInProcessEntityCacheTest.php @@ -38,7 +38,7 @@ class WikibaseLibraryInProcessEntityCacheTest extends WikibaseLibraryTestCase { $entityLookup->expects( $this->exactly( 20 ) ) ->method( 'getEntity' ) ->willReturnCallback( - function( ItemId $id ) { + static function( ItemId $id ) { return new Item( $id ); } ); diff --git a/client/tests/phpunit/integration/includes/DataAccess/Scribunto/WikibaseLibraryTestCase.php b/client/tests/phpunit/integration/includes/DataAccess/Scribunto/WikibaseLibraryTestCase.php index 990928c..f0164af 100644 --- a/client/tests/phpunit/integration/includes/DataAccess/Scribunto/WikibaseLibraryTestCase.php +++ b/client/tests/phpunit/integration/includes/DataAccess/Scribunto/WikibaseLibraryTestCase.php @@ -148,7 +148,7 @@ abstract class WikibaseLibraryTestCase extends LuaEngineTestBase { private function overridePropertyLabelResolver(): void { $propertyLabelResolver = $this->createMock( PropertyLabelResolver::class ); $propertyLabelResolver->method( 'getPropertyIdsForLabels' ) - ->willReturnCallback( function ( array $labels ): array { + ->willReturnCallback( static function ( array $labels ): array { if ( in_array( 'LuaTestStringProperty', $labels ) ) { return [ 'LuaTestStringProperty' => new NumericPropertyId( 'P342' ), @@ -168,7 +168,7 @@ abstract class WikibaseLibraryTestCase extends LuaEngineTestBase { if ( !in_array( 'maplink', $engine->getParser()->getTags() ) ) { $engine->getParser()->setHook( 'maplink', - function() { + static function() { return 'THIS-IS-A-MAP'; } ); diff --git a/client/tests/phpunit/integration/includes/DataAccess/Scribunto/WikitextPreprocessingSnakFormatterTest.php b/client/tests/phpunit/integration/includes/DataAccess/Scribunto/WikitextPreprocessingSnakFormatterTest.php index 6544c80..5114749 100644 --- a/client/tests/phpunit/integration/includes/DataAccess/Scribunto/WikitextPreprocessingSnakFormatterTest.php +++ b/client/tests/phpunit/integration/includes/DataAccess/Scribunto/WikitextPreprocessingSnakFormatterTest.php @@ -57,7 +57,7 @@ class WikitextPreprocessingSnakFormatterTest extends MediaWikiIntegrationTestCas $parser = $this->getServiceContainer()->getParserFactory()->create(); $parser->setHook( 'stripme', - function() { + static function() { return '!STRIPME_WIKITEXT!'; } ); diff --git a/client/tests/phpunit/integration/includes/DescriptionTest.php b/client/tests/phpunit/integration/includes/DescriptionTest.php index 1fafeb4..2d4d709 100644 --- a/client/tests/phpunit/integration/includes/DescriptionTest.php +++ b/client/tests/phpunit/integration/includes/DescriptionTest.php @@ -264,7 +264,7 @@ class DescriptionTest extends MediaWikiIntegrationTestCase { use ( $expectedPageIds, $expectedSources, $descriptionsToReturn, $sourcesToReturn ) { /** @var Title[] $titles */ /** @var string|string[] $sourcesToReturn */ - $pageIds = array_values( array_map( function ( Title $title ) { + $pageIds = array_values( array_map( static function ( Title $title ) { return $title->getArticleID(); }, $titles ) ); // Should be a sort-insensitive check but everything is sorted anyway. diff --git a/client/tests/phpunit/integration/includes/Hooks/ChangesListLinesHandlerTest.php b/client/tests/phpunit/integration/includes/Hooks/ChangesListLinesHandlerTest.php index aa76683..f0d9bb2 100644 --- a/client/tests/phpunit/integration/includes/Hooks/ChangesListLinesHandlerTest.php +++ b/client/tests/phpunit/integration/includes/Hooks/ChangesListLinesHandlerTest.php @@ -189,7 +189,7 @@ class ChangesListLinesHandlerTest extends MediaWikiIntegrationTestCase { $changesList = $this->createMock( OldChangesList::class ); $changesList->expects( $this->once() ) ->method( 'recentChangesFlags' ) - ->willReturnCallback( function ( $flags, $sep ) { + ->willReturnCallback( static function ( $flags, $sep ) { return implode( ',', array_keys( $flags, true ) ); } ); $changesList->method( 'getUser' ) diff --git a/client/tests/phpunit/integration/includes/Hooks/LangLinkHandlerTest.php b/client/tests/phpunit/integration/includes/Hooks/LangLinkHandlerTest.php index b76951c..5efc0b3 100644 --- a/client/tests/phpunit/integration/includes/Hooks/LangLinkHandlerTest.php +++ b/client/tests/phpunit/integration/includes/Hooks/LangLinkHandlerTest.php @@ -135,7 +135,7 @@ class LangLinkHandlerTest extends MediaWikiIntegrationTestCase { // strip "wiki" suffix $key = preg_replace( '/wiki$/', '', $link->getSiteId() ); - $badgesByPrefix[$key] = array_map( function( ItemId $id ) { + $badgesByPrefix[$key] = array_map( static function( ItemId $id ) { return $id->getSerialization(); }, $badges ); } diff --git a/client/tests/phpunit/integration/includes/Hooks/SidebarHookHandlerTest.php b/client/tests/phpunit/integration/includes/Hooks/SidebarHookHandlerTest.php index f8b1977..da6474a 100644 --- a/client/tests/phpunit/integration/includes/Hooks/SidebarHookHandlerTest.php +++ b/client/tests/phpunit/integration/includes/Hooks/SidebarHookHandlerTest.php @@ -96,7 +96,7 @@ class SidebarHookHandlerTest extends MediaWikiIntegrationTestCase { $handler->onSidebarBeforeOutput( $skin, $sidebar ); - $sidebarFilteredForWikibaseLink = array_filter( $sidebar['wikibase-otherprojects'], function( $link ){ + $sidebarFilteredForWikibaseLink = array_filter( $sidebar['wikibase-otherprojects'], static function( $link ){ return $link['id'] === 't-wikibase'; } ); $this->assertCount( 1, $sidebarFilteredForWikibaseLink ); diff --git a/client/tests/phpunit/integration/includes/NamespaceCheckerTest.php b/client/tests/phpunit/integration/includes/NamespaceCheckerTest.php index 4a22b5a..1f1051d 100644 --- a/client/tests/phpunit/integration/includes/NamespaceCheckerTest.php +++ b/client/tests/phpunit/integration/includes/NamespaceCheckerTest.php @@ -90,11 +90,11 @@ class NamespaceCheckerTest extends MediaWikiIntegrationTestCase { // actual test (maybe spillover from a different test?). Work around the issue with // callbacks until the actual problem is resolved. return [ - [ [], [], function () { + [ [], [], static function () { return MediaWikiServices::getInstance()->getNamespaceInfo()->getValidNamespaces(); } ], // #0 [ [], [ NS_MAIN ], [ NS_MAIN ] ], // #1 - [ [ NS_USER_TALK ], [], function () { + [ [ NS_USER_TALK ], [], static function () { return array_diff( MediaWikiServices::getInstance()->getNamespaceInfo()->getValidNamespaces(), [ NS_USER_TALK ] diff --git a/client/tests/phpunit/integration/includes/Specials/SpecialPagesWithBadgesTest.php b/client/tests/phpunit/integration/includes/Specials/SpecialPagesWithBadgesTest.php index d125287..b7ebe05 100644 --- a/client/tests/phpunit/integration/includes/Specials/SpecialPagesWithBadgesTest.php +++ b/client/tests/phpunit/integration/includes/Specials/SpecialPagesWithBadgesTest.php @@ -31,7 +31,7 @@ class SpecialPagesWithBadgesTest extends SpecialPageTestBase { private function getLabelDescriptionLookupFactory(): FallbackLabelDescriptionLookupFactory { $labelLookup = $this->createMock( FallbackLabelDescriptionLookup::class ); $labelLookup->method( 'getLabel' ) - ->willReturnCallback( function( ItemId $id ): ?TermFallback { + ->willReturnCallback( static function( ItemId $id ): ?TermFallback { return new TermFallback( 'en', 'Label of ' . $id->getSerialization(), diff --git a/client/tests/phpunit/integration/includes/Store/Sql/UnexpectedUnconnectedPagePrimerTest.php b/client/tests/phpunit/integration/includes/Store/Sql/UnexpectedUnconnectedPagePrimerTest.php index d5714fb..b192623 100644 --- a/client/tests/phpunit/integration/includes/Store/Sql/UnexpectedUnconnectedPagePrimerTest.php +++ b/client/tests/phpunit/integration/includes/Store/Sql/UnexpectedUnconnectedPagePrimerTest.php @@ -45,7 +45,7 @@ class UnexpectedUnconnectedPagePrimerTest extends MediaWikiIntegrationTestCase { } public static function insertPagePropProvider(): array { - $convertToLegacy = function( $row ) { + $convertToLegacy = static function( $row ) { if ( $row[1] === 'unexpectedUnconnectedPage' ) { // The value doesn't matter and to make sure we actually need a change, // don't use -$this->getDefaultWikitextNS() (as that could be 0). diff --git a/client/tests/phpunit/integration/includes/Usage/Sql/EntityUsageTableTest.php b/client/tests/phpunit/integration/includes/Usage/Sql/EntityUsageTableTest.php index 131f859..d6de942 100644 --- a/client/tests/phpunit/integration/includes/Usage/Sql/EntityUsageTableTest.php +++ b/client/tests/phpunit/integration/includes/Usage/Sql/EntityUsageTableTest.php @@ -142,7 +142,7 @@ class EntityUsageTableTest extends MediaWikiIntegrationTestCase { } private function getUsageStrings( array $usages ) { - $strings = array_map( function ( EntityUsage $usage ) { + $strings = array_map( static function ( EntityUsage $usage ) { return $usage->getIdentityString(); }, array_values( $usages ) ); diff --git a/client/tests/phpunit/integration/includes/Usage/UsageLookupContractTester.php b/client/tests/phpunit/integration/includes/Usage/UsageLookupContractTester.php index 97d63a1..a82593f 100644 --- a/client/tests/phpunit/integration/includes/Usage/UsageLookupContractTester.php +++ b/client/tests/phpunit/integration/includes/Usage/UsageLookupContractTester.php @@ -194,7 +194,7 @@ class UsageLookupContractTester { * @return string[] */ public function getUsageStrings( array $usages ) { - $strings = array_map( function( EntityUsage $usage ) { + $strings = array_map( static function( EntityUsage $usage ) { return $usage->getIdentityString(); }, $usages ); diff --git a/client/tests/phpunit/integration/includes/Usage/UsageTrackerContractTester.php b/client/tests/phpunit/integration/includes/Usage/UsageTrackerContractTester.php index 001d907..b25b375 100644 --- a/client/tests/phpunit/integration/includes/Usage/UsageTrackerContractTester.php +++ b/client/tests/phpunit/integration/includes/Usage/UsageTrackerContractTester.php @@ -156,7 +156,7 @@ class UsageTrackerContractTester { */ public function getUsageStrings( array $usages ) { return array_values( - array_map( function( EntityUsage $usage ) { + array_map( static function( EntityUsage $usage ) { return $usage->getIdentityString(); }, $usages ) ); diff --git a/client/tests/phpunit/integration/includes/Usage/UsageTrackingIntegrationTest.php b/client/tests/phpunit/integration/includes/Usage/UsageTrackingIntegrationTest.php index 3e4fa0b..57dd0dc 100644 --- a/client/tests/phpunit/integration/includes/Usage/UsageTrackingIntegrationTest.php +++ b/client/tests/phpunit/integration/includes/Usage/UsageTrackingIntegrationTest.php @@ -160,7 +160,7 @@ class UsageTrackingIntegrationTest extends MediaWikiIntegrationTestCase { * @return string[] */ private function getUsageStrings( array $usages ) { - $strings = array_map( function ( EntityUsage $usage ) { + $strings = array_map( static function ( EntityUsage $usage ) { return $usage->getIdentityString(); }, $usages ); diff --git a/client/tests/phpunit/mocks/Usage/UsageAccumulatorContractTester.php b/client/tests/phpunit/mocks/Usage/UsageAccumulatorContractTester.php index 8bda06e..85480ca 100644 --- a/client/tests/phpunit/mocks/Usage/UsageAccumulatorContractTester.php +++ b/client/tests/phpunit/mocks/Usage/UsageAccumulatorContractTester.php @@ -164,7 +164,7 @@ class UsageAccumulatorContractTester { */ private function getIdentityStrings( array $usages ) { return array_values( - array_map( function( EntityUsage $usage ) { + array_map( static function( EntityUsage $usage ) { return $usage->getIdentityString(); }, $usages ) ); diff --git a/client/tests/phpunit/unit/includes/Changes/InjectRCRecordsJobTest.php b/client/tests/phpunit/unit/includes/Changes/InjectRCRecordsJobTest.php index 48fe5c4..59b6fec 100644 --- a/client/tests/phpunit/unit/includes/Changes/InjectRCRecordsJobTest.php +++ b/client/tests/phpunit/unit/includes/Changes/InjectRCRecordsJobTest.php @@ -56,7 +56,7 @@ class InjectRCRecordsJobTest extends TestCase { } $changeLookup->method( 'loadByChangeIds' ) - ->willReturnCallback( function ( $ids ) use ( $changes ) { + ->willReturnCallback( static function ( $ids ) use ( $changes ) { return array_values( array_intersect_key( $changes, array_flip( $ids ) ) ); } ); @@ -388,7 +388,7 @@ class InjectRCRecordsJobTest extends TestCase { */ private function getTitleIDs( array $titles ): array { return array_map( - function( Title $title ) { + static function( Title $title ) { return $title->getArticleID(); }, $titles @@ -402,7 +402,7 @@ class InjectRCRecordsJobTest extends TestCase { */ private function getTitleDBKeys( array $titles ): array { return array_map( - function( Title $title ) { + static function( Title $title ) { return $title->getPrefixedDBkey(); }, $titles diff --git a/client/tests/phpunit/unit/includes/DataAccess/ClientSiteLinkTitleLookupTest.php b/client/tests/phpunit/unit/includes/DataAccess/ClientSiteLinkTitleLookupTest.php index 461955b..72f72f5 100644 --- a/client/tests/phpunit/unit/includes/DataAccess/ClientSiteLinkTitleLookupTest.php +++ b/client/tests/phpunit/unit/includes/DataAccess/ClientSiteLinkTitleLookupTest.php @@ -31,7 +31,7 @@ class ClientSiteLinkTitleLookupTest extends \PHPUnit\Framework\TestCase { $siteLinkLookup = $this->createMock( SiteLinkLookup::class ); $siteLinkLookup->method( 'getLinks' ) ->with( [ $id->getNumericId() ], [ $clientSiteId ] ) - ->willReturnCallback( function ( array $numericIds, array $siteIds ) { + ->willReturnCallback( static function ( array $numericIds, array $siteIds ) { // TODO: SiteLinkLookup::getLinks does have a bad, bad interface. return $siteIds === [ 'dewiki' ] ? [ [ 1 => 'Berlin' ] ] : []; } ); diff --git a/client/tests/phpunit/unit/includes/DataAccess/DataAccessSnakFormatterFactoryTest.php b/client/tests/phpunit/unit/includes/DataAccess/DataAccessSnakFormatterFactoryTest.php index 66e99e6..011452c 100644 --- a/client/tests/phpunit/unit/includes/DataAccess/DataAccessSnakFormatterFactoryTest.php +++ b/client/tests/phpunit/unit/includes/DataAccess/DataAccessSnakFormatterFactoryTest.php @@ -74,7 +74,7 @@ class DataAccessSnakFormatterFactoryTest extends \PHPUnit\Framework\TestCase { $snakFormatter = $this->createMock( SnakFormatter::class ); $snakFormatter->method( 'formatSnak' ) - ->willReturnCallback( function( PropertyValueSnak $snak ) { + ->willReturnCallback( static function( PropertyValueSnak $snak ) { return $snak->getDataValue()->getValue(); } ); diff --git a/client/tests/phpunit/unit/includes/DataAccess/ParserFunctions/LanguageAwareRendererTest.php b/client/tests/phpunit/unit/includes/DataAccess/ParserFunctions/LanguageAwareRendererTest.php index a61a949..5f07430 100644 --- a/client/tests/phpunit/unit/includes/DataAccess/ParserFunctions/LanguageAwareRendererTest.php +++ b/client/tests/phpunit/unit/includes/DataAccess/ParserFunctions/LanguageAwareRendererTest.php @@ -212,7 +212,7 @@ class LanguageAwareRendererTest extends \PHPUnit\Framework\TestCase { $propertyIdResolver = $this->createMock( PropertyIdResolver::class ); $propertyIdResolver->method( 'resolvePropertyId' ) - ->willReturnCallback( function( $propertyLabelOrId, $languageCode ) { + ->willReturnCallback( static function( $propertyLabelOrId, $languageCode ) { throw new PropertyLabelNotResolvedException( $propertyLabelOrId, $languageCode ); } ); @@ -240,7 +240,7 @@ class LanguageAwareRendererTest extends \PHPUnit\Framework\TestCase { $snakFormatter->method( 'formatSnak' ) ->willReturnCallback( - function ( Snak $snak ) { + static function ( Snak $snak ) { if ( $snak instanceof PropertyValueSnak ) { $value = $snak->getDataValue(); if ( $value instanceof StringValue ) { diff --git a/client/tests/phpunit/unit/includes/DataAccess/ParserFunctions/StatementGroupRendererFactoryTest.php b/client/tests/phpunit/unit/includes/DataAccess/ParserFunctions/StatementGroupRendererFactoryTest.php index a107c2f..3bde14b 100644 --- a/client/tests/phpunit/unit/includes/DataAccess/ParserFunctions/StatementGroupRendererFactoryTest.php +++ b/client/tests/phpunit/unit/includes/DataAccess/ParserFunctions/StatementGroupRendererFactoryTest.php @@ -260,7 +260,7 @@ class StatementGroupRendererFactoryTest extends \PHPUnit\Framework\TestCase { $snakListFinder = $this->createMock( SnaksFinder::class ); $snakListFinder->method( 'findSnaks' ) - ->willReturnCallback( function( + ->willReturnCallback( static function( StatementListProvider $statementListProvider, NumericPropertyId $propertyId, ?array $acceptableRanks @@ -295,7 +295,7 @@ class StatementGroupRendererFactoryTest extends \PHPUnit\Framework\TestCase { $entityLookup = $this->createMock( EntityLookup::class ); $entityLookup->method( 'getEntity' ) - ->willReturnCallback( function ( EntityId $id ) { + ->willReturnCallback( static function ( EntityId $id ) { return new Item( $id ); } ); diff --git a/client/tests/phpunit/unit/includes/DataAccess/ParserFunctions/VariantsAwareRendererTest.php b/client/tests/phpunit/unit/includes/DataAccess/ParserFunctions/VariantsAwareRendererTest.php index 25a4f7d..475dfeb 100644 --- a/client/tests/phpunit/unit/includes/DataAccess/ParserFunctions/VariantsAwareRendererTest.php +++ b/client/tests/phpunit/unit/includes/DataAccess/ParserFunctions/VariantsAwareRendererTest.php @@ -92,7 +92,7 @@ class VariantsAwareRendererTest extends \PHPUnit\Framework\TestCase { $languageRenderer->method( 'render' ) ->willReturnCallback( - function ( EntityId $entityId, $propertyLabelOrId ) use ( $languageCode ) { + static function ( EntityId $entityId, $propertyLabelOrId ) use ( $languageCode ) { if ( $propertyLabelOrId === 'url' ) { return 'http://wikipedia.de'; } diff --git a/client/tests/phpunit/unit/includes/DataAccess/Scribunto/CachingFallbackBasedTermLookupTest.php b/client/tests/phpunit/unit/includes/DataAccess/Scribunto/CachingFallbackBasedTermLookupTest.php index 9303999..b33708e 100644 --- a/client/tests/phpunit/unit/includes/DataAccess/Scribunto/CachingFallbackBasedTermLookupTest.php +++ b/client/tests/phpunit/unit/includes/DataAccess/Scribunto/CachingFallbackBasedTermLookupTest.php @@ -166,12 +166,12 @@ class CachingFallbackBasedTermLookupTest extends TestCase { ], ]; - $datasetLabels = array_map( function( $testCase ) { + $datasetLabels = array_map( static function( $testCase ) { $testCase[] = TermTypes::TYPE_LABEL; return $testCase; }, $dataset ); - $datasetDescriptions = array_map( function( $testCase ) { + $datasetDescriptions = array_map( static function( $testCase ) { $testCase[] = TermTypes::TYPE_DESCRIPTION; return $testCase; }, $dataset ); @@ -292,7 +292,7 @@ class CachingFallbackBasedTermLookupTest extends TestCase { $enTerm = self::getTermFallback( 'cat', 'en' ); $this->contentLanguages->method( 'hasLanguage' ) - ->willReturnCallback( function ( $languageCode ) { + ->willReturnCallback( static function ( $languageCode ) { return $languageCode === 'en'; } ); $this->mockHasContentLanguage( true ); diff --git a/client/tests/phpunit/unit/includes/DataAccess/Scribunto/LuaFunctionCallTrackerTest.php b/client/tests/phpunit/unit/includes/DataAccess/Scribunto/LuaFunctionCallTrackerTest.php index 6318c82..0155c88 100644 --- a/client/tests/phpunit/unit/includes/DataAccess/Scribunto/LuaFunctionCallTrackerTest.php +++ b/client/tests/phpunit/unit/includes/DataAccess/Scribunto/LuaFunctionCallTrackerTest.php @@ -63,7 +63,7 @@ class LuaFunctionCallTrackerTest extends \PHPUnit\Framework\TestCase { $statsdFactory->expects( $this->exactly( count( $expected ) ) ) ->method( 'updateCount' ) ->with( $this->isType( 'string' ), 1 / $trackLuaFunctionCallsSampleRate ) - ->willReturnCallback( function ( $key ) use ( &$keyBuffer ) { + ->willReturnCallback( static function ( $key ) use ( &$keyBuffer ) { $keyBuffer[] = $key; } ); diff --git a/client/tests/phpunit/unit/includes/DataAccess/Scribunto/SnakSerializationRendererTest.php b/client/tests/phpunit/unit/includes/DataAccess/Scribunto/SnakSerializationRendererTest.php index 8f47162..54581f7 100644 --- a/client/tests/phpunit/unit/includes/DataAccess/Scribunto/SnakSerializationRendererTest.php +++ b/client/tests/phpunit/unit/includes/DataAccess/Scribunto/SnakSerializationRendererTest.php @@ -44,7 +44,7 @@ class SnakSerializationRendererTest extends \PHPUnit\Framework\TestCase { private function getSnakRenderer() { $snakFormatter = $this->createMock( SnakFormatter::class ); $snakFormatter->method( 'formatSnak' ) - ->willReturnCallback( function ( PropertyValueSnak $snak ) { + ->willReturnCallback( static function ( PropertyValueSnak $snak ) { $value = $snak->getDataValue(); if ( $value instanceof EntityIdValue ) { return $value->getEntityId()->getSerialization(); diff --git a/client/tests/phpunit/unit/includes/DataAccess/StatementTransclusionInteractorTest.php b/client/tests/phpunit/unit/includes/DataAccess/StatementTransclusionInteractorTest.php index 0ff271c..30b0541 100644 --- a/client/tests/phpunit/unit/includes/DataAccess/StatementTransclusionInteractorTest.php +++ b/client/tests/phpunit/unit/includes/DataAccess/StatementTransclusionInteractorTest.php @@ -198,7 +198,7 @@ class StatementTransclusionInteractorTest extends \PHPUnit\Framework\TestCase { $propertyIdResolver = $this->createMock( PropertyIdResolver::class ); $propertyIdResolver->method( 'resolvePropertyId' ) - ->willReturnCallback( function( $propertyLabelOrId, $languageCode ) { + ->willReturnCallback( static function( $propertyLabelOrId, $languageCode ) { throw new PropertyLabelNotResolvedException( $propertyLabelOrId, $languageCode ); } ); @@ -216,7 +216,7 @@ class StatementTransclusionInteractorTest extends \PHPUnit\Framework\TestCase { $lookup = $this->createMock( EntityRevisionLookup::class ); $lookup->method( 'getEntityRevision' ) - ->willReturnCallback( function( EntityId $entityId ) { + ->willReturnCallback( static function( EntityId $entityId ) { switch ( $entityId->getSerialization() ) { case 'Q42': return new EntityRevision( new Item( new ItemId( 'Q42' ) ) ); @@ -243,7 +243,7 @@ class StatementTransclusionInteractorTest extends \PHPUnit\Framework\TestCase { $snakFormatter->method( 'formatSnak' ) ->willReturnCallback( - function ( Snak $snak ) { + static function ( Snak $snak ) { if ( $snak instanceof PropertyValueSnak ) { $value = $snak->getDataValue(); if ( $value instanceof StringValue ) { diff --git a/client/tests/phpunit/unit/includes/Hooks/EditActionHookHandlerTest.php b/client/tests/phpunit/unit/includes/Hooks/EditActionHookHandlerTest.php index 0b86c55..cdaf3c0 100644 --- a/client/tests/phpunit/unit/includes/Hooks/EditActionHookHandlerTest.php +++ b/client/tests/phpunit/unit/includes/Hooks/EditActionHookHandlerTest.php @@ -47,7 +47,7 @@ class EditActionHookHandlerTest extends \PHPUnit\Framework\TestCase { } public static function handleProvider() { - $expectedEditFormText = function ( IContextSource $context, string $link ) { + $expectedEditFormText = static function ( IContextSource $context, string $link ) { $explanation = $context->msg( 'wikibase-pageinfo-entity-usage' )->escaped(); $header = '<div class="wikibase-entity-usage"><div class="wikibase-entityusage-explanation">'; $header .= "<p>$explanation\n</p></div>"; @@ -95,7 +95,7 @@ class EditActionHookHandlerTest extends \PHPUnit\Framework\TestCase { ->getMock(); $repoLinker->method( 'buildEntityLink' ) - ->willReturnCallback( function ( + ->willReturnCallback( static function ( EntityId $entityId, array $classes = [], $text = null @@ -146,7 +146,7 @@ class EditActionHookHandlerTest extends \PHPUnit\Framework\TestCase { $lookup = $this->createMock( FallbackLabelDescriptionLookup::class ); $lookup->method( 'getLabel' ) - ->willReturnCallback( function ( EntityId $entityId ) { + ->willReturnCallback( static function ( EntityId $entityId ) { switch ( $entityId->getSerialization() ) { case 'Q4': return new Term( 'en', 'Berlin' ); diff --git a/client/tests/phpunit/unit/includes/Hooks/ExtensionLoadHandlerTest.php b/client/tests/phpunit/unit/includes/Hooks/ExtensionLoadHandlerTest.php index 2076576..468a514 100644 --- a/client/tests/phpunit/unit/includes/Hooks/ExtensionLoadHandlerTest.php +++ b/client/tests/phpunit/unit/includes/Hooks/ExtensionLoadHandlerTest.php @@ -27,7 +27,7 @@ class ExtensionLoadHandlerTest extends TestCase { private function getFauxHookContainer( &$hooks ) { $container = $this->createMock( HookContainer::class ); $container->method( 'register' )->willReturnCallback( - function ( $name, $handler ) use ( &$hooks ) { + static function ( $name, $handler ) use ( &$hooks ) { $hooks[$name][] = $handler; } ); diff --git a/client/tests/phpunit/unit/includes/Hooks/InfoActionHookHandlerTest.php b/client/tests/phpunit/unit/includes/Hooks/InfoActionHookHandlerTest.php index b999754..b9ebd8e 100644 --- a/client/tests/phpunit/unit/includes/Hooks/InfoActionHookHandlerTest.php +++ b/client/tests/phpunit/unit/includes/Hooks/InfoActionHookHandlerTest.php @@ -183,7 +183,7 @@ class InfoActionHookHandlerTest extends \PHPUnit\Framework\TestCase { ->getMock(); $repoLinker->method( 'buildEntityLink' ) - ->willReturnCallback( function ( + ->willReturnCallback( static function ( EntityId $entityId, array $classes = [], $text = null @@ -265,7 +265,7 @@ class InfoActionHookHandlerTest extends \PHPUnit\Framework\TestCase { $lookup = $this->createMock( FallbackLabelDescriptionLookup::class ); $lookup->method( 'getLabel' ) - ->willReturnCallback( function ( EntityId $entityId ) { + ->willReturnCallback( static function ( EntityId $entityId ) { switch ( $entityId->getSerialization() ) { case 'Q4': return new Term( 'en', 'Berlin' ); diff --git a/client/tests/phpunit/unit/includes/Hooks/LanguageLinkBadgeDisplayTest.php b/client/tests/phpunit/unit/includes/Hooks/LanguageLinkBadgeDisplayTest.php index ea02bf4..e9cf710 100644 --- a/client/tests/phpunit/unit/includes/Hooks/LanguageLinkBadgeDisplayTest.php +++ b/client/tests/phpunit/unit/includes/Hooks/LanguageLinkBadgeDisplayTest.php @@ -33,7 +33,7 @@ class LanguageLinkBadgeDisplayTest extends \PHPUnit\Framework\TestCase { $labelLookup = $this->createMock( LabelDescriptionLookup::class ); $labelLookup->method( 'getLabel' ) - ->willReturnCallback( function( EntityId $entityId ) { + ->willReturnCallback( static function( EntityId $entityId ) { switch ( $entityId->getSerialization() ) { case 'Q3': return new Term( 'de', 'Lesenswerter Artikel' ); diff --git a/client/tests/phpunit/unit/includes/Hooks/SiteLinksForDisplayLookupTest.php b/client/tests/phpunit/unit/includes/Hooks/SiteLinksForDisplayLookupTest.php index b0a8f52..ee8cdeb 100644 --- a/client/tests/phpunit/unit/includes/Hooks/SiteLinksForDisplayLookupTest.php +++ b/client/tests/phpunit/unit/includes/Hooks/SiteLinksForDisplayLookupTest.php @@ -116,7 +116,7 @@ class SiteLinksForDisplayLookupTest extends \MediaWikiUnitTestCase { $links->toArray(), $usageAccumulator, ] ) - ->willReturnCallback( function ( string $hook, array $args ) { + ->willReturnCallback( static function ( string $hook, array $args ) { $links = &$args[1]; $links['frwikisource'] = new SiteLink( 'frwikisource', 'FooSource' ); $links['enwiki'] = new SiteLink( 'enwiki', 'Foo en', [ new ItemId( 'Q42' ) ] ); diff --git a/client/tests/phpunit/unit/includes/Hooks/SkinAfterPortletHandlerTest.php b/client/tests/phpunit/unit/includes/Hooks/SkinAfterPortletHandlerTest.php index 2bae9aa..d2d6a67 100644 --- a/client/tests/phpunit/unit/includes/Hooks/SkinAfterPortletHandlerTest.php +++ b/client/tests/phpunit/unit/includes/Hooks/SkinAfterPortletHandlerTest.php @@ -157,7 +157,7 @@ class SkinAfterPortletHandlerTest extends TestCase { $context->method( 'getLanguage' ) ->willReturn( $lang ); $context->method( 'msg' ) - ->willReturnCallback( function ( $key ) use ( $lang ) { + ->willReturnCallback( static function ( $key ) use ( $lang ) { return ( new RawMessage( "($key)" ) )->inLanguage( $lang ); } ); $context->method( 'getConfig' ) diff --git a/client/tests/phpunit/unit/includes/ServiceWiring/DataTypeDefinitionsTest.php b/client/tests/phpunit/unit/includes/ServiceWiring/DataTypeDefinitionsTest.php index e22efc6..f58caeb 100644 --- a/client/tests/phpunit/unit/includes/ServiceWiring/DataTypeDefinitionsTest.php +++ b/client/tests/phpunit/unit/includes/ServiceWiring/DataTypeDefinitionsTest.php @@ -35,7 +35,7 @@ class DataTypeDefinitionsTest extends ServiceWiringTestCase { public function testRunsHook(): void { $this->configureHookContainer( [ - 'WikibaseClientDataTypes' => [ function ( array &$dataTypes ) { + 'WikibaseClientDataTypes' => [ static function ( array &$dataTypes ) { $dataTypes['PT:test'] = [ 'value-type' => 'string' ]; } ], ] ); diff --git a/client/tests/phpunit/unit/includes/ServiceWiring/DataTypeFactoryTest.php b/client/tests/phpunit/unit/includes/ServiceWiring/DataTypeFactoryTest.php index fb010b2..979cdb8 100644 --- a/client/tests/phpunit/unit/includes/ServiceWiring/DataTypeFactoryTest.php +++ b/client/tests/phpunit/unit/includes/ServiceWiring/DataTypeFactoryTest.php @@ -24,7 +24,7 @@ class DataTypeFactoryTest extends ServiceWiringTestCase { $this->mockService( 'WikibaseClient.DataTypeDefinitions', new DataTypeDefinitions( array_fill_keys( - array_map( function ( $dataTypeId ) { + array_map( static function ( $dataTypeId ) { return 'PT:' . $dataTypeId; }, $mockDataTypeIds ), [ 'value-type' => 'string' ] diff --git a/client/tests/phpunit/unit/includes/ServiceWiring/DataValueDeserializerTest.php b/client/tests/phpunit/unit/includes/ServiceWiring/DataValueDeserializerTest.php index 704990c..d6b6dc0 100644 --- a/client/tests/phpunit/unit/includes/ServiceWiring/DataValueDeserializerTest.php +++ b/client/tests/phpunit/unit/includes/ServiceWiring/DataValueDeserializerTest.php @@ -33,7 +33,7 @@ class DataValueDeserializerTest extends ServiceWiringTestCase { 'wikibase-entityid', ]; - yield from array_map( function ( $dataValue ) { + yield from array_map( static function ( $dataValue ) { return [ $dataValue ]; }, $dataValues ); } diff --git a/client/tests/phpunit/unit/includes/ServiceWiring/EntityDifferTest.php b/client/tests/phpunit/unit/includes/ServiceWiring/EntityDifferTest.php index 445b499..4806d7d 100644 --- a/client/tests/phpunit/unit/includes/ServiceWiring/EntityDifferTest.php +++ b/client/tests/phpunit/unit/includes/ServiceWiring/EntityDifferTest.php @@ -26,13 +26,13 @@ class EntityDifferTest extends ServiceWiringTestCase { $this->mockService( 'WikibaseClient.EntityTypeDefinitions', new EntityTypeDefinitions( [ 'test1' => [ - EntityTypeDefinitions::ENTITY_DIFFER_STRATEGY_BUILDER => function () use ( &$calls1, $strategy1 ) { + EntityTypeDefinitions::ENTITY_DIFFER_STRATEGY_BUILDER => static function () use ( &$calls1, $strategy1 ) { $calls1++; return $strategy1; }, ], 'test2' => [ - EntityTypeDefinitions::ENTITY_DIFFER_STRATEGY_BUILDER => function () use ( &$calls2, $strategy2 ) { + EntityTypeDefinitions::ENTITY_DIFFER_STRATEGY_BUILDER => static function () use ( &$calls2, $strategy2 ) { $calls2++; return $strategy2; }, diff --git a/client/tests/phpunit/unit/includes/ServiceWiring/EntityIdComposerTest.php b/client/tests/phpunit/unit/includes/ServiceWiring/EntityIdComposerTest.php index 3d350bc..d6f89c3 100644 --- a/client/tests/phpunit/unit/includes/ServiceWiring/EntityIdComposerTest.php +++ b/client/tests/phpunit/unit/includes/ServiceWiring/EntityIdComposerTest.php @@ -22,7 +22,7 @@ class EntityIdComposerTest extends ServiceWiringTestCase { $this->mockService( 'WikibaseClient.EntityTypeDefinitions', new EntityTypeDefinitions( [ 'test' => [ - EntityTypeDefinitions::ENTITY_ID_COMPOSER_CALLBACK => function ( $uniquePart ) { + EntityTypeDefinitions::ENTITY_ID_COMPOSER_CALLBACK => static function ( $uniquePart ) { return new ItemId( 'Q' . $uniquePart ); }, ], diff --git a/client/tests/phpunit/unit/includes/ServiceWiring/EntityIdParserTest.php b/client/tests/phpunit/unit/includes/ServiceWiring/EntityIdParserTest.php index 64b298c..8c983b8 100644 --- a/client/tests/phpunit/unit/includes/ServiceWiring/EntityIdParserTest.php +++ b/client/tests/phpunit/unit/includes/ServiceWiring/EntityIdParserTest.php @@ -18,7 +18,7 @@ use Wikibase\Lib\EntityTypeDefinitions; */ class EntityIdParserTest extends ServiceWiringTestCase { private function makeIdBuilder( $prefix ): callable { - return function ( $serialization ) use ( $prefix ) { + return static function ( $serialization ) use ( $prefix ) { return new ItemId( 'Q' . $prefix . substr( $serialization, 1 ) ); }; } diff --git a/client/tests/phpunit/unit/includes/ServiceWiring/EntityNamespaceLookupTest.php b/client/tests/phpunit/unit/includes/ServiceWiring/EntityNamespaceLookupTest.php index decf7ee..5f11a8c 100644 --- a/client/tests/phpunit/unit/includes/ServiceWiring/EntityNamespaceLookupTest.php +++ b/client/tests/phpunit/unit/includes/ServiceWiring/EntityNamespaceLookupTest.php @@ -21,7 +21,7 @@ class EntityNamespaceLookupTest extends ServiceWiringTestCase { private function getEntitySources( array ...$entityNSDefinitions ): EntitySourceDefinitions { return new EntitySourceDefinitions( array_map( - function ( array $nsDefinitions, int $idx ): DatabaseEntitySource { + static function ( array $nsDefinitions, int $idx ): DatabaseEntitySource { return new DatabaseEntitySource( 'test-' . $idx, false, diff --git a/client/tests/phpunit/unit/includes/ServiceWiring/EntityTypeDefinitionsTest.php b/client/tests/phpunit/unit/includes/ServiceWiring/EntityTypeDefinitionsTest.php index 5c111c0..a4feff1 100644 --- a/client/tests/phpunit/unit/includes/ServiceWiring/EntityTypeDefinitionsTest.php +++ b/client/tests/phpunit/unit/includes/ServiceWiring/EntityTypeDefinitionsTest.php @@ -24,7 +24,7 @@ class EntityTypeDefinitionsTest extends ServiceWiringTestCase { public function testRunsHook(): void { $this->configureHookContainer( [ - 'WikibaseClientEntityTypes' => [ function ( array &$entityTypes ) { + 'WikibaseClientEntityTypes' => [ static function ( array &$entityTypes ) { $entityTypes['test'] = []; } ], ] ); diff --git a/client/tests/phpunit/unit/includes/ServiceWiring/WikibaseContentLanguagesTest.php b/client/tests/phpunit/unit/includes/ServiceWiring/WikibaseContentLanguagesTest.php index e451453..daad11d 100644 --- a/client/tests/phpunit/unit/includes/ServiceWiring/WikibaseContentLanguagesTest.php +++ b/client/tests/phpunit/unit/includes/ServiceWiring/WikibaseContentLanguagesTest.php @@ -21,7 +21,7 @@ class WikibaseContentLanguagesTest extends ServiceWiringTestCase { public function testConstruction() { $testLanguages = new StaticContentLanguages( [ 'test' ] ); $this->configureHookContainer( [ - 'WikibaseContentLanguages' => [ function ( array &$contentLanguages ) use ( $testLanguages ) { + 'WikibaseContentLanguages' => [ static function ( array &$contentLanguages ) use ( $testLanguages ) { $contentLanguages['test'] = $testLanguages; } ], ] ); diff --git a/client/tests/phpunit/unit/includes/Store/DescriptionLookupTest.php b/client/tests/phpunit/unit/includes/Store/DescriptionLookupTest.php index f416454..89d91ff 100644 --- a/client/tests/phpunit/unit/includes/Store/DescriptionLookupTest.php +++ b/client/tests/phpunit/unit/includes/Store/DescriptionLookupTest.php @@ -201,13 +201,13 @@ class DescriptionLookupTest extends TestCase { $pageProps = $this->createMock( PageProps::class ); $pageProps->method( 'getProperties' ) ->with( $this->anything(), DescriptionLookup::LOCAL_PROPERTY_NAME ) - ->willReturnCallback( function ( $titlesByPageId ) use ( $localDescriptions ) { - return array_filter( array_map( function ( Title $title ) use ( $localDescriptions ) { + ->willReturnCallback( static function ( $titlesByPageId ) use ( $localDescriptions ) { + return array_filter( array_map( static function ( Title $title ) use ( $localDescriptions ) { if ( !array_key_exists( $title->getArticleID(), $localDescriptions ) ) { return null; } return $localDescriptions[$title->getArticleID()]; - }, $titlesByPageId ), function ( $description ) { + }, $titlesByPageId ), static function ( $description ) { return $description !== null; } ); } ); @@ -230,8 +230,8 @@ class DescriptionLookupTest extends TestCase { $idLookup = $this->getMockBuilder( EntityIdLookup::class ) ->getMockForAbstractClass(); $idLookup->method( 'getEntityIds' ) - ->willReturnCallback( function ( $titlesByPageId ) use ( $centralDescriptions ) { - return array_filter( array_map( function ( Title $title ) use ( $centralDescriptions ) { + ->willReturnCallback( static function ( $titlesByPageId ) use ( $centralDescriptions ) { + return array_filter( array_map( static function ( Title $title ) use ( $centralDescriptions ) { if ( !array_key_exists( $title->getArticleID(), $centralDescriptions ) ) { return null; } @@ -258,7 +258,7 @@ class DescriptionLookupTest extends TestCase { $termBuffer = $this->createMock( TermBuffer::class ); $termBuffer->method( 'getPrefetchedTerm' ) ->willReturnCallback( - function ( $entityId, $termType, $langCode ) use ( $centralDescriptions ) { + static function ( $entityId, $termType, $langCode ) use ( $centralDescriptions ) { $pageId = (int)substr( $entityId->getSerialization(), 1 ); $description = $centralDescriptions[$pageId]; if ( is_array( $description ) ) { diff --git a/client/tests/phpunit/unit/includes/Usage/UsageTrackingSnakFormatterTest.php b/client/tests/phpunit/unit/includes/Usage/UsageTrackingSnakFormatterTest.php index b608641..ad44acd 100644 --- a/client/tests/phpunit/unit/includes/Usage/UsageTrackingSnakFormatterTest.php +++ b/client/tests/phpunit/unit/includes/Usage/UsageTrackingSnakFormatterTest.php @@ -94,7 +94,7 @@ class UsageTrackingSnakFormatterTest extends \PHPUnit\Framework\TestCase { $parser = $this->createMock( EntityIdParser::class ); $parser->expects( $this->once() ) ->method( 'parse' ) - ->willReturnCallback( function ( $id ) { + ->willReturnCallback( static function ( $id ) { return $id === '1' ? null : new ItemId( $id ); } ); diff --git a/composer.json b/composer.json index b6fc5ab..33bcde5 100644 --- a/composer.json +++ b/composer.json @@ -42,7 +42,7 @@ "swaggest/json-diff": "^3.11.0" }, "require-dev": { - "mediawiki/mediawiki-codesniffer": "dev-master#fd6ecb5ffbe353507ca05387176db02f0f41f6fe", + "mediawiki/mediawiki-codesniffer": "45.0.0", "mediawiki/mediawiki-phan-config": "0.15.0", "mediawiki/minus-x": "1.1.3", "php-parallel-lint/php-console-highlighter": "1.0.0", diff --git a/data-access/src/ByTypeDispatchingEntityIdLookup.php b/data-access/src/ByTypeDispatchingEntityIdLookup.php index b5f867e..d9d523b 100644 --- a/data-access/src/ByTypeDispatchingEntityIdLookup.php +++ b/data-access/src/ByTypeDispatchingEntityIdLookup.php @@ -60,7 +60,7 @@ class ByTypeDispatchingEntityIdLookup implements EntityIdLookup { $results = array_replace( $results, $entityIds ); } - return array_filter( $results, function ( $id ) { + return array_filter( $results, static function ( $id ) { return $id instanceof EntityId; } ); } diff --git a/data-access/tests/phpunit/ByTypeDispatchingEntityIdLookupTest.php b/data-access/tests/phpunit/ByTypeDispatchingEntityIdLookupTest.php index 255d2dd..f5e834a 100644 --- a/data-access/tests/phpunit/ByTypeDispatchingEntityIdLookupTest.php +++ b/data-access/tests/phpunit/ByTypeDispatchingEntityIdLookupTest.php @@ -65,7 +65,7 @@ class ByTypeDispatchingEntityIdLookupTest extends TestCase { $lookup = $this->createMock( EntityIdLookup::class ); $lookup ->method( 'getEntityIds' ) - ->willReturnCallback( function ( $titles ) use ( $map ) { + ->willReturnCallback( static function ( $titles ) use ( $map ) { $results = []; foreach ( $titles as $title ) { $dbKey = $title->getPrefixedDBkey(); @@ -77,7 +77,7 @@ class ByTypeDispatchingEntityIdLookupTest extends TestCase { } ); $lookup ->method( 'getEntityIdForTitle' ) - ->willReturnCallback( function ( $title ) use ( $map ) { + ->willReturnCallback( static function ( $title ) use ( $map ) { return $map[$title->getPrefixedDBkey()] ?? null; } ); return $lookup; diff --git a/data-access/tests/phpunit/ByTypeDispatchingEntityRevisionLookupTest.php b/data-access/tests/phpunit/ByTypeDispatchingEntityRevisionLookupTest.php index 8728d41..a59e484 100644 --- a/data-access/tests/phpunit/ByTypeDispatchingEntityRevisionLookupTest.php +++ b/data-access/tests/phpunit/ByTypeDispatchingEntityRevisionLookupTest.php @@ -129,7 +129,7 @@ class ByTypeDispatchingEntityRevisionLookupTest extends TestCase { $shouldNotBeCalled = function () { $this->fail( 'Should not be called' ); }; - $returnTrue = function () { + $returnTrue = static function () { return true; }; diff --git a/data-access/tests/phpunit/SourceAndTypeDispatchingPrefetchingTermLookupTest.php b/data-access/tests/phpunit/SourceAndTypeDispatchingPrefetchingTermLookupTest.php index 1fe9296..48703cd 100644 --- a/data-access/tests/phpunit/SourceAndTypeDispatchingPrefetchingTermLookupTest.php +++ b/data-access/tests/phpunit/SourceAndTypeDispatchingPrefetchingTermLookupTest.php @@ -46,9 +46,9 @@ class SourceAndTypeDispatchingPrefetchingTermLookupTest extends TestCase { $this->callbacks = [ 'some-source' => [ - 'item' => function () use ( $itemPrefetchingLookup ) { return $itemPrefetchingLookup; + 'item' => static function () use ( $itemPrefetchingLookup ) { return $itemPrefetchingLookup; }, - 'property' => function () use ( $propertyPrefetchingLookup ) { return $propertyPrefetchingLookup; + 'property' => static function () use ( $propertyPrefetchingLookup ) { return $propertyPrefetchingLookup; }, ], ]; @@ -71,9 +71,9 @@ class SourceAndTypeDispatchingPrefetchingTermLookupTest extends TestCase { $this->callbacks = [ 'some-source' => [ - 'item' => function () use ( $itemPrefetchingLookup ) { return $itemPrefetchingLookup; + 'item' => static function () use ( $itemPrefetchingLookup ) { return $itemPrefetchingLookup; }, - 'property' => function () use ( $propertyPrefetchingLookup ) { return $propertyPrefetchingLookup; + 'property' => static function () use ( $propertyPrefetchingLookup ) { return $propertyPrefetchingLookup; }, ], ]; @@ -95,9 +95,9 @@ class SourceAndTypeDispatchingPrefetchingTermLookupTest extends TestCase { $this->callbacks = [ 'some-source' => [ - 'item' => function () use ( $itemPrefetchingLookup ) { return $itemPrefetchingLookup; + 'item' => static function () use ( $itemPrefetchingLookup ) { return $itemPrefetchingLookup; }, - 'property' => function () use ( $propertyPrefetchingLookup ) { return $propertyPrefetchingLookup; + 'property' => static function () use ( $propertyPrefetchingLookup ) { return $propertyPrefetchingLookup; }, ], ]; @@ -118,7 +118,7 @@ class SourceAndTypeDispatchingPrefetchingTermLookupTest extends TestCase { $this->callbacks = [ 'some-source' => [ - 'item' => function () use ( $itemPrefetchingLookup ) { return $itemPrefetchingLookup; + 'item' => static function () use ( $itemPrefetchingLookup ) { return $itemPrefetchingLookup; }, ], ]; @@ -136,7 +136,7 @@ class SourceAndTypeDispatchingPrefetchingTermLookupTest extends TestCase { $this->callbacks = [ 'some-source' => [ - 'item' => function () use ( $innerLookup ) { return $innerLookup; + 'item' => static function () use ( $innerLookup ) { return $innerLookup; }, ], ]; @@ -155,7 +155,7 @@ class SourceAndTypeDispatchingPrefetchingTermLookupTest extends TestCase { $this->callbacks = [ 'some-source' => [ - 'item' => function () use ( $innerLookup ) { return $innerLookup; + 'item' => static function () use ( $innerLookup ) { return $innerLookup; }, ], ]; @@ -173,7 +173,7 @@ class SourceAndTypeDispatchingPrefetchingTermLookupTest extends TestCase { $this->callbacks = [ 'some-source' => [ - 'item' => function () use ( $innerLookup ) { return $innerLookup; + 'item' => static function () use ( $innerLookup ) { return $innerLookup; }, ], ]; diff --git a/lib/WikibaseLib.entitytypes.php b/lib/WikibaseLib.entitytypes.php index 5e44661..8cbe481 100644 --- a/lib/WikibaseLib.entitytypes.php +++ b/lib/WikibaseLib.entitytypes.php @@ -27,44 +27,44 @@ use Wikibase\Lib\EntityTypeDefinitions as Def; return [ 'item' => [ - Def::SERIALIZER_FACTORY_CALLBACK => function( SerializerFactory $serializerFactory ) { + Def::SERIALIZER_FACTORY_CALLBACK => static function( SerializerFactory $serializerFactory ) { return $serializerFactory->newItemSerializer(); }, - Def::DESERIALIZER_FACTORY_CALLBACK => function( DeserializerFactory $deserializerFactory ) { + Def::DESERIALIZER_FACTORY_CALLBACK => static function( DeserializerFactory $deserializerFactory ) { return $deserializerFactory->newItemDeserializer(); }, Def::ENTITY_ID_PATTERN => ItemId::PATTERN, - Def::ENTITY_ID_BUILDER => function( $serialization ) { + Def::ENTITY_ID_BUILDER => static function( $serialization ) { return new ItemId( $serialization ); }, - Def::ENTITY_ID_COMPOSER_CALLBACK => function( $uniquePart ) { + Def::ENTITY_ID_COMPOSER_CALLBACK => static function( $uniquePart ) { return new ItemId( 'Q' . $uniquePart ); }, - Def::ENTITY_DIFFER_STRATEGY_BUILDER => function() { + Def::ENTITY_DIFFER_STRATEGY_BUILDER => static function() { return new ItemDiffer(); }, - Def::ENTITY_PATCHER_STRATEGY_BUILDER => function() { + Def::ENTITY_PATCHER_STRATEGY_BUILDER => static function() { return new ItemPatcher(); }, ], 'property' => [ - Def::SERIALIZER_FACTORY_CALLBACK => function( SerializerFactory $serializerFactory ) { + Def::SERIALIZER_FACTORY_CALLBACK => static function( SerializerFactory $serializerFactory ) { return $serializerFactory->newPropertySerializer(); }, - Def::DESERIALIZER_FACTORY_CALLBACK => function( DeserializerFactory $deserializerFactory ) { + Def::DESERIALIZER_FACTORY_CALLBACK => static function( DeserializerFactory $deserializerFactory ) { return $deserializerFactory->newPropertyDeserializer(); }, Def::ENTITY_ID_PATTERN => NumericPropertyId::PATTERN, - Def::ENTITY_ID_BUILDER => function( $serialization ) { + Def::ENTITY_ID_BUILDER => static function( $serialization ) { return new NumericPropertyId( $serialization ); }, - Def::ENTITY_ID_COMPOSER_CALLBACK => function( $uniquePart ) { + Def::ENTITY_ID_COMPOSER_CALLBACK => static function( $uniquePart ) { return new NumericPropertyId( 'P' . $uniquePart ); }, - Def::ENTITY_DIFFER_STRATEGY_BUILDER => function() { + Def::ENTITY_DIFFER_STRATEGY_BUILDER => static function() { return new PropertyDiffer(); }, - Def::ENTITY_PATCHER_STRATEGY_BUILDER => function() { + Def::ENTITY_PATCHER_STRATEGY_BUILDER => static function() { return new PropertyPatcher(); }, ], diff --git a/lib/includes/DataTypeDefinitions.php b/lib/includes/DataTypeDefinitions.php index d055f0d..650d5e8 100644 --- a/lib/includes/DataTypeDefinitions.php +++ b/lib/includes/DataTypeDefinitions.php @@ -384,7 +384,7 @@ class DataTypeDefinitions { */ public function getRdfDataTypes() { return array_map( - function ( $dataType ) { + static function ( $dataType ) { if ( is_callable( $dataType ) ) { $dataType = ( $dataType )(); } diff --git a/lib/includes/Formatters/AutoCommentFormatter.php b/lib/includes/Formatters/AutoCommentFormatter.php index 143ef88..ab91703 100644 --- a/lib/includes/Formatters/AutoCommentFormatter.php +++ b/lib/includes/Formatters/AutoCommentFormatter.php @@ -98,7 +98,7 @@ class AutoCommentFormatter { return null; } - $args = array_map( function ( $arg ) { + $args = array_map( static function ( $arg ) { // MediaWiki HTML-escaped the auto-comment already, // undo that, then wikitext-escape the args for the message // (no message requires formatted params and some args are user-controlled) diff --git a/lib/includes/LanguageFallbackChainFactory.php b/lib/includes/LanguageFallbackChainFactory.php index a311942..bea5bc8 100644 --- a/lib/includes/LanguageFallbackChainFactory.php +++ b/lib/includes/LanguageFallbackChainFactory.php @@ -287,7 +287,7 @@ class LanguageFallbackChainFactory { $babelCategoryNames = array_filter( $wgBabelCategoryNames, - function( $category ) { + static function( $category ) { return $category !== false; } ); diff --git a/lib/includes/Serialization/CallbackFactory.php b/lib/includes/Serialization/CallbackFactory.php index b649453..618b9a0 100644 --- a/lib/includes/Serialization/CallbackFactory.php +++ b/lib/includes/Serialization/CallbackFactory.php @@ -23,7 +23,7 @@ class CallbackFactory { * @return callable */ public function getCallbackToIndexTags( $tagName ) { - return function( $array ) use ( $tagName ) { + return static function( $array ) use ( $tagName ) { if ( is_array( $array ) ) { ApiResult::setIndexedTagName( $array, $tagName ); } @@ -40,7 +40,7 @@ class CallbackFactory { * @return callable */ public function getCallbackToSetArrayType( $type, $kvpKeyName = null ) { - return function( $array ) use ( $type, $kvpKeyName ) { + return static function( $array ) use ( $type, $kvpKeyName ) { if ( is_array( $array ) ) { ApiResult::setArrayType( $array, $type, $kvpKeyName ); } diff --git a/lib/includes/Store/CacheRetrievingEntityRevisionLookup.php b/lib/includes/Store/CacheRetrievingEntityRevisionLookup.php index fd11508..9672943 100644 --- a/lib/includes/Store/CacheRetrievingEntityRevisionLookup.php +++ b/lib/includes/Store/CacheRetrievingEntityRevisionLookup.php @@ -101,11 +101,11 @@ class CacheRetrievingEntityRevisionLookup implements EntityRevisionLookup { if ( $entityRevision !== null ) { if ( $revisionId === 0 && $this->shouldVerifyRevision ) { $latestRevisionIdResult = $this->lookup->getLatestRevisionId( $entityId, $mode ); - $returnFalse = function () { + $returnFalse = static function () { return false; }; - $latestRevision = $latestRevisionIdResult->onConcreteRevision( function ( $revId ) { + $latestRevision = $latestRevisionIdResult->onConcreteRevision( static function ( $revId ) { return $revId; } ) ->onRedirect( $returnFalse ) diff --git a/lib/includes/Store/RedirectResolvingLatestRevisionLookup.php b/lib/includes/Store/RedirectResolvingLatestRevisionLookup.php index 65d5010..09b7f6b 100644 --- a/lib/includes/Store/RedirectResolvingLatestRevisionLookup.php +++ b/lib/includes/Store/RedirectResolvingLatestRevisionLookup.php @@ -34,12 +34,12 @@ class RedirectResolvingLatestRevisionLookup { } $revisionIdResult = $this->revisionLookup->getLatestRevisionId( $entityId ); - $returnNull = function () { + $returnNull = static function () { return null; }; $resolutionResult = $revisionIdResult - ->onConcreteRevision( function ( $revisionId ) use ( $entityId ) { + ->onConcreteRevision( static function ( $revisionId ) use ( $entityId ) { return [ $revisionId, $entityId ]; } ) ->onNonexistentEntity( $returnNull ) @@ -47,7 +47,7 @@ class RedirectResolvingLatestRevisionLookup { return $this->revisionLookup->getLatestRevisionId( $redirectsTo ) ->onNonexistentEntity( $returnNull ) ->onRedirect( $returnNull ) - ->onConcreteRevision( function ( $revisionId ) use ( $redirectsTo ) { + ->onConcreteRevision( static function ( $revisionId ) use ( $redirectsTo ) { return [ $revisionId, $redirectsTo ]; } ) ->map(); diff --git a/lib/includes/Store/RevisionBasedEntityLookup.php b/lib/includes/Store/RevisionBasedEntityLookup.php index d01df62..5c5cb6f 100644 --- a/lib/includes/Store/RevisionBasedEntityLookup.php +++ b/lib/includes/Store/RevisionBasedEntityLookup.php @@ -63,10 +63,10 @@ class RevisionBasedEntityLookup implements EntityLookup { * @return bool */ public function hasEntity( EntityId $entityId ) { - $returnFalse = function () { + $returnFalse = static function () { return false; }; - $returnTrue = function () { + $returnTrue = static function () { return true; }; @@ -77,7 +77,7 @@ class RevisionBasedEntityLookup implements EntityLookup { ->onConcreteRevision( $returnTrue ) ->onNonexistentEntity( $returnFalse ) // @phan-suppress-next-line PhanPluginNeverReturnFunction - ->onRedirect( function ( $revisionId, EntityId $redirectsTo ) use ( $entityId ) { + ->onRedirect( static function ( $revisionId, EntityId $redirectsTo ) use ( $entityId ) { throw new UnresolvedEntityRedirectException( $entityId, $redirectsTo ); } ) diff --git a/lib/includes/Store/RevisionBasedEntityRedirectTargetLookup.php b/lib/includes/Store/RevisionBasedEntityRedirectTargetLookup.php index f570840..0b838c9 100644 --- a/lib/includes/Store/RevisionBasedEntityRedirectTargetLookup.php +++ b/lib/includes/Store/RevisionBasedEntityRedirectTargetLookup.php @@ -20,7 +20,7 @@ class RevisionBasedEntityRedirectTargetLookup implements EntityRedirectTargetLoo * @inheritDoc */ public function getRedirectForEntityId( EntityId $entityId, $forUpdate = '' ): ?EntityId { - $returnNull = function () { + $returnNull = static function () { return null; }; @@ -31,7 +31,7 @@ class RevisionBasedEntityRedirectTargetLookup implements EntityRedirectTargetLoo return $this->entityRevisionLookup->getLatestRevisionId( $entityId, $lookupMode ) ->onNonexistentEntity( $returnNull ) ->onConcreteRevision( $returnNull ) - ->onRedirect( function ( $revision, EntityId $redirectTarget ) { + ->onRedirect( static function ( $revision, EntityId $redirectTarget ) { return $redirectTarget; } ) ->map(); diff --git a/lib/includes/Store/Sql/SiteLinkTable.php b/lib/includes/Store/Sql/SiteLinkTable.php index 4590a7e..0e3b55b 100644 --- a/lib/includes/Store/Sql/SiteLinkTable.php +++ b/lib/includes/Store/Sql/SiteLinkTable.php @@ -73,7 +73,7 @@ class SiteLinkTable implements SiteLinkStore { return array_udiff( $siteLinks1, $siteLinks2, - function( SiteLink $a, SiteLink $b ) { + static function( SiteLink $a, SiteLink $b ) { $result = strcmp( $a->getSiteId(), $b->getSiteId() ); if ( $result === 0 ) { diff --git a/lib/includes/Store/Sql/Terms/DatabaseTermInLangIdsAcquirer.php b/lib/includes/Store/Sql/Terms/DatabaseTermInLangIdsAcquirer.php index cc245eb..bca2033 100644 --- a/lib/includes/Store/Sql/Terms/DatabaseTermInLangIdsAcquirer.php +++ b/lib/includes/Store/Sql/Terms/DatabaseTermInLangIdsAcquirer.php @@ -118,13 +118,13 @@ class DatabaseTermInLangIdsAcquirer implements TermInLangIdsAcquirer { ) { $texts = []; - array_walk_recursive( $termsArray, function ( $text ) use ( &$texts ) { + array_walk_recursive( $termsArray, static function ( $text ) use ( &$texts ) { $texts[] = $text; } ); $textIds = $this->acquireTextIds( $texts, $textIdsAcquirer ); - array_walk_recursive( $termsArray, function ( &$text ) use ( $textIds ) { + array_walk_recursive( $termsArray, static function ( &$text ) use ( $textIds ) { $text = $textIds[$text]; } ); @@ -354,7 +354,7 @@ class DatabaseTermInLangIdsAcquirer implements TermInLangIdsAcquirer { } return array_map( - function ( $record, $idToRestore ) { + static function ( $record, $idToRestore ) { $record['wbtl_id'] = $idToRestore; return $record; }, diff --git a/lib/includes/Store/Sql/Terms/Util/ReplicaPrimaryAwareRecordIdsAcquirer.php b/lib/includes/Store/Sql/Terms/Util/ReplicaPrimaryAwareRecordIdsAcquirer.php index e4012b7..3e8fcff 100644 --- a/lib/includes/Store/Sql/Terms/Util/ReplicaPrimaryAwareRecordIdsAcquirer.php +++ b/lib/includes/Store/Sql/Terms/Util/ReplicaPrimaryAwareRecordIdsAcquirer.php @@ -244,7 +244,7 @@ class ReplicaPrimaryAwareRecordIdsAcquirer { * @return array */ private function findExistingRecords( IReadableDatabase $db, array $neededRecords ): array { - $recordsSelectConditions = array_map( function ( $record ) use ( $db ) { + $recordsSelectConditions = array_map( static function ( $record ) use ( $db ) { return $db->andExpr( $record ); }, $neededRecords ); diff --git a/lib/includes/Store/Sql/WikiPageEntityMetaDataLookup.php b/lib/includes/Store/Sql/WikiPageEntityMetaDataLookup.php index 6c31589..998deee 100644 --- a/lib/includes/Store/Sql/WikiPageEntityMetaDataLookup.php +++ b/lib/includes/Store/Sql/WikiPageEntityMetaDataLookup.php @@ -284,7 +284,7 @@ class WikiPageEntityMetaDataLookup implements WikiPageEntityMetaDataAccessor { ); return array_map( - function ( $revisionInformation ) { + static function ( $revisionInformation ) { if ( !is_object( $revisionInformation ) ) { return $revisionInformation; } diff --git a/lib/packages/wikibase/changes/src/EntityChange.php b/lib/packages/wikibase/changes/src/EntityChange.php index 7fa8407..0acb5bf 100644 --- a/lib/packages/wikibase/changes/src/EntityChange.php +++ b/lib/packages/wikibase/changes/src/EntityChange.php @@ -178,7 +178,7 @@ class EntityChange extends DiffChange { if ( defined( 'MW_PHPUNIT_TEST' ) ) { array_walk_recursive( $info, - function ( $v ) { + static function ( $v ) { if ( is_object( $v ) ) { throw new UnexpectedValueException( "Refusing to serialize PHP object of type " . get_class( $v ) ); diff --git a/lib/packages/wikibase/changes/tests/EntityChangeTest.php b/lib/packages/wikibase/changes/tests/EntityChangeTest.php index 986f36c..b969e50 100644 --- a/lib/packages/wikibase/changes/tests/EntityChangeTest.php +++ b/lib/packages/wikibase/changes/tests/EntityChangeTest.php @@ -42,13 +42,13 @@ class EntityChangeTest extends ChangeRowTest { $changes = array_filter( TestChanges::getChanges(), - function( EntityChange $change ) use ( $rowClass ) { + static function( EntityChange $change ) use ( $rowClass ) { return is_a( $change, $rowClass ); } ); $cases = array_map( - function( EntityChange $change ) { + static function( EntityChange $change ) { return [ $change ]; }, $changes ); diff --git a/lib/packages/wikibase/changes/tests/ItemChangeTest.php b/lib/packages/wikibase/changes/tests/ItemChangeTest.php index 02371f1..51b091c 100644 --- a/lib/packages/wikibase/changes/tests/ItemChangeTest.php +++ b/lib/packages/wikibase/changes/tests/ItemChangeTest.php @@ -33,12 +33,12 @@ class ItemChangeTest extends EntityChangeTest { public static function itemChangeProvider() { $changes = array_filter( TestChanges::getChanges(), - function( EntityChange $change ) { + static function( EntityChange $change ) { return ( $change instanceof ItemChange ); } ); - $cases = array_map( function( ItemChange $change ) { + $cases = array_map( static function( ItemChange $change ) { return [ $change ]; }, $changes ); diff --git a/lib/packages/wikibase/data-model-serialization/tests/unit/Deserializers/SnakValueDeserializerTest.php b/lib/packages/wikibase/data-model-serialization/tests/unit/Deserializers/SnakValueDeserializerTest.php index 3e8a170..c0bc9c3 100644 --- a/lib/packages/wikibase/data-model-serialization/tests/unit/Deserializers/SnakValueDeserializerTest.php +++ b/lib/packages/wikibase/data-model-serialization/tests/unit/Deserializers/SnakValueDeserializerTest.php @@ -56,7 +56,7 @@ class SnakValueDeserializerTest extends TestCase { public function testGivenBuilderThrows_rethrowsAsDeserializationException(): void { $deserializer = $this->newDeserializer( [ - 'PT:throwy-type' => function () { + 'PT:throwy-type' => static function () { throw new InvalidArgumentException( 'builder unhappy' ); }, ] ); diff --git a/lib/packages/wikibase/data-model/tests/unit/NewItem.php b/lib/packages/wikibase/data-model/tests/unit/NewItem.php index 3559da3..64a1a5c 100644 --- a/lib/packages/wikibase/data-model/tests/unit/NewItem.php +++ b/lib/packages/wikibase/data-model/tests/unit/NewItem.php @@ -187,7 +187,7 @@ class NewItem { public function andSiteLink( $siteId, $pageName, $badges = null ) { $copy = clone $this; if ( $badges !== null ) { - $badges = array_map( function ( $badge ) { + $badges = array_map( static function ( $badge ) { return $badge instanceof ItemId ? $badge : new ItemId( $badge ); }, (array)$badges ); } diff --git a/lib/resources/Resources.php b/lib/resources/Resources.php index 3e72738..81ef4d8 100644 --- a/lib/resources/Resources.php +++ b/lib/resources/Resources.php @@ -17,7 +17,7 @@ use Wikibase\Repo\WikibaseRepo; * * @codeCoverageIgnoreStart */ -return call_user_func( function() { +return call_user_func( static function() { $moduleTemplate = [ 'localBasePath' => __DIR__, 'remoteExtPath' => 'Wikibase/lib/resources', @@ -26,7 +26,7 @@ return call_user_func( function() { $modules = [ 'mw.config.values.wbCurrentSiteDetails' => $moduleTemplate + [ - 'factory' => function () { + 'factory' => static function () { return new CurrentSiteModule( WikibaseSettings::isClientEnabled() ? WikibaseClient::getSettings() : null, WikibaseSettings::isRepoEnabled() ? WikibaseRepo::getSettings() : null, @@ -41,7 +41,7 @@ return call_user_func( function() { ], 'mw.config.values.wbSiteDetails' => $moduleTemplate + [ - 'factory' => function () { + 'factory' => static function () { return new SitesModule( WikibaseSettings::isClientEnabled() ? WikibaseClient::getSettings() : null, WikibaseSettings::isRepoEnabled() ? WikibaseRepo::getSettings() : null, diff --git a/lib/tests/phpunit/DataTypeDefinitionsTest.php b/lib/tests/phpunit/DataTypeDefinitionsTest.php index 58cb5b9..5be8cf8 100644 --- a/lib/tests/phpunit/DataTypeDefinitionsTest.php +++ b/lib/tests/phpunit/DataTypeDefinitionsTest.php @@ -42,7 +42,7 @@ class DataTypeDefinitionsTest extends \PHPUnit\Framework\TestCase { 'PT:bar' => [ 'value-type' => 'BAR', 'formatter-factory-callback' => 'DataTypeDefinitionsTest::getBarFormatter', - 'rdf-data-type' => function () { + 'rdf-data-type' => static function () { return 'acme-test-2'; }, ], diff --git a/lib/tests/phpunit/DataValueFactoryTest.php b/lib/tests/phpunit/DataValueFactoryTest.php index c1cfe67..73256c0 100644 --- a/lib/tests/phpunit/DataValueFactoryTest.php +++ b/lib/tests/phpunit/DataValueFactoryTest.php @@ -21,7 +21,7 @@ class DataValueFactoryTest extends \PHPUnit\Framework\TestCase { public function newInstance() { $deserializer = $this->createMock( Deserializer::class ); $deserializer->method( 'deserialize' ) - ->willReturnCallback( function( array $data ) { + ->willReturnCallback( static function( array $data ) { if ( $data['type'] === 'string' ) { return 'success'; } diff --git a/lib/tests/phpunit/EntityFactoryTest.php b/lib/tests/phpunit/EntityFactoryTest.php index a561030..711b7ff 100644 --- a/lib/tests/phpunit/EntityFactoryTest.php +++ b/lib/tests/phpunit/EntityFactoryTest.php @@ -21,10 +21,10 @@ class EntityFactoryTest extends \PHPUnit\Framework\TestCase { private function getEntityFactory() { $instantiators = [ - 'item' => function() { + 'item' => static function() { return new Item(); }, - 'property' => function() { + 'property' => static function() { return Property::newFromType( 'string' ); }, ]; diff --git a/lib/tests/phpunit/EntityRevisionLookupTestCase.php b/lib/tests/phpunit/EntityRevisionLookupTestCase.php index 733f229..0b5c824 100644 --- a/lib/tests/phpunit/EntityRevisionLookupTestCase.php +++ b/lib/tests/phpunit/EntityRevisionLookupTestCase.php @@ -185,7 +185,7 @@ abstract class EntityRevisionLookupTestCase extends MediaWikiIntegrationTestCase $result = $lookup->getLatestRevisionId( $id ); $gotRevisionId = $result->onRedirect( $shouldNotBeCalled ) ->onNonexistentEntity( $shouldNotBeCalled ) - ->onConcreteRevision( function ( $revId ) { + ->onConcreteRevision( static function ( $revId ) { return $revId; } ) ->map(); @@ -209,7 +209,7 @@ abstract class EntityRevisionLookupTestCase extends MediaWikiIntegrationTestCase $result = $lookup->getLatestRevisionId( $itemId ); $gotRevision = $result->onRedirect( $shouldNotBeCalled ) ->onNonexistentEntity( - function () { + static function () { return 'non-existent'; } ) diff --git a/lib/tests/phpunit/EntityTypesTest.php b/lib/tests/phpunit/EntityTypesTest.php index ac495ed..a6f04d5 100644 --- a/lib/tests/phpunit/EntityTypesTest.php +++ b/lib/tests/phpunit/EntityTypesTest.php @@ -61,7 +61,7 @@ class EntityTypesTest extends \PHPUnit\Framework\TestCase { public static function provideEntityTypes() { return array_map( - function( $entityType ) { + static function( $entityType ) { return [ $entityType ]; }, array_keys( self::getRegistry() ) diff --git a/lib/tests/phpunit/Formatters/BinaryOptionDispatchingSnakFormatterTest.php b/lib/tests/phpunit/Formatters/BinaryOptionDispatchingSnakFormatterTest.php index a008448..da0699a 100644 --- a/lib/tests/phpunit/Formatters/BinaryOptionDispatchingSnakFormatterTest.php +++ b/lib/tests/phpunit/Formatters/BinaryOptionDispatchingSnakFormatterTest.php @@ -110,7 +110,7 @@ class BinaryOptionDispatchingSnakFormatterTest extends \PHPUnit\Framework\TestCa private function getPropertyDataTypeLookup() { $propertyDataTypeLookup = $this->createMock( PropertyDataTypeLookup::class ); $propertyDataTypeLookup->method( 'getDataTypeIdForProperty' ) - ->willReturnCallback( function( NumericPropertyId $propertyId ) { + ->willReturnCallback( static function( NumericPropertyId $propertyId ) { switch ( $propertyId->getSerialization() ) { case 'P1': return 'special'; diff --git a/lib/tests/phpunit/Formatters/DispatchingValueFormatterTest.php b/lib/tests/phpunit/Formatters/DispatchingValueFormatterTest.php index b9c9066..1414d85 100644 --- a/lib/tests/phpunit/Formatters/DispatchingValueFormatterTest.php +++ b/lib/tests/phpunit/Formatters/DispatchingValueFormatterTest.php @@ -61,7 +61,7 @@ class DispatchingValueFormatterTest extends \PHPUnit\Framework\TestCase { } public static function formatProvider() { - $formattersFactory = function ( self $self ) { + $formattersFactory = static function ( self $self ) { $stringFormatter = $self->createMock( ValueFormatter::class ); $stringFormatter->method( 'format' ) ->willReturn( 'VT:string' ); @@ -120,7 +120,7 @@ class DispatchingValueFormatterTest extends \PHPUnit\Framework\TestCase { } public static function formatValueProvider() { - $formattersFactory = function ( self $self ) { + $formattersFactory = static function ( self $self ) { $stringFormatter = $self->createMock( ValueFormatter::class ); $stringFormatter->method( 'format' ) ->willReturn( 'VT:string' ); diff --git a/lib/tests/phpunit/Formatters/FormatterLabelDescriptionLookupFactoryTest.php b/lib/tests/phpunit/Formatters/FormatterLabelDescriptionLookupFactoryTest.php index 44a0dcf..f978656 100644 --- a/lib/tests/phpunit/Formatters/FormatterLabelDescriptionLookupFactoryTest.php +++ b/lib/tests/phpunit/Formatters/FormatterLabelDescriptionLookupFactoryTest.php @@ -56,11 +56,11 @@ class FormatterLabelDescriptionLookupFactoryTest extends \PHPUnit\Framework\Test } public static function provideGetLabelDescriptionLookup() { - $termLookupFactory = function ( self $self ) { + $termLookupFactory = static function ( self $self ) { $termLookup = $self->createMock( TermLookup::class ); $termLookup->method( 'getLabel' ) - ->willReturnCallback( function ( $item, $language ) { + ->willReturnCallback( static function ( $item, $language ) { if ( $language === 'de' ) { return 'Kätzchen'; } @@ -74,7 +74,7 @@ class FormatterLabelDescriptionLookupFactoryTest extends \PHPUnit\Framework\Test return $termLookup; }; - $getDeChChain = function ( self $self ) { + $getDeChChain = static function ( self $self ) { $stubContentLanguages = $self->createStub( ContentLanguages::class ); $stubContentLanguages->method( 'hasLanguage' ) ->willReturn( true ); diff --git a/lib/tests/phpunit/Formatters/GlobeCoordinateDetailsFormatterTest.php b/lib/tests/phpunit/Formatters/GlobeCoordinateDetailsFormatterTest.php index ef915a8..aaaf4d3 100644 --- a/lib/tests/phpunit/Formatters/GlobeCoordinateDetailsFormatterTest.php +++ b/lib/tests/phpunit/Formatters/GlobeCoordinateDetailsFormatterTest.php @@ -26,7 +26,7 @@ class GlobeCoordinateDetailsFormatterTest extends \PHPUnit\Framework\TestCase { private function newFormatter( ?FormatterOptions $options = null ) { $vocabularyUriFormatter = $this->createMock( ValueFormatter::class ); $vocabularyUriFormatter->method( 'format' ) - ->willReturnCallback( function( $value ) { + ->willReturnCallback( static function( $value ) { return preg_match( '@^http://www\.wikidata\.org/entity/(.*)@', $value, $matches ) ? "formatted-globe-{$matches[1]}" : $value; diff --git a/lib/tests/phpunit/Formatters/HtmlExternalIdentifierFormatterTest.php b/lib/tests/phpunit/Formatters/HtmlExternalIdentifierFormatterTest.php index 82b2988..39c9764 100644 --- a/lib/tests/phpunit/Formatters/HtmlExternalIdentifierFormatterTest.php +++ b/lib/tests/phpunit/Formatters/HtmlExternalIdentifierFormatterTest.php @@ -24,11 +24,11 @@ use Wikimedia\Assert\ParameterTypeException; class HtmlExternalIdentifierFormatterTest extends \PHPUnit\Framework\TestCase { public static function provideFormatSnak() { - $formatterUrlExpanderFactory = function ( self $self ) { + $formatterUrlExpanderFactory = static function ( self $self ) { $formatterUrlExpander = $self->createMock( SnakUrlExpander::class ); $formatterUrlExpander->method( 'expandUrl' ) - ->willReturnCallback( function( PropertyValueSnak $snak ) { + ->willReturnCallback( static function( PropertyValueSnak $snak ) { if ( $snak->getPropertyId()->getSerialization() === 'P1' ) { $value = $snak->getDataValue()->getValue(); return 'http://acme.test/stuff/' . wfUrlencode( $value ); diff --git a/lib/tests/phpunit/Formatters/ItemPropertyIdHtmlLinkFormatterTest.php b/lib/tests/phpunit/Formatters/ItemPropertyIdHtmlLinkFormatterTest.php index 8039b16..e2b7967 100644 --- a/lib/tests/phpunit/Formatters/ItemPropertyIdHtmlLinkFormatterTest.php +++ b/lib/tests/phpunit/Formatters/ItemPropertyIdHtmlLinkFormatterTest.php @@ -72,7 +72,7 @@ class ItemPropertyIdHtmlLinkFormatterTest extends MediaWikiIntegrationTestCase { $this->languageNameLookup->method( 'getName' ) ->willReturnCallback( - function ( $languageCode ) use ( &$currentUserLanguage ) { + static function ( $languageCode ) use ( &$currentUserLanguage ) { $languageNamesIn = [ 'en' => [ 'en' => 'English', @@ -475,7 +475,7 @@ class ItemPropertyIdHtmlLinkFormatterTest extends MediaWikiIntegrationTestCase { $this->labelDescriptionLookup->method( 'getLabel' ) ->with( $id ) ->willReturnCallback( - function () use ( + static function () use ( $labelLanguage, $labelText, $testCase @@ -547,16 +547,16 @@ class ItemPropertyIdHtmlLinkFormatterTest extends MediaWikiIntegrationTestCase { $isLocal = true; $isRedirect = false; $prefixedTitleText = $itemId; - $title->method( 'isLocal' )->willReturnCallback( function () use ( &$isLocal ) { + $title->method( 'isLocal' )->willReturnCallback( static function () use ( &$isLocal ) { return $isLocal; } ); - $title->method( 'isRedirect' )->willReturnCallback( function () use ( &$isRedirect ) { + $title->method( 'isRedirect' )->willReturnCallback( static function () use ( &$isRedirect ) { return $isRedirect; } ); $title->method( 'isKnown' )->willReturn( true ); $title->method( 'isRedirect' )->willReturn( false ); $title->method( 'getLocalURL' )->willReturn( $this->itemPageUrl( $itemId ) ); - $title->method( 'getPrefixedText' )->willReturnCallback( function () use ( &$prefixedTitleText ) { + $title->method( 'getPrefixedText' )->willReturnCallback( static function () use ( &$prefixedTitleText ) { return $prefixedTitleText; } ); @@ -623,13 +623,13 @@ class ItemPropertyIdHtmlLinkFormatterTest extends MediaWikiIntegrationTestCase { $title = $this->createMock( Title::class ); $isLocal = true; $prefixedTitleText = $propertyId; - $title->method( 'isLocal' )->willReturnCallback( function () use ( &$isLocal ) { + $title->method( 'isLocal' )->willReturnCallback( static function () use ( &$isLocal ) { return $isLocal; } ); $title->method( 'isKnown' )->willReturn( true ); $title->method( 'isRedirect' )->willReturn( false ); $title->method( 'getLocalURL' )->willReturn( $this->propertyPageUrl( $propertyId ) ); - $title->method( 'getPrefixedText' )->willReturnCallback( function () use ( &$prefixedTitleText ) { + $title->method( 'getPrefixedText' )->willReturnCallback( static function () use ( &$prefixedTitleText ) { return $prefixedTitleText; } ); diff --git a/lib/tests/phpunit/Formatters/LabelsProviderEntityIdHtmlLinkFormatterTest.php b/lib/tests/phpunit/Formatters/LabelsProviderEntityIdHtmlLinkFormatterTest.php index e710b55..314f680 100644 --- a/lib/tests/phpunit/Formatters/LabelsProviderEntityIdHtmlLinkFormatterTest.php +++ b/lib/tests/phpunit/Formatters/LabelsProviderEntityIdHtmlLinkFormatterTest.php @@ -222,7 +222,7 @@ class LabelsProviderEntityIdHtmlLinkFormatterTest extends MediaWikiIntegrationTe $languageNameLookup = $this->createMock( LanguageNameLookup::class ); $languageNameLookup->method( 'getNameForTerms' ) ->willReturnCallback( - function ( $languageCode ) { + static function ( $languageCode ) { $names = [ 'de' => 'Deutsch', 'de-at' => 'Österreichisches Deutsch', diff --git a/lib/tests/phpunit/Formatters/OutputFormatSnakFormatterFactoryTest.php b/lib/tests/phpunit/Formatters/OutputFormatSnakFormatterFactoryTest.php index d6d3e69..538f9ad 100644 --- a/lib/tests/phpunit/Formatters/OutputFormatSnakFormatterFactoryTest.php +++ b/lib/tests/phpunit/Formatters/OutputFormatSnakFormatterFactoryTest.php @@ -62,7 +62,7 @@ class OutputFormatSnakFormatterFactoryTest extends \PHPUnit\Framework\TestCase { $messageInLanguageProvider = $this->createMock( MessageInLanguageProvider::class ); $messageInLanguageProvider->method( 'msgInLang' ) - ->willReturnCallback( function ( $key, $lang, ...$params ) use ( $languageFactory ) { + ->willReturnCallback( static function ( $key, $lang, ...$params ) use ( $languageFactory ) { // ignore $lang, always use qqx return new Message( $key, $params, $languageFactory->getLanguage( 'qqx' ) ); } ); @@ -86,7 +86,7 @@ class OutputFormatSnakFormatterFactoryTest extends \PHPUnit\Framework\TestCase { $mock->method( 'format' ) ->willReturnCallback( - function( DataValue $value ) use ( $format ) { + static function( DataValue $value ) use ( $format ) { return strval( $value->getValue() ) . ' (' . $format . ')'; } ); @@ -104,7 +104,7 @@ class OutputFormatSnakFormatterFactoryTest extends \PHPUnit\Framework\TestCase { $mock->method( 'formatSnak' ) ->willReturnCallback( - function( Snak $snak ) use ( $format ) { + static function( Snak $snak ) use ( $format ) { $s = $snak->getType() . '/' . $snak->getPropertyId(); if ( $snak instanceof PropertyValueSnak ) { diff --git a/lib/tests/phpunit/Formatters/OutputFormatValueFormatterFactoryTest.php b/lib/tests/phpunit/Formatters/OutputFormatValueFormatterFactoryTest.php index 07e65dd..aa3e8d6 100644 --- a/lib/tests/phpunit/Formatters/OutputFormatValueFormatterFactoryTest.php +++ b/lib/tests/phpunit/Formatters/OutputFormatValueFormatterFactoryTest.php @@ -61,10 +61,10 @@ class OutputFormatValueFormatterFactoryTest extends \PHPUnit\Framework\TestCase private function newOutputFormatValueFormatterFactory() { $factoryCallbacks = [ - 'VT:string' => function( $format, FormatterOptions $options ) { + 'VT:string' => static function( $format, FormatterOptions $options ) { return new StringFormatter(); }, - 'PT:url' => function( $format, FormatterOptions $options ) { + 'PT:url' => static function( $format, FormatterOptions $options ) { return new StringFormatter(); }, ]; @@ -168,7 +168,7 @@ class OutputFormatValueFormatterFactoryTest extends \PHPUnit\Framework\TestCase $factory = $this->newOutputFormatValueFormatterFactory(); $factory->setFormatterFactoryCallback( 'VT:wikibase-entityid', - function () { + static function () { return new EntityIdValueFormatter( new PlainEntityIdFormatter() ); } ); diff --git a/lib/tests/phpunit/Formatters/PropertyValueSnakFormatterTest.php b/lib/tests/phpunit/Formatters/PropertyValueSnakFormatterTest.php index 0c88511..a5cdf4e 100644 --- a/lib/tests/phpunit/Formatters/PropertyValueSnakFormatterTest.php +++ b/lib/tests/phpunit/Formatters/PropertyValueSnakFormatterTest.php @@ -142,7 +142,7 @@ class PropertyValueSnakFormatterTest extends \PHPUnit\Framework\TestCase { } public static function formatSnakProvider() { - $dispatchingFormatterFactory = function ( self $self ) { + $dispatchingFormatterFactory = static function ( self $self ) { $formatters = [ 'VT:bad' => new UnDeserializableValueFormatter( new FormatterOptions() ), 'VT:string' => $self->getMockFormatter( 'VT:string' ), diff --git a/lib/tests/phpunit/Formatters/QuantityDetailsFormatterTest.php b/lib/tests/phpunit/Formatters/QuantityDetailsFormatterTest.php index 403ee36..2aef61b 100644 --- a/lib/tests/phpunit/Formatters/QuantityDetailsFormatterTest.php +++ b/lib/tests/phpunit/Formatters/QuantityDetailsFormatterTest.php @@ -28,7 +28,7 @@ class QuantityDetailsFormatterTest extends \PHPUnit\Framework\TestCase { private function newFormatter( ?NumberLocalizer $numberLocalizer = null ) { $vocabularyUriFormatter = $this->createMock( ValueFormatter::class ); $vocabularyUriFormatter->method( 'format' ) - ->willReturnCallback( function( $value ) { + ->willReturnCallback( static function( $value ) { return preg_match( '@^http://www\.wikidata\.org/entity/(.*)@', $value, $matches ) ? $matches[1] : $value; diff --git a/lib/tests/phpunit/Formatters/Reference/DataBridgeReferenceFormatterTest.php b/lib/tests/phpunit/Formatters/Reference/DataBridgeReferenceFormatterTest.php index b7d6866..741c347 100644 --- a/lib/tests/phpunit/Formatters/Reference/DataBridgeReferenceFormatterTest.php +++ b/lib/tests/phpunit/Formatters/Reference/DataBridgeReferenceFormatterTest.php @@ -67,7 +67,7 @@ class DataBridgeReferenceFormatterTest extends TestCase { private function stringSnakFormatter(): SnakFormatter { $snakFormatter = $this->createMock( SnakFormatter::class ); $snakFormatter->method( 'formatSnak' ) - ->willReturnCallback( function ( PropertyValueSnak $snak ) { + ->willReturnCallback( static function ( PropertyValueSnak $snak ) { return (string)$snak->getDataValue()->getValue(); } ); return $snakFormatter; diff --git a/lib/tests/phpunit/Formatters/VocabularyUriFormatterTest.php b/lib/tests/phpunit/Formatters/VocabularyUriFormatterTest.php index 6ca1876..7b15362 100644 --- a/lib/tests/phpunit/Formatters/VocabularyUriFormatterTest.php +++ b/lib/tests/phpunit/Formatters/VocabularyUriFormatterTest.php @@ -40,7 +40,7 @@ class VocabularyUriFormatterTest extends \PHPUnit\Framework\TestCase { public function testFormat( $unit, $expected ) { $labelLookup = $this->createMock( LabelDescriptionLookup::class ); $labelLookup->method( 'getLabel' ) - ->willReturnCallback( function( EntityId $id ) { + ->willReturnCallback( static function( EntityId $id ) { if ( $id->getSerialization() === 'Q112233' ) { throw new LabelDescriptionLookupException( $id, 'No such label!' ); } diff --git a/lib/tests/phpunit/Formatters/WikibaseValueFormatterBuildersTest.php b/lib/tests/phpunit/Formatters/WikibaseValueFormatterBuildersTest.php index 0289ff8..42a41ff 100644 --- a/lib/tests/phpunit/Formatters/WikibaseValueFormatterBuildersTest.php +++ b/lib/tests/phpunit/Formatters/WikibaseValueFormatterBuildersTest.php @@ -78,7 +78,7 @@ class WikibaseValueFormatterBuildersTest extends MediaWikiIntegrationTestCase { $termLookup = $this->createMock( TermLookup::class ); $termLookup->method( 'getLabel' ) - ->willReturnCallback( function ( EntityId $id, $language ) { + ->willReturnCallback( static function ( EntityId $id, $language ) { switch ( $language ) { case 'de': return 'Name für ' . $id->getSerialization(); @@ -88,7 +88,7 @@ class WikibaseValueFormatterBuildersTest extends MediaWikiIntegrationTestCase { } ); $termLookup->method( 'getLabels' ) - ->willReturnCallback( function( EntityId $id ) { + ->willReturnCallback( static function( EntityId $id ) { return [ 'de' => 'Name für ' . $id->getSerialization(), 'en' => 'Label for ' . $id->getSerialization(), @@ -104,13 +104,13 @@ class WikibaseValueFormatterBuildersTest extends MediaWikiIntegrationTestCase { $urlLookup = $this->createMock( EntityUrlLookup::class ); $urlLookup->method( 'getLinkUrl' ) - ->willReturnCallback( function ( EntityId $id ) { + ->willReturnCallback( static function ( EntityId $id ) { return '/wiki/' . $id->getSerialization(); } ); $redirectResolvingLatestRevisionLookup = $this->createStub( RedirectResolvingLatestRevisionLookup::class ); $redirectResolvingLatestRevisionLookup->method( 'lookupLatestRevisionResolvingRedirect' ) - ->willReturnCallback( function ( EntityId $id ) { + ->willReturnCallback( static function ( EntityId $id ) { return [ 123, // some non-null revision id $id, @@ -180,7 +180,7 @@ class WikibaseValueFormatterBuildersTest extends MediaWikiIntegrationTestCase { $titleLookup->method( 'getTitleForId' ) ->willReturnCallback( - function ( EntityId $id ) { + static function ( EntityId $id ) { return Title::makeTitle( NS_MAIN, $id->getSerialization() ); } ); diff --git a/lib/tests/phpunit/Formatters/WikitextExternalIdentifierFormatterTest.php b/lib/tests/phpunit/Formatters/WikitextExternalIdentifierFormatterTest.php index 6f4df25..fa39893 100644 --- a/lib/tests/phpunit/Formatters/WikitextExternalIdentifierFormatterTest.php +++ b/lib/tests/phpunit/Formatters/WikitextExternalIdentifierFormatterTest.php @@ -24,10 +24,10 @@ use Wikimedia\Assert\ParameterTypeException; class WikitextExternalIdentifierFormatterTest extends \PHPUnit\Framework\TestCase { public static function provideFormatSnak() { - $formatterUrlExpanderFactory = function ( self $self ) { + $formatterUrlExpanderFactory = static function ( self $self ) { $expander = $self->createMock( SnakUrlExpander::class ); $expander->method( 'expandUrl' ) - ->willReturnCallback( function ( PropertyValueSnak $snak ) { + ->willReturnCallback( static function ( PropertyValueSnak $snak ) { $value = $snak->getDataValue()->getValue(); switch ( $snak->getPropertyId()->getSerialization() ) { diff --git a/lib/tests/phpunit/Interactors/MatchingTermsLookupSearchInteractorTest.php b/lib/tests/phpunit/Interactors/MatchingTermsLookupSearchInteractorTest.php index 6ed971f..1e936ec 100644 --- a/lib/tests/phpunit/Interactors/MatchingTermsLookupSearchInteractorTest.php +++ b/lib/tests/phpunit/Interactors/MatchingTermsLookupSearchInteractorTest.php @@ -84,7 +84,7 @@ class MatchingTermsLookupSearchInteractorTest extends \PHPUnit\Framework\TestCas private function getMockPrefetchingTermLookup() { $mock = $this->createMock( PrefetchingTermLookup::class ); $mock->method( 'getLabels' ) - ->willReturnCallback( function( EntityId $entityId, $languageCodes ) { + ->willReturnCallback( static function( EntityId $entityId, $languageCodes ) { $labels = []; foreach ( $languageCodes as $languageCode ) { $labels[$languageCode] = 'label-' . $languageCode . '-' . $entityId->getSerialization(); @@ -93,7 +93,7 @@ class MatchingTermsLookupSearchInteractorTest extends \PHPUnit\Framework\TestCas } ); $mock->method( 'getDescriptions' ) - ->willReturnCallback( function( EntityId $entityId, $languageCodes ) { + ->willReturnCallback( static function( EntityId $entityId, $languageCodes ) { $descriptions = []; foreach ( $languageCodes as $languageCode ) { $descriptions[$languageCode] = @@ -129,14 +129,14 @@ class MatchingTermsLookupSearchInteractorTest extends \PHPUnit\Framework\TestCas public function getMockLanguageFallbackChainFromLanguage( $langCode ) { $mockFallbackChain = $this->createMock( TermLanguageFallbackChain::class ); $mockFallbackChain->method( 'getFetchLanguageCodes' ) - ->willReturnCallback( function () use( $langCode ) { + ->willReturnCallback( static function () use( $langCode ) { if ( $langCode === 'en-gb' || $langCode === 'en-ca' ) { return [ $langCode, 'en' ]; } return [ $langCode ]; // no fallback for everything else... } ); $mockFallbackChain->method( 'extractPreferredValue' ) - ->willReturnCallback( function( $data ) { + ->willReturnCallback( static function( $data ) { foreach ( $data as $languageCode => $value ) { return [ 'value' => $value, diff --git a/lib/tests/phpunit/LanguageFallbackChainFactoryTest.php b/lib/tests/phpunit/LanguageFallbackChainFactoryTest.php index 1dc4e02..6ba313a 100644 --- a/lib/tests/phpunit/LanguageFallbackChainFactoryTest.php +++ b/lib/tests/phpunit/LanguageFallbackChainFactoryTest.php @@ -38,14 +38,14 @@ class LanguageFallbackChainFactoryTest extends MediaWikiIntegrationTestCase { */ private function assertChainEquals( array $expectedItems, array $chain ) { // format both chains into a string for a nice message in case of assertion failure - $expectedChain = implode( ',', array_map( function ( $expected ) { + $expectedChain = implode( ',', array_map( static function ( $expected ) { if ( is_array( $expected ) ) { return "{$expected[0]}({$expected[1]})"; } else { return $expected; } }, $expectedItems ) ); - $actualChain = implode( ',', array_map( function ( LanguageWithConversion $actual ) { + $actualChain = implode( ',', array_map( static function ( LanguageWithConversion $actual ) { if ( $actual->getSourceLanguageCode() === null ) { return $actual->getLanguageCode(); } else { diff --git a/lib/tests/phpunit/LanguageFallbackIndicatorTest.php b/lib/tests/phpunit/LanguageFallbackIndicatorTest.php index 7dfaa65..2b02c77 100644 --- a/lib/tests/phpunit/LanguageFallbackIndicatorTest.php +++ b/lib/tests/phpunit/LanguageFallbackIndicatorTest.php @@ -21,7 +21,7 @@ class LanguageFallbackIndicatorTest extends \PHPUnit\Framework\TestCase { private function getIndicator() { $languageNameLookup = $this->createMock( LanguageNameLookup::class ); $languageNameLookup->method( 'getNameForTerms' ) - ->willReturnCallback( function( $languageCode ) { + ->willReturnCallback( static function( $languageCode ) { $names = [ 'de' => 'Deutsch', 'de-at' => 'Österreichisches Deutsch', diff --git a/lib/tests/phpunit/MockRepositoryTest.php b/lib/tests/phpunit/MockRepositoryTest.php index 8557bf4..574c39b 100644 --- a/lib/tests/phpunit/MockRepositoryTest.php +++ b/lib/tests/phpunit/MockRepositoryTest.php @@ -691,7 +691,7 @@ class MockRepositoryTest extends TestCase { ->onNonexistentEntity( $failTest ) ->onConcreteRevision( $failTest ) ->onRedirect( - function ( $revisionId, $targetId ) { + static function ( $revisionId, $targetId ) { return [ $revisionId, $targetId ]; } ) diff --git a/lib/tests/phpunit/Modules/CurrentSiteModuleTest.php b/lib/tests/phpunit/Modules/CurrentSiteModuleTest.php index f9b9ccf..84e376e 100644 --- a/lib/tests/phpunit/Modules/CurrentSiteModuleTest.php +++ b/lib/tests/phpunit/Modules/CurrentSiteModuleTest.php @@ -30,7 +30,7 @@ class CurrentSiteModuleTest extends \PHPUnit\Framework\TestCase { private function getContext(): Context { $context = $this->createMock( Context::class ); $context->method( 'msg' ) - ->willReturnCallback( function ( $key ) { + ->willReturnCallback( static function ( $key ) { return new RawMessage( "($key)" ); } ); diff --git a/lib/tests/phpunit/Modules/DataTypesModuleTest.php b/lib/tests/phpunit/Modules/DataTypesModuleTest.php index f8f1011..d8821f6 100644 --- a/lib/tests/phpunit/Modules/DataTypesModuleTest.php +++ b/lib/tests/phpunit/Modules/DataTypesModuleTest.php @@ -22,7 +22,7 @@ class DataTypesModuleTest extends \PHPUnit\Framework\TestCase { $validResourceDefinitions = [ [ 'datatypesconfigvarname' => 'foo', - 'datatypefactory' => function() { + 'datatypefactory' => static function() { return new DataTypeFactory( [] ); }, ], @@ -49,7 +49,7 @@ class DataTypesModuleTest extends \PHPUnit\Framework\TestCase { $validDefinition = [ 'datatypesconfigvarname' => 'foo', - 'datatypefactory' => function() { + 'datatypefactory' => static function() { return new DataTypeFactory( [] ); }, ]; @@ -84,7 +84,7 @@ class DataTypesModuleTest extends \PHPUnit\Framework\TestCase { array_merge( $validDefinition, [ - 'datatypefactory' => function() { + 'datatypefactory' => static function() { return null; }, ] diff --git a/lib/tests/phpunit/Modules/SitesModuleTest.php b/lib/tests/phpunit/Modules/SitesModuleTest.php index 1586cc9..6497b30 100644 --- a/lib/tests/phpunit/Modules/SitesModuleTest.php +++ b/lib/tests/phpunit/Modules/SitesModuleTest.php @@ -30,7 +30,7 @@ class SitesModuleTest extends \PHPUnit\Framework\TestCase { private function getContext(): Context { $context = $this->createMock( Context::class ); $context->method( 'msg' ) - ->willReturnCallback( function ( $key ) { + ->willReturnCallback( static function ( $key ) { return new RawMessage( "($key)" ); } ); diff --git a/lib/tests/phpunit/ParserFunctions/CommaSeparatedListTest.php b/lib/tests/phpunit/ParserFunctions/CommaSeparatedListTest.php index 515e2dc..4068542 100644 --- a/lib/tests/phpunit/ParserFunctions/CommaSeparatedListTest.php +++ b/lib/tests/phpunit/ParserFunctions/CommaSeparatedListTest.php @@ -25,7 +25,7 @@ class CommaSeparatedListTest extends \PHPUnit\Framework\TestCase { public function testHandle() { $language = $this->createMock( Language::class ); - $language->method( 'commaList' )->willReturnCallback( function ( $words ) { + $language->method( 'commaList' )->willReturnCallback( static function ( $words ) { return implode( ', ', $words ); } ); $parser = $this->createMock( Parser::class ); diff --git a/lib/tests/phpunit/Serialization/CallbackFactoryTest.php b/lib/tests/phpunit/Serialization/CallbackFactoryTest.php index e63b712..4e1b4d3 100644 --- a/lib/tests/phpunit/Serialization/CallbackFactoryTest.php +++ b/lib/tests/phpunit/Serialization/CallbackFactoryTest.php @@ -94,7 +94,7 @@ class CallbackFactoryTest extends \PHPUnit\Framework\TestCase { $parser = $this->createMock( EntityIdParser::class ); $parser->expects( $this->once() ) ->method( 'parse' ) - ->willReturnCallback( function ( string $id ) { + ->willReturnCallback( static function ( string $id ) { return new NumericPropertyId( $id ); } ); diff --git a/lib/tests/phpunit/Serialization/SerializationModifierTest.php b/lib/tests/phpunit/Serialization/SerializationModifierTest.php index abfa4c4..6253413 100644 --- a/lib/tests/phpunit/Serialization/SerializationModifierTest.php +++ b/lib/tests/phpunit/Serialization/SerializationModifierTest.php @@ -25,7 +25,7 @@ class SerializationModifierTest extends \PHPUnit\Framework\TestCase { return [ [ '', - function( $value ) { + static function( $value ) { $value['foo'] = 'bar'; return $value; }, @@ -34,7 +34,7 @@ class SerializationModifierTest extends \PHPUnit\Framework\TestCase { ], [ 'foo/*', - function( $value ) { + static function( $value ) { if ( isset( $value['a'] ) ) { unset( $value['a'] ); $value['removed'] = true; @@ -57,7 +57,7 @@ class SerializationModifierTest extends \PHPUnit\Framework\TestCase { ], [ 'entities/*/claims/*/*/references/*/snaks/*/type', - function( $value ) { + static function( $value ) { if ( $value === 'bar' ) { $value = 'BAR'; } @@ -191,11 +191,11 @@ class SerializationModifierTest extends \PHPUnit\Framework\TestCase { } public static function provideCallbacks(): iterable { - $typeEntityCallback = function ( $value ) { + $typeEntityCallback = static function ( $value ) { $value['type'] = 'entity'; return $value; }; - $typeLabelCallback = function ( $value ) { + $typeLabelCallback = static function ( $value ) { $value['type'] = 'label'; return $value; }; diff --git a/lib/tests/phpunit/ServiceBySourceAndTypeDispatcherTest.php b/lib/tests/phpunit/ServiceBySourceAndTypeDispatcherTest.php index 5479125..2e7a07e 100644 --- a/lib/tests/phpunit/ServiceBySourceAndTypeDispatcherTest.php +++ b/lib/tests/phpunit/ServiceBySourceAndTypeDispatcherTest.php @@ -39,7 +39,7 @@ class ServiceBySourceAndTypeDispatcherTest extends TestCase { } private static function getSomeServiceReturningCallback( $fakeServiceToReturn = null ) { - return function () use ( $fakeServiceToReturn ) { + return static function () use ( $fakeServiceToReturn ) { return $fakeServiceToReturn ?? new stdClass(); }; } diff --git a/lib/tests/phpunit/ServiceByTypeDispatcherTest.php b/lib/tests/phpunit/ServiceByTypeDispatcherTest.php index 025e79b..009b6df 100644 --- a/lib/tests/phpunit/ServiceByTypeDispatcherTest.php +++ b/lib/tests/phpunit/ServiceByTypeDispatcherTest.php @@ -27,7 +27,7 @@ class ServiceByTypeDispatcherTest extends TestCase { } private static function getSomeServiceReturningCallback( $fakeServiceToReturn = null ) { - return function () use ( $fakeServiceToReturn ) { + return static function () use ( $fakeServiceToReturn ) { return $fakeServiceToReturn ?? new stdClass(); }; } diff --git a/lib/tests/phpunit/SimpleCacheTestCase.php b/lib/tests/phpunit/SimpleCacheTestCase.php index b4be5ae..7375c63 100644 --- a/lib/tests/phpunit/SimpleCacheTestCase.php +++ b/lib/tests/phpunit/SimpleCacheTestCase.php @@ -283,7 +283,7 @@ abstract class SimpleCacheTestCase extends TestCase { $this->markTestSkipped( $this->skippedTests[__FUNCTION__] ); } - $gen = function () { + $gen = static function () { yield 'key0' => 'value0'; yield 'key1' => 'value1'; }; @@ -327,7 +327,7 @@ abstract class SimpleCacheTestCase extends TestCase { $this->markTestSkipped( $this->skippedTests[__FUNCTION__] ); } - $gen = function () { + $gen = static function () { yield 1 => 'key0'; yield 1 => 'key1'; }; @@ -371,7 +371,7 @@ abstract class SimpleCacheTestCase extends TestCase { $this->markTestSkipped( $this->skippedTests[__FUNCTION__] ); } - $gen = function () { + $gen = static function () { yield 1 => 'key0'; yield 1 => 'key1'; }; @@ -463,7 +463,7 @@ abstract class SimpleCacheTestCase extends TestCase { $this->markTestSkipped( $this->skippedTests[__FUNCTION__] ); } - $values = function () use ( $key ) { + $values = static function () use ( $key ) { yield 'key1' => 'foo'; yield $key => 'bar'; yield 'key2' => 'baz'; diff --git a/lib/tests/phpunit/SourceDispatchingPropertyDataTypeLookupTest.php b/lib/tests/phpunit/SourceDispatchingPropertyDataTypeLookupTest.php index 898d2e3..84945f3 100644 --- a/lib/tests/phpunit/SourceDispatchingPropertyDataTypeLookupTest.php +++ b/lib/tests/phpunit/SourceDispatchingPropertyDataTypeLookupTest.php @@ -54,7 +54,7 @@ class SourceDispatchingPropertyDataTypeLookupTest extends TestCase { ->willReturn( $dataTypeId ); $this->lookupCallbacks = [ - $propertySourceName => function () use ( $propertyDataTypeLookup ) { + $propertySourceName => static function () use ( $propertyDataTypeLookup ) { return $propertyDataTypeLookup; }, ]; @@ -78,7 +78,7 @@ class SourceDispatchingPropertyDataTypeLookupTest extends TestCase { $calls = 0; $this->lookupCallbacks = [ - $propertySourceName => function () use ( &$calls, $propertyDataTypeLookup ) { + $propertySourceName => static function () use ( &$calls, $propertyDataTypeLookup ) { $calls++; return $propertyDataTypeLookup; }, diff --git a/lib/tests/phpunit/StatsdRecordingSimpleCacheTest.php b/lib/tests/phpunit/StatsdRecordingSimpleCacheTest.php index 554bf89..c89c59c 100644 --- a/lib/tests/phpunit/StatsdRecordingSimpleCacheTest.php +++ b/lib/tests/phpunit/StatsdRecordingSimpleCacheTest.php @@ -30,7 +30,7 @@ class StatsdRecordingSimpleCacheTest extends \PHPUnit\Framework\TestCase { $innerCache->expects( $this->once() ) ->method( 'get' ) ->with( 'nonexistingkey' ) - ->willReturnCallback( function( $a, $default ) { + ->willReturnCallback( static function( $a, $default ) { return $default; } ); @@ -62,7 +62,7 @@ class StatsdRecordingSimpleCacheTest extends \PHPUnit\Framework\TestCase { $innerCache->expects( $this->once() ) ->method( 'getMultiple' ) ->with( [ 'key', 'key1', 'key2' ] ) - ->willReturnCallback( function( $a, $default ) { + ->willReturnCallback( static function( $a, $default ) { return [ 'key' => 'cachedValue', 'key1' => $default, 'key2' => $default ]; } ); @@ -114,7 +114,7 @@ class StatsdRecordingSimpleCacheTest extends \PHPUnit\Framework\TestCase { $innerCache->expects( $this->once() ) ->method( 'getMultiple' ) ->with( [ 'key1', 'key2' ] ) - ->willReturnCallback( function( $a, $default ) { + ->willReturnCallback( static function( $a, $default ) { return [ 'key1' => 'cachehit', 'key2' => $default ]; } ); diff --git a/lib/tests/phpunit/Store/CacheRetrievingEntityRevisionLookupTest.php b/lib/tests/phpunit/Store/CacheRetrievingEntityRevisionLookupTest.php index 99ff819..3d3f447 100644 --- a/lib/tests/phpunit/Store/CacheRetrievingEntityRevisionLookupTest.php +++ b/lib/tests/phpunit/Store/CacheRetrievingEntityRevisionLookupTest.php @@ -156,7 +156,7 @@ class CacheRetrievingEntityRevisionLookupTest extends EntityRevisionLookupTestCa return $result->onNonexistentEntity( $shouldNotBeCalled ) ->onRedirect( $shouldNotBeCalled ) - ->onConcreteRevision( function ( $revId ) { + ->onConcreteRevision( static function ( $revId ) { return $revId; } ) ->map(); diff --git a/lib/tests/phpunit/Store/CachingEntityRevisionLookupTest.php b/lib/tests/phpunit/Store/CachingEntityRevisionLookupTest.php index e3decd1..2090347 100644 --- a/lib/tests/phpunit/Store/CachingEntityRevisionLookupTest.php +++ b/lib/tests/phpunit/Store/CachingEntityRevisionLookupTest.php @@ -257,7 +257,7 @@ class CachingEntityRevisionLookupTest extends EntityRevisionLookupTestCase { return $result->onNonexistentEntity( $shouldNotBeCalled ) ->onRedirect( $shouldNotBeCalled ) - ->onConcreteRevision( function ( $revId ) { + ->onConcreteRevision( static function ( $revId ) { return $revId; } ) ->map(); diff --git a/lib/tests/phpunit/Store/EntityLinkTargetEntityIdLookupTest.php b/lib/tests/phpunit/Store/EntityLinkTargetEntityIdLookupTest.php index 921ddaa..c6fec03 100644 --- a/lib/tests/phpunit/Store/EntityLinkTargetEntityIdLookupTest.php +++ b/lib/tests/phpunit/Store/EntityLinkTargetEntityIdLookupTest.php @@ -81,7 +81,7 @@ class EntityLinkTargetEntityIdLookupTest extends TestCase { private function getMockEntityNamespaceLookupWhere111IsItemNamespace() { $mock = $this->createMock( EntityNamespaceLookup::class ); $mock->method( 'getEntityType' )->willReturnCallback( - function ( $namespace ) { + static function ( $namespace ) { return $namespace === self::ITEM_NAMESPACE ? 'item' : 'otherEntityType'; } ); @@ -91,7 +91,7 @@ class EntityLinkTargetEntityIdLookupTest extends TestCase { private function newMockEntityIdParserForId( EntityId $id ) { $mock = $this->createMock( EntityIdParser::class ); $mock->method( 'parse' )->willReturnCallback( - function ( $toParse ) use ( $id ) { + static function ( $toParse ) use ( $id ) { if ( $toParse !== $id->getSerialization() ) { throw new EntityIdParsingException( 'mock' ); } diff --git a/lib/tests/phpunit/Store/LanguageFallbackLabelDescriptionLookupTest.php b/lib/tests/phpunit/Store/LanguageFallbackLabelDescriptionLookupTest.php index 517580c..924334a 100644 --- a/lib/tests/phpunit/Store/LanguageFallbackLabelDescriptionLookupTest.php +++ b/lib/tests/phpunit/Store/LanguageFallbackLabelDescriptionLookupTest.php @@ -99,7 +99,7 @@ class LanguageFallbackLabelDescriptionLookupTest extends MediaWikiIntegrationTes $languageFallbackChain = $this->createMock( TermLanguageFallbackChain::class ); $languageFallbackChain->method( 'extractPreferredValue' ) - ->willReturnCallback( function( array $fallbackData ) use ( $languageCode ) { + ->willReturnCallback( static function( array $fallbackData ) use ( $languageCode ) { if ( $languageCode === 'zh' && array_key_exists( 'zh-cn', $fallbackData ) ) { return [ 'value' => 'fallbackterm', 'language' => 'zh-cn', 'source' => 'zh-xy' ]; } else { @@ -108,7 +108,7 @@ class LanguageFallbackLabelDescriptionLookupTest extends MediaWikiIntegrationTes } ); $languageFallbackChain->method( 'getFetchLanguageCodes' ) - ->willReturnCallback( function() use ( $languageCode ) { + ->willReturnCallback( static function() use ( $languageCode ) { if ( $languageCode === 'zh' ) { return [ 'zh', 'zh-cn', 'zh-xy' ]; } else { diff --git a/lib/tests/phpunit/Store/LatestRevisionIdResultTest.php b/lib/tests/phpunit/Store/LatestRevisionIdResultTest.php index 9efb3dd..500d416 100644 --- a/lib/tests/phpunit/Store/LatestRevisionIdResultTest.php +++ b/lib/tests/phpunit/Store/LatestRevisionIdResultTest.php @@ -23,7 +23,7 @@ class LatestRevisionIdResultTest extends TestCase { } public function testOnNonexistentEntity_SomeHandlerGiven_ReturnsNewInstanceOfResult() { - $noop = function () { + $noop = static function () { }; $initialResult = LatestRevisionIdResult::nonexistentEntity(); @@ -33,7 +33,7 @@ class LatestRevisionIdResultTest extends TestCase { } public function testOnConcreteRevision_SomeHandlerGiven_ReturnsNewInstanceOfResult() { - $noop = function () { + $noop = static function () { }; $initialResult = LatestRevisionIdResult::nonexistentEntity(); @@ -43,7 +43,7 @@ class LatestRevisionIdResultTest extends TestCase { } public function testRedirect_SomeHandlerGiven_ReturnsNewInstanceOfResult() { - $noop = function () { + $noop = static function () { }; $initialResult = LatestRevisionIdResult::nonexistentEntity(); @@ -60,7 +60,7 @@ class LatestRevisionIdResultTest extends TestCase { $result = $nonexistentEntity->onConcreteRevision( $shouldNotBeCalled ) ->onRedirect( $shouldNotBeCalled ) - ->onNonexistentEntity( function () { + ->onNonexistentEntity( static function () { return 'nonexistent'; } ) ->map(); @@ -78,7 +78,7 @@ class LatestRevisionIdResultTest extends TestCase { $result = $redirectResult->onConcreteRevision( $shouldNotBeCalled ) ->onNonexistentEntity( $shouldNotBeCalled ) - ->onRedirect( function () { + ->onRedirect( static function () { return 'redirect'; } ) ->map(); @@ -94,7 +94,7 @@ class LatestRevisionIdResultTest extends TestCase { $result = $concreteRevisionResult->onRedirect( $shouldNotBeCalled ) ->onNonexistentEntity( $shouldNotBeCalled ) - ->onConcreteRevision( function () { + ->onConcreteRevision( static function () { return 'concrete revision'; } ) ->map(); diff --git a/lib/tests/phpunit/Store/MatchingTermsLookupFactoryTest.php b/lib/tests/phpunit/Store/MatchingTermsLookupFactoryTest.php index 765d621..4de4147 100644 --- a/lib/tests/phpunit/Store/MatchingTermsLookupFactoryTest.php +++ b/lib/tests/phpunit/Store/MatchingTermsLookupFactoryTest.php @@ -91,7 +91,7 @@ class MatchingTermsLookupFactoryTest extends MediaWikiIntegrationTestCase { public function testReturnsWorkingLookup() { $factory = new MatchingTermsLookupFactory( new EntityIdComposer( [ - Item::ENTITY_TYPE => function( $uniquePartOfId ) { + Item::ENTITY_TYPE => static function( $uniquePartOfId ) { return new ItemId( 'Q' . $uniquePartOfId ); }, ] ), @@ -112,7 +112,7 @@ class MatchingTermsLookupFactoryTest extends MediaWikiIntegrationTestCase { ] ); $actual = $matchingTermsLookup->getMatchingTerms( [ $criteria ] ); - $results = array_map( function ( TermIndexEntry $entry ) { + $results = array_map( static function ( TermIndexEntry $entry ) { return $entry->getEntityId()->getSerialization(); }, $actual ); diff --git a/lib/tests/phpunit/Store/PrefetchingWikiPageEntityMetaDataAccessorTest.php b/lib/tests/phpunit/Store/PrefetchingWikiPageEntityMetaDataAccessorTest.php index f3fe2df..99529bf 100644 --- a/lib/tests/phpunit/Store/PrefetchingWikiPageEntityMetaDataAccessorTest.php +++ b/lib/tests/phpunit/Store/PrefetchingWikiPageEntityMetaDataAccessorTest.php @@ -144,7 +144,7 @@ class PrefetchingWikiPageEntityMetaDataAccessorTest extends \PHPUnit\Framework\T $lookup = $this->createMock( WikiPageEntityMetaDataAccessor::class ); $lookup->expects( $this->exactly( 3 ) ) ->method( 'loadRevisionInformation' ) - ->willReturnCallback( function( array $entityIds, $mode ) { + ->willReturnCallback( static function( array $entityIds, $mode ) { $ret = []; /** diff --git a/lib/tests/phpunit/Store/RevisionBasedEntityLookupTest.php b/lib/tests/phpunit/Store/RevisionBasedEntityLookupTest.php index 39b7986..28279d1 100644 --- a/lib/tests/phpunit/Store/RevisionBasedEntityLookupTest.php +++ b/lib/tests/phpunit/Store/RevisionBasedEntityLookupTest.php @@ -55,7 +55,7 @@ class RevisionBasedEntityLookupTest extends \PHPUnit\Framework\TestCase { public static function hasEntityProvider() { $cases = self::getEntityProvider(); - $cases = array_map( function( $case ) { + $cases = array_map( static function( $case ) { // true if set an id is expected, false otherwise. $case[2] = $case[2] !== null; diff --git a/lib/tests/phpunit/Store/Sql/PropertyInfoTableTest.php b/lib/tests/phpunit/Store/Sql/PropertyInfoTableTest.php index f987fd3..168eca4 100644 --- a/lib/tests/phpunit/Store/Sql/PropertyInfoTableTest.php +++ b/lib/tests/phpunit/Store/Sql/PropertyInfoTableTest.php @@ -197,7 +197,7 @@ class PropertyInfoTableTest extends MediaWikiIntegrationTestCase { private function getEntityComposer() { return new EntityIdComposer( [ - Property::ENTITY_TYPE => function( $uniquePart ) { + Property::ENTITY_TYPE => static function( $uniquePart ) { return new NumericPropertyId( 'P' . $uniquePart ); }, ] ); diff --git a/lib/tests/phpunit/Store/Sql/Terms/DatabaseInnerTermStoreCleanerTest.php b/lib/tests/phpunit/Store/Sql/Terms/DatabaseInnerTermStoreCleanerTest.php index 3229acd..08514b5 100644 --- a/lib/tests/phpunit/Store/Sql/Terms/DatabaseInnerTermStoreCleanerTest.php +++ b/lib/tests/phpunit/Store/Sql/Terms/DatabaseInnerTermStoreCleanerTest.php @@ -262,7 +262,7 @@ class DatabaseInnerTermStoreCleanerTest extends MediaWikiIntegrationTestCase { ->select( $field ) ->from( $table ) ->assertResultSet( array_map( - function( $element ) { + static function( $element ) { return [ $element ]; }, $elements diff --git a/lib/tests/phpunit/Store/Sql/Terms/DatabaseMatchingTermsLookupTest.php b/lib/tests/phpunit/Store/Sql/Terms/DatabaseMatchingTermsLookupTest.php index 0cc76fe..9ac48e4 100644 --- a/lib/tests/phpunit/Store/Sql/Terms/DatabaseMatchingTermsLookupTest.php +++ b/lib/tests/phpunit/Store/Sql/Terms/DatabaseMatchingTermsLookupTest.php @@ -212,10 +212,10 @@ class DatabaseMatchingTermsLookupTest extends MediaWikiIntegrationTestCase { ); $composer = new EntityIdComposer( [ - 'item' => function ( $uniquePart ) { + 'item' => static function ( $uniquePart ) { return new ItemId( 'Q' . $uniquePart ); }, - 'property' => function ( $uniquePart ) { + 'property' => static function ( $uniquePart ) { return new NumericPropertyId( 'P' . $uniquePart ); }, ] ); diff --git a/lib/tests/phpunit/Store/Sql/Terms/DatabaseTermInLangIdsAcquirerTest.php b/lib/tests/phpunit/Store/Sql/Terms/DatabaseTermInLangIdsAcquirerTest.php index 756cb30..65e88ca 100644 --- a/lib/tests/phpunit/Store/Sql/Terms/DatabaseTermInLangIdsAcquirerTest.php +++ b/lib/tests/phpunit/Store/Sql/Terms/DatabaseTermInLangIdsAcquirerTest.php @@ -262,7 +262,7 @@ class DatabaseTermInLangIdsAcquirerTest extends TestCase { 1, array_filter( $acquiredTermIds, - function ( $id ) use ( $labelEnSameTermInLangId ) { + static function ( $id ) use ( $labelEnSameTermInLangId ) { return $id === $labelEnSameTermInLangId; } ) @@ -271,7 +271,7 @@ class DatabaseTermInLangIdsAcquirerTest extends TestCase { 2, array_filter( $acquiredTermIds, - function ( $id ) use ( $aliasEnSameTermInLangId ) { + static function ( $id ) use ( $aliasEnSameTermInLangId ) { return $id === $aliasEnSameTermInLangId; } ) diff --git a/lib/tests/phpunit/Store/Sql/Terms/DatabaseTermStoreWriterTestGetTermsTrait.php b/lib/tests/phpunit/Store/Sql/Terms/DatabaseTermStoreWriterTestGetTermsTrait.php index 097c91c..53f54c4 100644 --- a/lib/tests/phpunit/Store/Sql/Terms/DatabaseTermStoreWriterTestGetTermsTrait.php +++ b/lib/tests/phpunit/Store/Sql/Terms/DatabaseTermStoreWriterTestGetTermsTrait.php @@ -66,19 +66,19 @@ trait DatabaseTermStoreWriterTestGetTermsTrait { return new Fingerprint( new TermList( array_map( - function ( $language, $labels ) { + static function ( $language, $labels ) { return new Term( $language, $labels[0] ); }, array_keys( $labels ), $labels ) ), new TermList( array_map( - function ( $language, $descriptions ) { + static function ( $language, $descriptions ) { return new Term( $language, $descriptions[0] ); }, array_keys( $descriptions ), $descriptions ) ), new AliasGroupList( array_map( - function ( $language, $aliases ) { + static function ( $language, $aliases ) { return new AliasGroup( $language, $aliases ); }, array_keys( $aliases ), $aliases diff --git a/lib/tests/phpunit/Store/Sql/Terms/TermInLangIdsResolverFactoryTest.php b/lib/tests/phpunit/Store/Sql/Terms/TermInLangIdsResolverFactoryTest.php index b44103f..58dfce1 100644 --- a/lib/tests/phpunit/Store/Sql/Terms/TermInLangIdsResolverFactoryTest.php +++ b/lib/tests/phpunit/Store/Sql/Terms/TermInLangIdsResolverFactoryTest.php @@ -92,7 +92,7 @@ class TermInLangIdsResolverFactoryTest extends MediaWikiIntegrationTestCase { } public function testReturnsWorkingResolver(): void { - $expectedTerms = array_map( function ( string $label ): array { + $expectedTerms = array_map( static function ( string $label ): array { return [ $label ]; }, self::MOCK_LANG_LABELS ); diff --git a/lib/tests/phpunit/Store/TypeDispatchingEntityRevisionLookupTest.php b/lib/tests/phpunit/Store/TypeDispatchingEntityRevisionLookupTest.php index 890188b..3e1cb70 100644 --- a/lib/tests/phpunit/Store/TypeDispatchingEntityRevisionLookupTest.php +++ b/lib/tests/phpunit/Store/TypeDispatchingEntityRevisionLookupTest.php @@ -26,7 +26,7 @@ class TypeDispatchingEntityRevisionLookupTest extends \PHPUnit\Framework\TestCas public function testGivenInvalidCallback_getEntityRevisionFails() { $lookup = new TypeDispatchingEntityRevisionLookup( [ - 'property' => function ( EntityRevisionLookup $defaultService ) { + 'property' => static function ( EntityRevisionLookup $defaultService ) { return (object)[]; }, ], diff --git a/lib/tests/phpunit/Store/TypeDispatchingEntityStoreTest.php b/lib/tests/phpunit/Store/TypeDispatchingEntityStoreTest.php index a9e375d..2b05ce6 100644 --- a/lib/tests/phpunit/Store/TypeDispatchingEntityStoreTest.php +++ b/lib/tests/phpunit/Store/TypeDispatchingEntityStoreTest.php @@ -59,7 +59,7 @@ class TypeDispatchingEntityStoreTest extends \PHPUnit\Framework\TestCase { public function testGivenInvalidCallback_saveEntityFails() { $store = new TypeDispatchingEntityStore( [ - 'property' => function ( EntityStore $defaultService ) { + 'property' => static function ( EntityStore $defaultService ) { return (object)[]; }, ], diff --git a/lib/tests/phpunit/TermLanguageFallbackChainTest.php b/lib/tests/phpunit/TermLanguageFallbackChainTest.php index b93641d..3607b1e 100644 --- a/lib/tests/phpunit/TermLanguageFallbackChainTest.php +++ b/lib/tests/phpunit/TermLanguageFallbackChainTest.php @@ -31,17 +31,17 @@ class TermLanguageFallbackChainTest extends MediaWikiIntegrationTestCase { '', '⧼Lang⧽', ]; - $chainOfLanguages = array_map( function ( string $langCode ) { + $chainOfLanguages = array_map( static function ( string $langCode ) { return LanguageWithConversion::factory( $langCode ); }, $chainOfTestLanguageCodes ); $stubContentLanguages = $this->createStub( ContentLanguages::class ); $stubContentLanguages->method( 'hasLanguage' )->willReturnCallback( - function ( $langCode ) { + static function ( $langCode ) { return $langCode === 'de' || $langCode === 'en'; } ); $chain = new TermLanguageFallbackChain( $chainOfLanguages, $stubContentLanguages ); - $actualFallbackChain = array_map( function ( LanguageWithConversion $lang ) { + $actualFallbackChain = array_map( static function ( LanguageWithConversion $lang ) { return $lang->getLanguageCode(); }, $chain->getFallbackChain() ); @@ -53,7 +53,7 @@ class TermLanguageFallbackChainTest extends MediaWikiIntegrationTestCase { $stubContentLanguages = $this->createStub( ContentLanguages::class ); $stubContentLanguages->method( 'hasLanguage' )->willReturn( false ); $chain = new TermLanguageFallbackChain( [ LanguageWithConversion::factory( '⧼Lang⧽' ) ], $stubContentLanguages ); - $actualFallbackChain = array_map( function ( LanguageWithConversion $lang ) { + $actualFallbackChain = array_map( static function ( LanguageWithConversion $lang ) { return $lang->getLanguageCode(); }, $chain->getFallbackChain() ); diff --git a/lib/tests/phpunit/WikibaseContentLanguagesTest.php b/lib/tests/phpunit/WikibaseContentLanguagesTest.php index dd6b28e..912b037 100644 --- a/lib/tests/phpunit/WikibaseContentLanguagesTest.php +++ b/lib/tests/phpunit/WikibaseContentLanguagesTest.php @@ -51,7 +51,7 @@ class WikibaseContentLanguagesTest extends MediaWikiIntegrationTestCase { $testLanguages = new StaticContentLanguages( [ 'test' ] ); $this->setTemporaryHook( 'WikibaseContentLanguages', - function ( array &$contentLanguages ) use ( $testLanguages ) { + static function ( array &$contentLanguages ) use ( $testLanguages ) { $contentLanguages['test'] = $testLanguages; } ); diff --git a/lib/tests/phpunit/WikibaseSettingsTest.php b/lib/tests/phpunit/WikibaseSettingsTest.php index 8de9ec6..9dbb09b 100644 --- a/lib/tests/phpunit/WikibaseSettingsTest.php +++ b/lib/tests/phpunit/WikibaseSettingsTest.php @@ -93,7 +93,7 @@ class WikibaseSettingsTest extends \PHPUnit\Framework\TestCase { yield 'no default setting, array' => [ $default, $custom, $expected ]; unset( $custom ); - $default = [ 'key' => function () { + $default = [ 'key' => static function () { return 'value'; } ]; $custom['key'] = 'custom value'; @@ -101,7 +101,7 @@ class WikibaseSettingsTest extends \PHPUnit\Framework\TestCase { yield "['key'], callable->scalar" => [ $default, $custom, $expected ]; unset( $custom ); - $default = [ 'key' => function () { + $default = [ 'key' => static function () { return [ 'one', 'two' ]; } ]; $custom['key'] = [ 'ONE', 'TWO' ]; diff --git a/package-lock.json b/package-lock.json index b9daaf7..a28881e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2342,9 +2342,9 @@ "dev": true }, "node_modules/@wdio/cli": { - "version": "7.36.0", - "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-7.36.0.tgz", - "integrity": "sha512-vYL2tB9x7vjK3N7oRFJbUKsU4y04wqk7DQXdbmgBzC9Em4u9yvFxvtiDMCSC8kvFowiIhMtEFk8SQacL8pNszA==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-7.40.0.tgz", + "integrity": "sha512-M0txYEqqamBvJe4FEuqwWq1jd879sElF047BXSv2GRu4R1/iEBPYJHjn9KuL60Fkkpp/L1NMHTl7gW9i445edQ==", "dev": true, "dependencies": { "@types/ejs": "^3.0.5", @@ -2355,11 +2355,11 @@ "@types/lodash.union": "^4.6.6", "@types/node": "^18.0.0", "@types/recursive-readdir": "^2.2.0", - "@wdio/config": "7.33.0", + "@wdio/config": "7.40.0", "@wdio/logger": "7.26.0", "@wdio/protocols": "7.27.0", - "@wdio/types": "7.33.0", - "@wdio/utils": "7.33.0", + "@wdio/types": "7.40.0", + "@wdio/utils": "7.40.0", "async-exit-hook": "^2.0.1", "chalk": "^4.0.0", "chokidar": "^3.0.0", @@ -2372,7 +2372,7 @@ "lodash.union": "^4.6.0", "mkdirp": "^3.0.0", "recursive-readdir": "^2.2.2", - "webdriverio": "7.36.0", + "webdriverio": "7.40.0", "yargs": "^17.0.0", "yarn-install": "^1.0.0" }, @@ -2383,16 +2383,51 @@ "node": ">=12.0.0" } }, + "node_modules/@wdio/cli/node_modules/@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "dependencies": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "^4.6.2" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@wdio/cli/node_modules/@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "dependencies": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/@wdio/config": { - "version": "7.33.0", - "resolved": "https://registry.npmjs.org/@wdio/config/-/config-7.33.0.tgz", - "integrity": "sha512-SaCZNKrDtBghf7ujyaxTiU4pBW+1Kms32shSoXpJ/wFop6/MiA7nb19qpUPoJtEDw5/NOKevUKz8nBMBXphiew==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/config/-/config-7.40.0.tgz", + "integrity": "sha512-ayQELXyxa+k9/2a509F5a1oTsCa/w8D1nDrd+hzm+1mYb4Te2lceWCCzm+atGKkMpvjLH4GvhrEBYLh3rIWk2A==", "dev": true, "dependencies": { "@types/glob": "^8.1.0", "@wdio/logger": "7.26.0", - "@wdio/types": "7.33.0", - "@wdio/utils": "7.33.0", + "@wdio/types": "7.40.0", + "@wdio/utils": "7.40.0", "deepmerge": "^4.0.0", "glob": "^8.0.3" }, @@ -2400,17 +2435,52 @@ "node": ">=12.0.0" } }, + "node_modules/@wdio/config/node_modules/@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "dependencies": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "^4.6.2" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@wdio/config/node_modules/@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "dependencies": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/@wdio/local-runner": { - "version": "7.36.0", - "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-7.36.0.tgz", - "integrity": "sha512-01uDD4O5RbtuFE0F7PmtZjYuqCfJ2HvP1b+q8OUm5oINoaQ7djSkHCM01UKu5Rn5I1cQa0vSr5r12puD5Gp+Yw==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-7.40.0.tgz", + "integrity": "sha512-OBuN7TlFhbPUH7Wbh2S8OKZOjeW4rHXOfuGzJfaKkzjHje2Dqide/uC3Gd25MwmzgZcVkOo9DUYiGFCHXc44ug==", "dev": true, "dependencies": { "@types/stream-buffers": "^3.0.3", "@wdio/logger": "7.26.0", - "@wdio/repl": "7.33.0", - "@wdio/runner": "7.36.0", - "@wdio/types": "7.33.0", + "@wdio/repl": "7.40.0", + "@wdio/runner": "7.40.0", + "@wdio/types": "7.40.0", "async-exit-hook": "^2.0.1", "split2": "^4.0.0", "stream-buffers": "^3.0.2" @@ -2422,6 +2492,27 @@ "@wdio/cli": "^7.0.0" } }, + "node_modules/@wdio/local-runner/node_modules/@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "dependencies": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "^4.6.2" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/@wdio/logger": { "version": "7.26.0", "resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-7.26.0.tgz", @@ -2464,12 +2555,47 @@ } }, "node_modules/@wdio/repl": { - "version": "7.33.0", - "resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-7.33.0.tgz", - "integrity": "sha512-17KM9NCg+UVpZNbS8koT/917vklF5M8IQnw0kGwmJEo444ifTMxmLwQymbS2ovQKAKAQxlfdM7bpqMeI15kzsQ==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-7.40.0.tgz", + "integrity": "sha512-6tzT7lOMxBwdqMVdW4QxlzrQadGPta4HedFcJo4LyRz9PkXPTF68qeIGs0GyZvy/5AqspNWaAJvIR7f3T3tCyw==", "dev": true, "dependencies": { - "@wdio/utils": "7.33.0" + "@wdio/utils": "7.40.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@wdio/repl/node_modules/@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "dependencies": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "^4.6.2" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@wdio/repl/node_modules/@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "dependencies": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" }, "engines": { "node": ">=12.0.0" @@ -2530,19 +2656,54 @@ } }, "node_modules/@wdio/runner": { - "version": "7.36.0", - "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-7.36.0.tgz", - "integrity": "sha512-EU/0XprH6UEqaYarxuSSLYgsxC6/jLHE7Wj/5FIJyFwdx//Ip8DnTXzbJylskeWX2NkCfJH2VerGSo423c98+Q==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-7.40.0.tgz", + "integrity": "sha512-3dGn8sU9Oc0kTq+hcxNSqkF1acqiTAzamyNWsWXAX7V0FOfZxp0wmD9aMqY+sVT6g8mUE5aePT1ydONE5o+6QA==", "dev": true, "dependencies": { - "@wdio/config": "7.33.0", + "@wdio/config": "7.40.0", "@wdio/logger": "7.26.0", - "@wdio/types": "7.33.0", - "@wdio/utils": "7.33.0", + "@wdio/types": "7.40.0", + "@wdio/utils": "7.40.0", "deepmerge": "^4.0.0", "gaze": "^1.1.2", - "webdriver": "7.33.0", - "webdriverio": "7.36.0" + "webdriver": "7.40.0", + "webdriverio": "7.40.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@wdio/runner/node_modules/@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "dependencies": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "^4.6.2" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@wdio/runner/node_modules/@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "dependencies": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" }, "engines": { "node": ">=12.0.0" @@ -2697,9 +2858,9 @@ } }, "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true, "engines": { "node": ">=6" @@ -4600,18 +4761,18 @@ } }, "node_modules/devtools": { - "version": "7.35.0", - "resolved": "https://registry.npmjs.org/devtools/-/devtools-7.35.0.tgz", - "integrity": "sha512-7HMZMcJSCK/PaBCWVs4n4ZhtBNdUQj10iPwXvj/JDkqPreEXN/XW9GJAoMuLPFmCEKfxe+LrIbgs8ocGJ6rp/A==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/devtools/-/devtools-7.40.0.tgz", + "integrity": "sha512-hiDPCNG/mpD+bSgegxoe5nwyxWav+QpIvT+7H9D0dUwjB0q04OF473qGflSQ1QpGig6l4qG92tA7dVnLsdP75A==", "dev": true, "dependencies": { "@types/node": "^18.0.0", "@types/ua-parser-js": "^0.7.33", - "@wdio/config": "7.33.0", + "@wdio/config": "7.40.0", "@wdio/logger": "7.26.0", "@wdio/protocols": "7.27.0", - "@wdio/types": "7.33.0", - "@wdio/utils": "7.33.0", + "@wdio/types": "7.40.0", + "@wdio/utils": "7.40.0", "chrome-launcher": "^0.15.0", "edge-paths": "^2.1.0", "puppeteer-core": "13.1.3", @@ -4629,6 +4790,41 @@ "integrity": "sha512-9rTIZ4ZjWwalCPiaY+kPiALLfOKgAz5CTi/Zb1L+qSZ8PH3zVo1T8JcgXIIqg1iM3pZ6hF+n9xO5r2jZ/SF+jg==", "dev": true }, + "node_modules/devtools/node_modules/@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "dependencies": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "^4.6.2" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/devtools/node_modules/@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "dependencies": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/devtools/node_modules/debug": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", @@ -4743,9 +4939,9 @@ } }, "node_modules/diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "dev": true, "engines": { "node": ">=0.3.1" @@ -9879,32 +10075,31 @@ "dev": true }, "node_modules/mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.8.2.tgz", + "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==", "dev": true, "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" }, "bin": { "_mocha": "bin/_mocha", @@ -9912,10 +10107,15 @@ }, "engines": { "node": ">= 14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" + } + }, + "node_modules/mocha/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" } }, "node_modules/mocha/node_modules/cliui": { @@ -9929,51 +10129,27 @@ "wrap-ansi": "^7.0.0" } }, - "node_modules/mocha/node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/mocha/node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "node_modules/mocha/node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "ms": "^2.1.3" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/mocha/node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" + "node": ">=6.0" }, - "engines": { - "node": "*" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/mocha/node_modules/minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -9982,15 +10158,6 @@ "node": ">=10" } }, - "node_modules/mocha/node_modules/minimatch/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/mocha/node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -10070,10 +10237,16 @@ } }, "node_modules/nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -11037,25 +11210,6 @@ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, - "node_modules/postcss/node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -12029,9 +12183,9 @@ } }, "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "dependencies": { "randombytes": "^2.1.0" @@ -13506,9 +13660,9 @@ } }, "node_modules/ua-parser-js": { - "version": "1.0.39", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.39.tgz", - "integrity": "sha512-k24RCVWlEcjkdOxYmVJgeD/0a1TiSpqLg+ZalVGV9lsnr4yqu0w7tX/x2xX6G4zpkgQnRf89lxuZ1wsbjXM8lw==", + "version": "1.0.40", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.40.tgz", + "integrity": "sha512-z6PJ8Lml+v3ichVojCiB8toQJBuwR42ySM4ezjXIqXK3M0HczmKQ3LF4rhU55PfD99KEEXQG6yb7iOMyvYuHew==", "dev": true, "funding": [ { @@ -13772,17 +13926,17 @@ } }, "node_modules/webdriver": { - "version": "7.33.0", - "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-7.33.0.tgz", - "integrity": "sha512-cyMRAVUHgQhEBHojOeNet2e8GkfyvvjpioNCPcF6qUtT+URdagr8Mh0t4Fs+Jr0tpuMqFnw70xZexAcV/6I/jg==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-7.40.0.tgz", + "integrity": "sha512-CKi3cDWgNVE/ibcsBfdtA+pQVeZ4oYlecLlwemulVxJdgr4l5bv+nXuoIhnYeVb6aAI4naK772vmWQ0XuRYhDQ==", "dev": true, "dependencies": { "@types/node": "^18.0.0", - "@wdio/config": "7.33.0", + "@wdio/config": "7.40.0", "@wdio/logger": "7.26.0", "@wdio/protocols": "7.27.0", - "@wdio/types": "7.33.0", - "@wdio/utils": "7.33.0", + "@wdio/types": "7.40.0", + "@wdio/utils": "7.40.0", "got": "^11.0.2", "ky": "0.30.0", "lodash.merge": "^4.6.1" @@ -13791,25 +13945,60 @@ "node": ">=12.0.0" } }, + "node_modules/webdriver/node_modules/@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "dependencies": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "^4.6.2" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/webdriver/node_modules/@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "dependencies": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/webdriverio": { - "version": "7.36.0", - "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-7.36.0.tgz", - "integrity": "sha512-OTYmKBF7eFKBX39ojUIEzw7AlE1ZRJiFoMTtEQaPMuPzZCP2jUBq6Ey38nuZrYXLkXn3/le9a14pNnKSM0n56w==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-7.40.0.tgz", + "integrity": "sha512-UswBOjpWwk7ziGi9beZGX/XFrp4m1Ws0ni5HI9mzAkOlpKKKWhnX6i95pWQV6sPF4Urv4RJf8WXayHhTbzXzdA==", "dev": true, "dependencies": { "@types/aria-query": "^5.0.0", "@types/node": "^18.0.0", - "@wdio/config": "7.33.0", + "@wdio/config": "7.40.0", "@wdio/logger": "7.26.0", "@wdio/protocols": "7.27.0", - "@wdio/repl": "7.33.0", - "@wdio/types": "7.33.0", - "@wdio/utils": "7.33.0", + "@wdio/repl": "7.40.0", + "@wdio/types": "7.40.0", + "@wdio/utils": "7.40.0", "archiver": "^5.0.0", "aria-query": "^5.2.1", "css-shorthand-properties": "^1.1.1", "css-value": "^0.0.1", - "devtools": "7.35.0", + "devtools": "7.40.0", "devtools-protocol": "^0.0.1260888", "fs-extra": "^11.1.1", "grapheme-splitter": "^1.0.2", @@ -13823,7 +14012,42 @@ "resq": "^1.9.1", "rgb2hex": "0.2.5", "serialize-error": "^8.0.0", - "webdriver": "7.33.0" + "webdriver": "7.40.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/webdriverio/node_modules/@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "dependencies": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "^4.6.2" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/webdriverio/node_modules/@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "dependencies": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" }, "engines": { "node": ">=12.0.0" @@ -13920,9 +14144,9 @@ } }, "node_modules/workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", "dev": true }, "node_modules/wrap-ansi": { @@ -14054,9 +14278,9 @@ } }, "node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, "engines": { "node": ">=10" @@ -16111,9 +16335,9 @@ "dev": true }, "@wdio/cli": { - "version": "7.36.0", - "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-7.36.0.tgz", - "integrity": "sha512-vYL2tB9x7vjK3N7oRFJbUKsU4y04wqk7DQXdbmgBzC9Em4u9yvFxvtiDMCSC8kvFowiIhMtEFk8SQacL8pNszA==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-7.40.0.tgz", + "integrity": "sha512-M0txYEqqamBvJe4FEuqwWq1jd879sElF047BXSv2GRu4R1/iEBPYJHjn9KuL60Fkkpp/L1NMHTl7gW9i445edQ==", "dev": true, "requires": { "@types/ejs": "^3.0.5", @@ -16124,11 +16348,11 @@ "@types/lodash.union": "^4.6.6", "@types/node": "^18.0.0", "@types/recursive-readdir": "^2.2.0", - "@wdio/config": "7.33.0", + "@wdio/config": "7.40.0", "@wdio/logger": "7.26.0", "@wdio/protocols": "7.27.0", - "@wdio/types": "7.33.0", - "@wdio/utils": "7.33.0", + "@wdio/types": "7.40.0", + "@wdio/utils": "7.40.0", "async-exit-hook": "^2.0.1", "chalk": "^4.0.0", "chokidar": "^3.0.0", @@ -16141,39 +16365,97 @@ "lodash.union": "^4.6.0", "mkdirp": "^3.0.0", "recursive-readdir": "^2.2.2", - "webdriverio": "7.36.0", + "webdriverio": "7.40.0", "yargs": "^17.0.0", "yarn-install": "^1.0.0" + }, + "dependencies": { + "@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "requires": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + } + }, + "@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "requires": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" + } + } } }, "@wdio/config": { - "version": "7.33.0", - "resolved": "https://registry.npmjs.org/@wdio/config/-/config-7.33.0.tgz", - "integrity": "sha512-SaCZNKrDtBghf7ujyaxTiU4pBW+1Kms32shSoXpJ/wFop6/MiA7nb19qpUPoJtEDw5/NOKevUKz8nBMBXphiew==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/config/-/config-7.40.0.tgz", + "integrity": "sha512-ayQELXyxa+k9/2a509F5a1oTsCa/w8D1nDrd+hzm+1mYb4Te2lceWCCzm+atGKkMpvjLH4GvhrEBYLh3rIWk2A==", "dev": true, "requires": { "@types/glob": "^8.1.0", "@wdio/logger": "7.26.0", - "@wdio/types": "7.33.0", - "@wdio/utils": "7.33.0", + "@wdio/types": "7.40.0", + "@wdio/utils": "7.40.0", "deepmerge": "^4.0.0", "glob": "^8.0.3" + }, + "dependencies": { + "@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "requires": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + } + }, + "@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "requires": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" + } + } } }, "@wdio/local-runner": { - "version": "7.36.0", - "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-7.36.0.tgz", - "integrity": "sha512-01uDD4O5RbtuFE0F7PmtZjYuqCfJ2HvP1b+q8OUm5oINoaQ7djSkHCM01UKu5Rn5I1cQa0vSr5r12puD5Gp+Yw==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-7.40.0.tgz", + "integrity": "sha512-OBuN7TlFhbPUH7Wbh2S8OKZOjeW4rHXOfuGzJfaKkzjHje2Dqide/uC3Gd25MwmzgZcVkOo9DUYiGFCHXc44ug==", "dev": true, "requires": { "@types/stream-buffers": "^3.0.3", "@wdio/logger": "7.26.0", - "@wdio/repl": "7.33.0", - "@wdio/runner": "7.36.0", - "@wdio/types": "7.33.0", + "@wdio/repl": "7.40.0", + "@wdio/runner": "7.40.0", + "@wdio/types": "7.40.0", "async-exit-hook": "^2.0.1", "split2": "^4.0.0", "stream-buffers": "^3.0.2" + }, + "dependencies": { + "@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "requires": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + } + } } }, "@wdio/logger": { @@ -16209,12 +16491,35 @@ "dev": true }, "@wdio/repl": { - "version": "7.33.0", - "resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-7.33.0.tgz", - "integrity": "sha512-17KM9NCg+UVpZNbS8koT/917vklF5M8IQnw0kGwmJEo444ifTMxmLwQymbS2ovQKAKAQxlfdM7bpqMeI15kzsQ==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-7.40.0.tgz", + "integrity": "sha512-6tzT7lOMxBwdqMVdW4QxlzrQadGPta4HedFcJo4LyRz9PkXPTF68qeIGs0GyZvy/5AqspNWaAJvIR7f3T3tCyw==", "dev": true, "requires": { - "@wdio/utils": "7.33.0" + "@wdio/utils": "7.40.0" + }, + "dependencies": { + "@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "requires": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + } + }, + "@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "requires": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" + } + } } }, "@wdio/reporter": { @@ -16265,19 +16570,42 @@ } }, "@wdio/runner": { - "version": "7.36.0", - "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-7.36.0.tgz", - "integrity": "sha512-EU/0XprH6UEqaYarxuSSLYgsxC6/jLHE7Wj/5FIJyFwdx//Ip8DnTXzbJylskeWX2NkCfJH2VerGSo423c98+Q==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-7.40.0.tgz", + "integrity": "sha512-3dGn8sU9Oc0kTq+hcxNSqkF1acqiTAzamyNWsWXAX7V0FOfZxp0wmD9aMqY+sVT6g8mUE5aePT1ydONE5o+6QA==", "dev": true, "requires": { - "@wdio/config": "7.33.0", + "@wdio/config": "7.40.0", "@wdio/logger": "7.26.0", - "@wdio/types": "7.33.0", - "@wdio/utils": "7.33.0", + "@wdio/types": "7.40.0", + "@wdio/utils": "7.40.0", "deepmerge": "^4.0.0", "gaze": "^1.1.2", - "webdriver": "7.33.0", - "webdriverio": "7.36.0" + "webdriver": "7.40.0", + "webdriverio": "7.40.0" + }, + "dependencies": { + "@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "requires": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + } + }, + "@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "requires": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" + } + } } }, "@wdio/spec-reporter": { @@ -16393,9 +16721,9 @@ } }, "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true }, "ansi-escapes": { @@ -17803,18 +18131,18 @@ "dev": true }, "devtools": { - "version": "7.35.0", - "resolved": "https://registry.npmjs.org/devtools/-/devtools-7.35.0.tgz", - "integrity": "sha512-7HMZMcJSCK/PaBCWVs4n4ZhtBNdUQj10iPwXvj/JDkqPreEXN/XW9GJAoMuLPFmCEKfxe+LrIbgs8ocGJ6rp/A==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/devtools/-/devtools-7.40.0.tgz", + "integrity": "sha512-hiDPCNG/mpD+bSgegxoe5nwyxWav+QpIvT+7H9D0dUwjB0q04OF473qGflSQ1QpGig6l4qG92tA7dVnLsdP75A==", "dev": true, "requires": { "@types/node": "^18.0.0", "@types/ua-parser-js": "^0.7.33", - "@wdio/config": "7.33.0", + "@wdio/config": "7.40.0", "@wdio/logger": "7.26.0", "@wdio/protocols": "7.27.0", - "@wdio/types": "7.33.0", - "@wdio/utils": "7.33.0", + "@wdio/types": "7.40.0", + "@wdio/utils": "7.40.0", "chrome-launcher": "^0.15.0", "edge-paths": "^2.1.0", "puppeteer-core": "13.1.3", @@ -17823,6 +18151,27 @@ "uuid": "^9.0.0" }, "dependencies": { + "@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "requires": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + } + }, + "@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "requires": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" + } + }, "debug": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", @@ -17899,9 +18248,9 @@ "dev": true }, "diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "dev": true }, "diff-sequences": { @@ -21787,34 +22136,42 @@ "dev": true }, "mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.8.2.tgz", + "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==", "dev": true, "requires": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" }, "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, "cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -21826,55 +22183,22 @@ "wrap-ansi": "^7.0.0" } }, - "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } + "ms": "^2.1.3" } }, "minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "requires": { "brace-expansion": "^2.0.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - } } }, "ms": { @@ -21946,9 +22270,9 @@ } }, "nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", "dev": true }, "natural-compare": { @@ -22562,14 +22886,6 @@ "nanoid": "^3.3.7", "picocolors": "^1.1.0", "source-map-js": "^1.2.1" - }, - "dependencies": { - "nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true - } } }, "postcss-html": { @@ -23359,9 +23675,9 @@ } }, "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -24412,9 +24728,9 @@ "peer": true }, "ua-parser-js": { - "version": "1.0.39", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.39.tgz", - "integrity": "sha512-k24RCVWlEcjkdOxYmVJgeD/0a1TiSpqLg+ZalVGV9lsnr4yqu0w7tX/x2xX6G4zpkgQnRf89lxuZ1wsbjXM8lw==", + "version": "1.0.40", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.40.tgz", + "integrity": "sha512-z6PJ8Lml+v3ichVojCiB8toQJBuwR42ySM4ezjXIqXK3M0HczmKQ3LF4rhU55PfD99KEEXQG6yb7iOMyvYuHew==", "dev": true }, "unbox-primitive": { @@ -24589,41 +24905,64 @@ "requires": {} }, "webdriver": { - "version": "7.33.0", - "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-7.33.0.tgz", - "integrity": "sha512-cyMRAVUHgQhEBHojOeNet2e8GkfyvvjpioNCPcF6qUtT+URdagr8Mh0t4Fs+Jr0tpuMqFnw70xZexAcV/6I/jg==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-7.40.0.tgz", + "integrity": "sha512-CKi3cDWgNVE/ibcsBfdtA+pQVeZ4oYlecLlwemulVxJdgr4l5bv+nXuoIhnYeVb6aAI4naK772vmWQ0XuRYhDQ==", "dev": true, "requires": { "@types/node": "^18.0.0", - "@wdio/config": "7.33.0", + "@wdio/config": "7.40.0", "@wdio/logger": "7.26.0", "@wdio/protocols": "7.27.0", - "@wdio/types": "7.33.0", - "@wdio/utils": "7.33.0", + "@wdio/types": "7.40.0", + "@wdio/utils": "7.40.0", "got": "^11.0.2", "ky": "0.30.0", "lodash.merge": "^4.6.1" + }, + "dependencies": { + "@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "requires": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + } + }, + "@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "requires": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" + } + } } }, "webdriverio": { - "version": "7.36.0", - "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-7.36.0.tgz", - "integrity": "sha512-OTYmKBF7eFKBX39ojUIEzw7AlE1ZRJiFoMTtEQaPMuPzZCP2jUBq6Ey38nuZrYXLkXn3/le9a14pNnKSM0n56w==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-7.40.0.tgz", + "integrity": "sha512-UswBOjpWwk7ziGi9beZGX/XFrp4m1Ws0ni5HI9mzAkOlpKKKWhnX6i95pWQV6sPF4Urv4RJf8WXayHhTbzXzdA==", "dev": true, "requires": { "@types/aria-query": "^5.0.0", "@types/node": "^18.0.0", - "@wdio/config": "7.33.0", + "@wdio/config": "7.40.0", "@wdio/logger": "7.26.0", "@wdio/protocols": "7.27.0", - "@wdio/repl": "7.33.0", - "@wdio/types": "7.33.0", - "@wdio/utils": "7.33.0", + "@wdio/repl": "7.40.0", + "@wdio/types": "7.40.0", + "@wdio/utils": "7.40.0", "archiver": "^5.0.0", "aria-query": "^5.2.1", "css-shorthand-properties": "^1.1.1", "css-value": "^0.0.1", - "devtools": "7.35.0", + "devtools": "7.40.0", "devtools-protocol": "^0.0.1260888", "fs-extra": "^11.1.1", "grapheme-splitter": "^1.0.2", @@ -24637,9 +24976,30 @@ "resq": "^1.9.1", "rgb2hex": "0.2.5", "serialize-error": "^8.0.0", - "webdriver": "7.33.0" + "webdriver": "7.40.0" }, "dependencies": { + "@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "requires": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + } + }, + "@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "requires": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" + } + }, "brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -24712,9 +25072,9 @@ } }, "workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", "dev": true }, "wrap-ansi": { @@ -24810,9 +25170,9 @@ } }, "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true }, "yargs-unparser": { diff --git a/repo/WikibaseRepo.FederatedProperties.OverrideEntityServices.php b/repo/WikibaseRepo.FederatedProperties.OverrideEntityServices.php index 6047970..5b47e3a 100644 --- a/repo/WikibaseRepo.FederatedProperties.OverrideEntityServices.php +++ b/repo/WikibaseRepo.FederatedProperties.OverrideEntityServices.php @@ -21,29 +21,29 @@ use Wikibase\Repo\WikibaseRepo; return [ 'property' => [ - Def::ARTICLE_ID_LOOKUP_CALLBACK => function () { + Def::ARTICLE_ID_LOOKUP_CALLBACK => static function () { return new EntityArticleIdNullLookup(); }, - Def::URL_LOOKUP_CALLBACK => function () { + Def::URL_LOOKUP_CALLBACK => static function () { return WikibaseRepo::getFederatedPropertiesServiceFactory()->newApiEntityUrlLookup(); }, - Def::TITLE_TEXT_LOOKUP_CALLBACK => function () { + Def::TITLE_TEXT_LOOKUP_CALLBACK => static function () { return WikibaseRepo::getFederatedPropertiesServiceFactory()->newApiEntityTitleTextLookup(); }, - Def::ENTITY_SEARCH_CALLBACK => function() { + Def::ENTITY_SEARCH_CALLBACK => static function() { return WikibaseRepo::getFederatedPropertiesServiceFactory()->newApiEntitySearchHelper(); }, - Def::PREFETCHING_TERM_LOOKUP_CALLBACK => function() { + Def::PREFETCHING_TERM_LOOKUP_CALLBACK => static function() { return WikibaseRepo::getFederatedPropertiesServiceFactory()->newApiPrefetchingTermLookup(); }, - Def::REDIRECT_CHECKER_CALLBACK => function () { + Def::REDIRECT_CHECKER_CALLBACK => static function () { return new class implements EntityRedirectChecker { public function isRedirect( EntityId $id ): bool { return false; } }; }, - Def::EXISTENCE_CHECKER_CALLBACK => function () { + Def::EXISTENCE_CHECKER_CALLBACK => static function () { return WikibaseRepo::getFederatedPropertiesServiceFactory()->newApiEntityExistenceChecker(); }, ], diff --git a/repo/WikibaseRepo.ServiceWiring.php b/repo/WikibaseRepo.ServiceWiring.php index baeac45..692442f 100644 --- a/repo/WikibaseRepo.ServiceWiring.php +++ b/repo/WikibaseRepo.ServiceWiring.php @@ -261,11 +261,11 @@ use Wikimedia\ObjectFactory\ObjectFactory; /** @phpcs-require-sorted-array */ return [ - 'WikibaseRepo.AliasTermBuffer' => function ( MediaWikiServices $services ): AliasTermBuffer { + 'WikibaseRepo.AliasTermBuffer' => static function ( MediaWikiServices $services ): AliasTermBuffer { return WikibaseRepo::getPrefetchingTermLookup( $services ); }, - 'WikibaseRepo.AllTypesEntityDeserializer' => function ( MediaWikiServices $services ): DispatchableDeserializer { + 'WikibaseRepo.AllTypesEntityDeserializer' => static function ( MediaWikiServices $services ): DispatchableDeserializer { $deserializerFactoryCallbacks = WikibaseRepo::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::DESERIALIZER_FACTORY_CALLBACK ); $baseDeserializerFactory = WikibaseRepo::getBaseDataModelDeserializerFactory( $services ); @@ -276,7 +276,7 @@ return [ return new DispatchingDeserializer( $deserializers ); }, - 'WikibaseRepo.AllTypesEntitySerializer' => function ( MediaWikiServices $services ): Serializer { + 'WikibaseRepo.AllTypesEntitySerializer' => static function ( MediaWikiServices $services ): Serializer { $serializerFactoryCallbacks = WikibaseRepo::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::SERIALIZER_FACTORY_CALLBACK ); $baseSerializerFactory = WikibaseRepo::getBaseDataModelSerializerFactory( $services ); @@ -289,11 +289,11 @@ return [ return new DispatchingSerializer( $serializers ); }, - 'WikibaseRepo.AnonymousEditWarningBuilder' => function ( MediaWikiServices $services ): AnonymousEditWarningBuilder { + 'WikibaseRepo.AnonymousEditWarningBuilder' => static function ( MediaWikiServices $services ): AnonymousEditWarningBuilder { return new AnonymousEditWarningBuilder( $services->getSpecialPageFactory(), $services->getTempUserConfig() ); }, - 'WikibaseRepo.ApiHelperFactory' => function ( MediaWikiServices $services ): ApiHelperFactory { + 'WikibaseRepo.ApiHelperFactory' => static function ( MediaWikiServices $services ): ApiHelperFactory { $store = WikibaseRepo::getStore( $services ); return new ApiHelperFactory( @@ -316,7 +316,7 @@ return [ ); }, - 'WikibaseRepo.BagOStuffSiteLinkConflictLookup' => function ( + 'WikibaseRepo.BagOStuffSiteLinkConflictLookup' => static function ( MediaWikiServices $services ): BagOStuffSiteLinkConflictLookup { return new BagOStuffSiteLinkConflictLookup( @@ -324,7 +324,7 @@ return [ ); }, - 'WikibaseRepo.BaseDataModelDeserializerFactory' => function ( MediaWikiServices $services ): DeserializerFactory { + 'WikibaseRepo.BaseDataModelDeserializerFactory' => static function ( MediaWikiServices $services ): DeserializerFactory { $dataTypeDefs = WikibaseRepo::getDataTypeDefinitions( $services ); return new DeserializerFactory( @@ -336,11 +336,11 @@ return [ ); }, - 'WikibaseRepo.BaseDataModelSerializerFactory' => function ( MediaWikiServices $services ): SerializerFactory { + 'WikibaseRepo.BaseDataModelSerializerFactory' => static function ( MediaWikiServices $services ): SerializerFactory { return new SerializerFactory( new DataValueSerializer(), SerializerFactory::OPTION_DEFAULT ); }, - 'WikibaseRepo.CachingCommonsMediaFileNameLookup' => function ( + 'WikibaseRepo.CachingCommonsMediaFileNameLookup' => static function ( MediaWikiServices $services ): CachingCommonsMediaFileNameLookup { return new CachingCommonsMediaFileNameLookup( @@ -349,11 +349,11 @@ return [ ); }, - 'WikibaseRepo.ChangeHolder' => function ( MediaWikiServices $services ): ChangeHolder { + 'WikibaseRepo.ChangeHolder' => static function ( MediaWikiServices $services ): ChangeHolder { return new ChangeHolder(); }, - 'WikibaseRepo.ChangeNotifier' => function ( MediaWikiServices $services ): ChangeNotifier { + 'WikibaseRepo.ChangeNotifier' => static function ( MediaWikiServices $services ): ChangeNotifier { $transmitters = [ new HookChangeTransmitter( $services->getHookContainer(), @@ -375,7 +375,7 @@ return [ ); }, - 'WikibaseRepo.ChangeOpDeserializerFactory' => function ( MediaWikiServices $services ): ChangeOpDeserializerFactory { + 'WikibaseRepo.ChangeOpDeserializerFactory' => static function ( MediaWikiServices $services ): ChangeOpDeserializerFactory { $changeOpFactoryProvider = WikibaseRepo::getChangeOpFactoryProvider( $services ); $settings = WikibaseRepo::getSettings( $services ); @@ -395,7 +395,7 @@ return [ ); }, - 'WikibaseRepo.ChangeOpFactoryProvider' => function ( MediaWikiServices $services ): ChangeOpFactoryProvider { + 'WikibaseRepo.ChangeOpFactoryProvider' => static function ( MediaWikiServices $services ): ChangeOpFactoryProvider { $snakValidator = new SnakValidator( WikibaseRepo::getPropertyDataTypeLookup( $services ), WikibaseRepo::getDataTypeFactory( $services ), @@ -419,14 +419,14 @@ return [ ); }, - 'WikibaseRepo.CommonsMediaValueNormalizer' => function ( MediaWikiServices $services ): CommonsMediaValueNormalizer { + 'WikibaseRepo.CommonsMediaValueNormalizer' => static function ( MediaWikiServices $services ): CommonsMediaValueNormalizer { return new CommonsMediaValueNormalizer( WikibaseRepo::getCachingCommonsMediaFileNameLookup( $services ), WikibaseRepo::getLogger( $services ) ); }, - 'WikibaseRepo.CompactBaseDataModelSerializerFactory' => function ( MediaWikiServices $services ): SerializerFactory { + 'WikibaseRepo.CompactBaseDataModelSerializerFactory' => static function ( MediaWikiServices $services ): SerializerFactory { return new SerializerFactory( new DataValueSerializer(), SerializerFactory::OPTION_SERIALIZE_MAIN_SNAKS_WITHOUT_HASH + @@ -435,7 +435,7 @@ return [ ); }, - 'WikibaseRepo.CompactEntitySerializer' => function ( MediaWikiServices $services ): Serializer { + 'WikibaseRepo.CompactEntitySerializer' => static function ( MediaWikiServices $services ): Serializer { $serializerFactoryCallbacks = WikibaseRepo::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::SERIALIZER_FACTORY_CALLBACK ); $baseSerializerFactory = WikibaseRepo::getCompactBaseDataModelSerializerFactory( $services ); @@ -448,7 +448,7 @@ return [ return new DispatchingSerializer( $serializers ); }, - 'WikibaseRepo.ContentModelMappings' => function ( MediaWikiServices $services ): array { + 'WikibaseRepo.ContentModelMappings' => static function ( MediaWikiServices $services ): array { $map = WikibaseRepo::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::CONTENT_MODEL_ID ); @@ -458,20 +458,20 @@ return [ return $map; }, - 'WikibaseRepo.DataAccessSettings' => function ( MediaWikiServices $services ): DataAccessSettings { + 'WikibaseRepo.DataAccessSettings' => static function ( MediaWikiServices $services ): DataAccessSettings { return new DataAccessSettings( WikibaseRepo::getSettings( $services )->getSetting( 'maxSerializedEntitySize' ) ); }, - 'WikibaseRepo.DatabaseTypeIdsStore' => function ( MediaWikiServices $services ): DatabaseTypeIdsStore { + 'WikibaseRepo.DatabaseTypeIdsStore' => static function ( MediaWikiServices $services ): DatabaseTypeIdsStore { return new DatabaseTypeIdsStore( WikibaseRepo::getTermsDomainDbFactory( $services )->newTermsDb(), $services->getMainWANObjectCache() ); }, - 'WikibaseRepo.DataTypeDefinitions' => function ( MediaWikiServices $services ): DataTypeDefinitions { + 'WikibaseRepo.DataTypeDefinitions' => static function ( MediaWikiServices $services ): DataTypeDefinitions { $baseDataTypes = require __DIR__ . '/../lib/WikibaseLib.datatypes.php'; $repoDataTypes = require __DIR__ . '/WikibaseRepo.datatypes.php'; @@ -490,30 +490,30 @@ return [ ); }, - 'WikibaseRepo.DataTypeFactory' => function ( MediaWikiServices $services ): DataTypeFactory { + 'WikibaseRepo.DataTypeFactory' => static function ( MediaWikiServices $services ): DataTypeFactory { return new DataTypeFactory( WikibaseRepo::getDataTypeDefinitions( $services )->getValueTypes() ); }, - 'WikibaseRepo.DataTypeValidatorFactory' => function ( MediaWikiServices $services ): DataTypeValidatorFactory { + 'WikibaseRepo.DataTypeValidatorFactory' => static function ( MediaWikiServices $services ): DataTypeValidatorFactory { return new BuilderBasedDataTypeValidatorFactory( WikibaseRepo::getDataTypeDefinitions( $services )->getValidatorFactoryCallbacks() ); }, - 'WikibaseRepo.DataValueDeserializer' => function ( MediaWikiServices $services ): DataValueDeserializer { + 'WikibaseRepo.DataValueDeserializer' => static function ( MediaWikiServices $services ): DataValueDeserializer { return new DataValueDeserializer( array_merge( WikibaseRepo::getDataTypeDefinitions( $services )->getDataValueDeserializerBuilders(), [ 'unknown' => UnknownValue::class ] ) ); }, - 'WikibaseRepo.DataValueFactory' => function ( MediaWikiServices $services ): DataValueFactory { + 'WikibaseRepo.DataValueFactory' => static function ( MediaWikiServices $services ): DataValueFactory { return new DataValueFactory( WikibaseRepo::getDataValueDeserializer( $services ) ); }, - 'WikibaseRepo.DefaultSnakFormatterBuilders' => function ( MediaWikiServices $services ): WikibaseSnakFormatterBuilders { + 'WikibaseRepo.DefaultSnakFormatterBuilders' => static function ( MediaWikiServices $services ): WikibaseSnakFormatterBuilders { return new WikibaseSnakFormatterBuilders( WikibaseRepo::getDefaultValueFormatterBuilders( $services ), WikibaseRepo::getPropertyInfoLookup( $services ), @@ -528,7 +528,7 @@ return [ * @warning This is for use with {@link WikibaseRepo::getDefaultValidatorBuilders()} during bootstrap only! * Program logic should use {@link WikibaseRepo::getDataTypeValidatorFactory()} instead! */ - 'WikibaseRepo.DefaultValidatorBuilders' => function ( MediaWikiServices $services ): ValidatorBuilders { + 'WikibaseRepo.DefaultValidatorBuilders' => static function ( MediaWikiServices $services ): ValidatorBuilders { $settings = WikibaseRepo::getSettings( $services ); return new ValidatorBuilders( @@ -550,7 +550,7 @@ return [ * @warning This is for use with {@link WikibaseRepo::getDefaultValueFormatterBuilders()} during bootstrap only! * Program logic should use {@link WikibaseRepo::getSnakFormatterFactory()} instead! */ - 'WikibaseRepo.DefaultValueFormatterBuilders' => function ( + 'WikibaseRepo.DefaultValueFormatterBuilders' => static function ( MediaWikiServices $services ): WikibaseValueFormatterBuilders { $settings = WikibaseRepo::getSettings( $services ); @@ -582,13 +582,13 @@ return [ ); }, - 'WikibaseRepo.DispatchStats' => function ( MediaWikiServices $services ): DispatchStats { + 'WikibaseRepo.DispatchStats' => static function ( MediaWikiServices $services ): DispatchStats { return new DispatchStats( WikibaseRepo::getRepoDomainDbFactory( $services )->newRepoDb() ); }, - 'WikibaseRepo.EditEntityFactory' => function ( MediaWikiServices $services ): MediaWikiEditEntityFactory { + 'WikibaseRepo.EditEntityFactory' => static function ( MediaWikiServices $services ): MediaWikiEditEntityFactory { return new MediaWikiEditEntityFactory( WikibaseRepo::getEntityTitleStoreLookup( $services ), WikibaseRepo::getStore( $services ) @@ -606,7 +606,7 @@ return [ ); }, - 'WikibaseRepo.EditFilterHookRunner' => function ( MediaWikiServices $services ): EditFilterHookRunner { + 'WikibaseRepo.EditFilterHookRunner' => static function ( MediaWikiServices $services ): EditFilterHookRunner { return new MediaWikiEditFilterHookRunner( WikibaseRepo::getEntityNamespaceLookup( $services ), WikibaseRepo::getEntityTitleStoreLookup( $services ), @@ -615,18 +615,18 @@ return [ ); }, - 'WikibaseRepo.EnabledEntityTypes' => function ( MediaWikiServices $services ): array { + 'WikibaseRepo.EnabledEntityTypes' => static function ( MediaWikiServices $services ): array { return array_keys( WikibaseRepo::getEntitySourceDefinitions( $services ) ->getEntityTypeToDatabaseSourceMapping() ); }, - 'WikibaseRepo.EnabledEntityTypesForSearch' => function ( MediaWikiServices $services ): array { + 'WikibaseRepo.EnabledEntityTypesForSearch' => static function ( MediaWikiServices $services ): array { return array_keys( WikibaseRepo::getEntitySearchHelperCallbacks( $services ) ); }, - 'WikibaseRepo.EntityArticleIdLookup' => function ( MediaWikiServices $services ): EntityArticleIdLookup { + 'WikibaseRepo.EntityArticleIdLookup' => static function ( MediaWikiServices $services ): EntityArticleIdLookup { $callbacks = WikibaseRepo::getEntitySourceAndTypeDefinitions( $services )->getServiceBySourceAndType( EntityTypeDefinitions::ARTICLE_ID_LOOKUP_CALLBACK ); @@ -640,7 +640,7 @@ return [ ); }, - 'WikibaseRepo.EntityChangeFactory' => function ( MediaWikiServices $services ): EntityChangeFactory { + 'WikibaseRepo.EntityChangeFactory' => static function ( MediaWikiServices $services ): EntityChangeFactory { //TODO: take this from a setting or registry. $changeClasses = [ Item::ENTITY_TYPE => ItemChange::class, @@ -656,7 +656,7 @@ return [ ); }, - 'WikibaseRepo.EntityChangeLookup' => function ( MediaWikiServices $services ): EntityChangeLookup { + 'WikibaseRepo.EntityChangeLookup' => static function ( MediaWikiServices $services ): EntityChangeLookup { return new EntityChangeLookup( WikibaseRepo::getEntityChangeFactory( $services ), WikibaseRepo::getEntityIdParser( $services ), @@ -664,14 +664,14 @@ return [ ); }, - 'WikibaseRepo.EntityChangeOpProvider' => function ( MediaWikiServices $services ): EntityChangeOpProvider { + 'WikibaseRepo.EntityChangeOpProvider' => static function ( MediaWikiServices $services ): EntityChangeOpProvider { return new EntityChangeOpProvider( WikibaseRepo::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::CHANGEOP_DESERIALIZER_CALLBACK ) ); }, - 'WikibaseRepo.EntityConstraintProvider' => function ( MediaWikiServices $services ): EntityConstraintProvider { + 'WikibaseRepo.EntityConstraintProvider' => static function ( MediaWikiServices $services ): EntityConstraintProvider { return new EntityConstraintProvider( new CompositeSiteLinkConflictLookup( [ new SqlSiteLinkConflictLookup( @@ -685,7 +685,7 @@ return [ ); }, - 'WikibaseRepo.EntityContentDataCodec' => function ( MediaWikiServices $services ): EntityContentDataCodec { + 'WikibaseRepo.EntityContentDataCodec' => static function ( MediaWikiServices $services ): EntityContentDataCodec { return new EntityContentDataCodec( WikibaseRepo::getEntityIdParser( $services ), WikibaseRepo::getStorageEntitySerializer( $services ), @@ -695,7 +695,7 @@ return [ ); }, - 'WikibaseRepo.EntityContentFactory' => function ( MediaWikiServices $services ): EntityContentFactory { + 'WikibaseRepo.EntityContentFactory' => static function ( MediaWikiServices $services ): EntityContentFactory { return new EntityContentFactory( WikibaseRepo::getContentModelMappings( $services ), WikibaseRepo::getEntityTypeDefinitions( $services ) @@ -703,7 +703,7 @@ return [ ); }, - 'WikibaseRepo.EntityDataFormatProvider' => function ( MediaWikiServices $services ): EntityDataFormatProvider { + 'WikibaseRepo.EntityDataFormatProvider' => static function ( MediaWikiServices $services ): EntityDataFormatProvider { $formats = WikibaseRepo::getSettings( $services )->getSetting( 'entityDataFormats' ); $entityDataFormatProvider = new EntityDataFormatProvider(); @@ -712,7 +712,7 @@ return [ return $entityDataFormatProvider; }, - 'WikibaseRepo.EntityDataSerializationService' => function ( MediaWikiServices $services ): EntityDataSerializationService { + 'WikibaseRepo.EntityDataSerializationService' => static function ( MediaWikiServices $services ): EntityDataSerializationService { return new EntityDataSerializationService( WikibaseRepo::getEntityTitleStoreLookup( $services ), WikibaseRepo::getPropertyDataTypeLookup( $services ), @@ -725,7 +725,7 @@ return [ ); }, - 'WikibaseRepo.EntityDataUriManager' => function ( MediaWikiServices $services ): EntityDataUriManager { + 'WikibaseRepo.EntityDataUriManager' => static function ( MediaWikiServices $services ): EntityDataUriManager { $entityDataFormatProvider = WikibaseRepo::getEntityDataFormatProvider( $services ); // build a mapping of formats to file extensions and include HTML @@ -750,7 +750,7 @@ return [ ); }, - 'WikibaseRepo.EntityDiffer' => function ( MediaWikiServices $services ): EntityDiffer { + 'WikibaseRepo.EntityDiffer' => static function ( MediaWikiServices $services ): EntityDiffer { $entityDiffer = new EntityDiffer(); $entityTypeDefinitions = WikibaseRepo::getEntityTypeDefinitions( $services ); $builders = $entityTypeDefinitions->get( EntityTypeDefinitions::ENTITY_DIFFER_STRATEGY_BUILDER ); @@ -760,7 +760,7 @@ return [ return $entityDiffer; }, - 'WikibaseRepo.EntityDiffVisualizerFactory' => function ( MediaWikiServices $services ): EntityDiffVisualizerFactory{ + 'WikibaseRepo.EntityDiffVisualizerFactory' => static function ( MediaWikiServices $services ): EntityDiffVisualizerFactory{ return new EntityDiffVisualizerFactory( WikibaseRepo::getEntityTypeDefinitions( $services )->get( EntityTypeDefinitions::ENTITY_DIFF_VISUALIZER_CALLBACK ), new ClaimDiffer( new OrderedListDiffer( new ComparableComparer() ) ), @@ -770,7 +770,7 @@ return [ ); }, - 'WikibaseRepo.EntityExistenceChecker' => function ( MediaWikiServices $services ): EntityExistenceChecker { + 'WikibaseRepo.EntityExistenceChecker' => static function ( MediaWikiServices $services ): EntityExistenceChecker { return new SourceAndTypeDispatchingExistenceChecker( WikibaseRepo::getEntitySourceLookup( $services ), new ServiceBySourceAndTypeDispatcher( @@ -781,21 +781,21 @@ return [ ); }, - 'WikibaseRepo.EntityFactory' => function ( MediaWikiServices $services ): EntityFactory { + 'WikibaseRepo.EntityFactory' => static function ( MediaWikiServices $services ): EntityFactory { $instantiators = WikibaseRepo::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::ENTITY_FACTORY_CALLBACK ); return new EntityFactory( $instantiators ); }, - 'WikibaseRepo.EntityIdComposer' => function ( MediaWikiServices $services ): EntityIdComposer { + 'WikibaseRepo.EntityIdComposer' => static function ( MediaWikiServices $services ): EntityIdComposer { return new EntityIdComposer( WikibaseRepo::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::ENTITY_ID_COMPOSER_CALLBACK ) ); }, - 'WikibaseRepo.EntityIdHtmlLinkFormatterFactory' => function ( + 'WikibaseRepo.EntityIdHtmlLinkFormatterFactory' => static function ( MediaWikiServices $services ): EntityIdFormatterFactory { $factory = new EntityIdHtmlLinkFormatterFactory( @@ -812,7 +812,7 @@ return [ : $factory; }, - 'WikibaseRepo.EntityIdLabelFormatterFactory' => function ( + 'WikibaseRepo.EntityIdLabelFormatterFactory' => static function ( MediaWikiServices $services ): EntityIdLabelFormatterFactory { return new EntityIdLabelFormatterFactory( @@ -820,14 +820,14 @@ return [ ); }, - 'WikibaseRepo.EntityIdLookup' => function ( MediaWikiServices $services ): EntityIdLookup { + 'WikibaseRepo.EntityIdLookup' => static function ( MediaWikiServices $services ): EntityIdLookup { return new ContentHandlerEntityIdLookup( WikibaseRepo::getEntityContentFactory( $services ), $services->getHookContainer() ); }, - 'WikibaseRepo.EntityIdParser' => function ( MediaWikiServices $services ): EntityIdParser { + 'WikibaseRepo.EntityIdParser' => static function ( MediaWikiServices $services ): EntityIdParser { $settings = WikibaseRepo::getSettings( $services ); $dispatchingEntityIdParser = new DispatchingEntityIdParser( WikibaseRepo::getEntityTypeDefinitions( $services )->getEntityIdBuilders() @@ -845,7 +845,7 @@ return [ return $dispatchingEntityIdParser; }, - 'WikibaseRepo.EntityLinkFormatterFactory' => function ( MediaWikiServices $services ): EntityLinkFormatterFactory { + 'WikibaseRepo.EntityLinkFormatterFactory' => static function ( MediaWikiServices $services ): EntityLinkFormatterFactory { return new EntityLinkFormatterFactory( WikibaseRepo::getEntityTitleTextLookup( $services ), $services->getLanguageFactory(), @@ -853,7 +853,7 @@ return [ ); }, - 'WikibaseRepo.EntityLookup' => function ( MediaWikiServices $services ): EntityLookup { + 'WikibaseRepo.EntityLookup' => static function ( MediaWikiServices $services ): EntityLookup { return WikibaseRepo::getStore( $services ) ->getEntityLookup( Store::LOOKUP_CACHING_ENABLED, @@ -861,7 +861,7 @@ return [ ); }, - 'WikibaseRepo.EntityMetaTagsCreatorFactory' => function ( + 'WikibaseRepo.EntityMetaTagsCreatorFactory' => static function ( MediaWikiServices $services ): DispatchingEntityMetaTagsCreatorFactory { return new DispatchingEntityMetaTagsCreatorFactory( @@ -870,17 +870,17 @@ return [ ); }, - 'WikibaseRepo.EntityNamespaceLookup' => function ( MediaWikiServices $services ): EntityNamespaceLookup { + 'WikibaseRepo.EntityNamespaceLookup' => static function ( MediaWikiServices $services ): EntityNamespaceLookup { $entitySources = array_filter( WikibaseRepo::getEntitySourceDefinitions( $services )->getSources(), - function ( EntitySource $entitySource ) { + static function ( EntitySource $entitySource ) { return $entitySource->getType() === DatabaseEntitySource::TYPE; } ); return array_reduce( $entitySources, - function ( EntityNamespaceLookup $nsLookup, DatabaseEntitySource $source ): EntityNamespaceLookup { + static function ( EntityNamespaceLookup $nsLookup, DatabaseEntitySource $source ): EntityNamespaceLookup { return $nsLookup->merge( new EntityNamespaceLookup( $source->getEntityNamespaceIds(), $source->getEntitySlotNames() @@ -890,7 +890,7 @@ return [ ); }, - 'WikibaseRepo.EntityParserOutputGeneratorFactory' => function ( MediaWikiServices $services ): EntityParserOutputGeneratorFactory { + 'WikibaseRepo.EntityParserOutputGeneratorFactory' => static function ( MediaWikiServices $services ): EntityParserOutputGeneratorFactory { $settings = WikibaseRepo::getSettings( $services ); return new EntityParserOutputGeneratorFactory( @@ -923,7 +923,7 @@ return [ ); }, - 'WikibaseRepo.EntityPatcher' => function ( MediaWikiServices $services ): EntityPatcher { + 'WikibaseRepo.EntityPatcher' => static function ( MediaWikiServices $services ): EntityPatcher { $entityPatcher = new EntityPatcher(); $entityTypeDefinitions = WikibaseRepo::getEntityTypeDefinitions( $services ); $builders = $entityTypeDefinitions->get( EntityTypeDefinitions::ENTITY_PATCHER_STRATEGY_BUILDER ); @@ -933,7 +933,7 @@ return [ return $entityPatcher; }, - 'WikibaseRepo.EntityPermissionChecker' => function ( MediaWikiServices $services ): EntityPermissionChecker { + 'WikibaseRepo.EntityPermissionChecker' => static function ( MediaWikiServices $services ): EntityPermissionChecker { return new WikiPageEntityStorePermissionChecker( WikibaseRepo::getEntityNamespaceLookup( $services ), WikibaseRepo::getEntityTitleLookup( $services ), @@ -942,7 +942,7 @@ return [ ); }, - 'WikibaseRepo.EntityRdfBuilderFactory' => function ( MediaWikiServices $services ): EntityRdfBuilderFactory { + 'WikibaseRepo.EntityRdfBuilderFactory' => static function ( MediaWikiServices $services ): EntityRdfBuilderFactory { $entityTypeDefinitions = WikibaseRepo::getEntityTypeDefinitions( $services ); return new EntityRdfBuilderFactory( @@ -950,7 +950,7 @@ return [ ); }, - 'WikibaseRepo.EntityRedirectChecker' => function ( MediaWikiServices $services ): EntityRedirectChecker { + 'WikibaseRepo.EntityRedirectChecker' => static function ( MediaWikiServices $services ): EntityRedirectChecker { return new SourceAndTypeDispatchingRedirectChecker( new ServiceBySourceAndTypeDispatcher( EntityRedirectChecker::class, @@ -961,12 +961,12 @@ return [ ); }, - 'WikibaseRepo.EntityRevisionLookup' => function ( MediaWikiServices $services ): EntityRevisionLookup { + 'WikibaseRepo.EntityRevisionLookup' => static function ( MediaWikiServices $services ): EntityRevisionLookup { return WikibaseRepo::getStore( $services ) ->getEntityRevisionLookup( Store::LOOKUP_CACHING_ENABLED ); }, - 'WikibaseRepo.EntitySearchHelper' => function ( MediaWikiServices $services ): EntitySearchHelper { + 'WikibaseRepo.EntitySearchHelper' => static function ( MediaWikiServices $services ): EntitySearchHelper { $entitySearchHelperCallbacks = WikibaseRepo::getEntitySearchHelperCallbacks( $services ); $typeDispatchingEntitySearchHelper = new TypeDispatchingEntitySearchHelper( @@ -987,7 +987,7 @@ return [ return $typeDispatchingEntitySearchHelper; }, - 'WikibaseRepo.EntitySearchHelperCallbacks' => function ( MediaWikiServices $services ): array { + 'WikibaseRepo.EntitySearchHelperCallbacks' => static function ( MediaWikiServices $services ): array { $callbacks = WikibaseRepo::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::ENTITY_SEARCH_CALLBACK ); @@ -996,7 +996,7 @@ return [ return $callbacks; }, - 'WikibaseRepo.EntitySourceAndTypeDefinitions' => function ( MediaWikiServices $services ): EntitySourceAndTypeDefinitions { + 'WikibaseRepo.EntitySourceAndTypeDefinitions' => static function ( MediaWikiServices $services ): EntitySourceAndTypeDefinitions { $baseEntityTypes = require __DIR__ . '/../lib/WikibaseLib.entitytypes.php'; $repoEntityTypes = require __DIR__ . '/WikibaseRepo.entitytypes.php'; @@ -1021,7 +1021,7 @@ return [ ); }, - 'WikibaseRepo.EntitySourceDefinitions' => function ( MediaWikiServices $services ): EntitySourceDefinitions { + 'WikibaseRepo.EntitySourceDefinitions' => static function ( MediaWikiServices $services ): EntitySourceDefinitions { $settings = WikibaseRepo::getSettings( $services ); $subEntityTypesMapper = WikibaseRepo::getSubEntityTypesMapper( $services ); @@ -1041,22 +1041,22 @@ return [ return $fedPropsSourceAdder->addDefaultIfRequired( $entitySourceDefinitions ); }, - 'WikibaseRepo.EntitySourceLookup' => function ( MediaWikiServices $services ): EntitySourceLookup { + 'WikibaseRepo.EntitySourceLookup' => static function ( MediaWikiServices $services ): EntitySourceLookup { return new EntitySourceLookup( WikibaseRepo::getEntitySourceDefinitions( $services ), WikibaseRepo::getSubEntityTypesMapper( $services ) ); }, - 'WikibaseRepo.EntityStore' => function ( MediaWikiServices $services ): EntityStore { + 'WikibaseRepo.EntityStore' => static function ( MediaWikiServices $services ): EntityStore { return WikibaseRepo::getStore( $services )->getEntityStore(); }, - 'WikibaseRepo.EntityStoreWatcher' => function ( MediaWikiServices $services ): EntityStoreWatcher { + 'WikibaseRepo.EntityStoreWatcher' => static function ( MediaWikiServices $services ): EntityStoreWatcher { return WikibaseRepo::getStore( $services )->getEntityStoreWatcher(); }, - 'WikibaseRepo.EntityStubRdfBuilderFactory' => function ( MediaWikiServices $services ): EntityStubRdfBuilderFactory { + 'WikibaseRepo.EntityStubRdfBuilderFactory' => static function ( MediaWikiServices $services ): EntityStubRdfBuilderFactory { $entityTypeDefinitions = WikibaseRepo::getEntityTypeDefinitions( $services ); return new EntityStubRdfBuilderFactory( @@ -1064,11 +1064,11 @@ return [ ); }, - 'WikibaseRepo.EntityTitleLookup' => function ( MediaWikiServices $services ): EntityTitleLookup { + 'WikibaseRepo.EntityTitleLookup' => static function ( MediaWikiServices $services ): EntityTitleLookup { return WikibaseRepo::getEntityTitleStoreLookup( $services ); }, - 'WikibaseRepo.EntityTitleStoreLookup' => function ( MediaWikiServices $services ): EntityTitleStoreLookup { + 'WikibaseRepo.EntityTitleStoreLookup' => static function ( MediaWikiServices $services ): EntityTitleStoreLookup { return new TypeDispatchingEntityTitleStoreLookup( WikibaseRepo::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::ENTITY_TITLE_STORE_LOOKUP_FACTORY_CALLBACK ), @@ -1081,7 +1081,7 @@ return [ ); }, - 'WikibaseRepo.EntityTitleTextLookup' => function ( MediaWikiServices $services ): EntityTitleTextLookup { + 'WikibaseRepo.EntityTitleTextLookup' => static function ( MediaWikiServices $services ): EntityTitleTextLookup { return new SourceAndTypeDispatchingTitleTextLookup( WikibaseRepo::getEntitySourceLookup( $services ), new ServiceBySourceAndTypeDispatcher( @@ -1092,7 +1092,7 @@ return [ ); }, - 'WikibaseRepo.EntityTypeDefinitions' => function ( MediaWikiServices $services ): EntityTypeDefinitions { + 'WikibaseRepo.EntityTypeDefinitions' => static function ( MediaWikiServices $services ): EntityTypeDefinitions { $baseEntityTypes = require __DIR__ . '/../lib/WikibaseLib.entitytypes.php'; $repoEntityTypes = require __DIR__ . '/WikibaseRepo.entitytypes.php'; @@ -1106,7 +1106,7 @@ return [ return new EntityTypeDefinitions( $entityTypes ); }, - 'WikibaseRepo.EntityTypesConfigValue' => function ( MediaWikiServices $services ): array { + 'WikibaseRepo.EntityTypesConfigValue' => static function ( MediaWikiServices $services ): array { $entityTypeDefinitions = WikibaseRepo::getEntityTypeDefinitions( $services ); return [ 'types' => $entityTypeDefinitions->getEntityTypes(), @@ -1115,7 +1115,7 @@ return [ ]; }, - 'WikibaseRepo.EntityUrlLookup' => function ( MediaWikiServices $services ): EntityUrlLookup { + 'WikibaseRepo.EntityUrlLookup' => static function ( MediaWikiServices $services ): EntityUrlLookup { return new SourceAndTypeDispatchingUrlLookup( new ServiceBySourceAndTypeDispatcher( EntityUrlLookup::class, @@ -1126,13 +1126,13 @@ return [ ); }, - 'WikibaseRepo.EntityViewFactory' => function ( MediaWikiServices $services ): DispatchingEntityViewFactory { + 'WikibaseRepo.EntityViewFactory' => static function ( MediaWikiServices $services ): DispatchingEntityViewFactory { return new DispatchingEntityViewFactory( WikibaseRepo::getEntityTypeDefinitions( $services )->get( EntityTypeDefinitions::VIEW_FACTORY_CALLBACK ) ); }, - 'WikibaseRepo.ExceptionLocalizer' => function ( MediaWikiServices $services ): ExceptionLocalizer { + 'WikibaseRepo.ExceptionLocalizer' => static function ( MediaWikiServices $services ): ExceptionLocalizer { $formatter = WikibaseRepo::getMessageParameterFormatter( $services ); return new DispatchingExceptionLocalizer( [ @@ -1145,11 +1145,11 @@ return [ ] ); }, - 'WikibaseRepo.ExternalFormatStatementDeserializer' => function ( MediaWikiServices $services ): Deserializer { + 'WikibaseRepo.ExternalFormatStatementDeserializer' => static function ( MediaWikiServices $services ): Deserializer { return WikibaseRepo::getBaseDataModelDeserializerFactory( $services )->newStatementDeserializer(); }, - 'WikibaseRepo.FallbackLabelDescriptionLookupFactory' => function ( + 'WikibaseRepo.FallbackLabelDescriptionLookupFactory' => static function ( MediaWikiServices $services ): FallbackLabelDescriptionLookupFactory { return new FallbackLabelDescriptionLookupFactory( @@ -1161,7 +1161,7 @@ return [ ); }, - 'WikibaseRepo.FederatedPropertiesServiceFactory' => function ( MediaWikiServices $services ): ApiServiceFactory { + 'WikibaseRepo.FederatedPropertiesServiceFactory' => static function ( MediaWikiServices $services ): ApiServiceFactory { $settings = WikibaseRepo::getSettings( $services ); if ( @@ -1185,7 +1185,7 @@ return [ ); }, - 'WikibaseRepo.FieldDefinitionsFactory' => function ( MediaWikiServices $services ): FieldDefinitionsFactory { + 'WikibaseRepo.FieldDefinitionsFactory' => static function ( MediaWikiServices $services ): FieldDefinitionsFactory { return new FieldDefinitionsFactory( WikibaseRepo::getEntityTypeDefinitions( $services ), WikibaseRepo::getTermsLanguages( $services ), @@ -1193,16 +1193,16 @@ return [ ); }, - 'WikibaseRepo.FulltextSearchTypes' => function ( MediaWikiServices $services ): array { + 'WikibaseRepo.FulltextSearchTypes' => static function ( MediaWikiServices $services ): array { $searchTypeContexts = WikibaseRepo::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::FULLTEXT_SEARCH_CONTEXT ); - return array_map( function ( $context ): string { + return array_map( static function ( $context ): string { return is_callable( $context ) ? $context() : $context; }, $searchTypeContexts ); }, - 'WikibaseRepo.IdGenerator' => function ( MediaWikiServices $services ): IdGenerator { + 'WikibaseRepo.IdGenerator' => static function ( MediaWikiServices $services ): IdGenerator { $settings = WikibaseRepo::getSettings( $services ); $idGeneratorSetting = $settings->getSetting( 'idGenerator' ); $db = WikibaseRepo::getRepoDomainDbFactory( $services )->newRepoDb(); @@ -1247,7 +1247,7 @@ return [ ); }, - 'WikibaseRepo.InternalFormatDeserializerFactory' => function ( MediaWikiServices $services ): InternalDeserializerFactory { + 'WikibaseRepo.InternalFormatDeserializerFactory' => static function ( MediaWikiServices $services ): InternalDeserializerFactory { return new InternalDeserializerFactory( WikibaseRepo::getDataValueDeserializer( $services ), WikibaseRepo::getEntityIdParser( $services ), @@ -1256,18 +1256,18 @@ return [ ); }, - 'WikibaseRepo.InternalFormatEntityDeserializer' => function ( MediaWikiServices $services ): Deserializer { + 'WikibaseRepo.InternalFormatEntityDeserializer' => static function ( MediaWikiServices $services ): Deserializer { return WikibaseRepo::getInternalFormatDeserializerFactory( $services )->newEntityDeserializer(); }, - 'WikibaseRepo.ItemDisambiguationFactory' => function ( MediaWikiServices $services ): ItemDisambiguationFactory { + 'WikibaseRepo.ItemDisambiguationFactory' => static function ( MediaWikiServices $services ): ItemDisambiguationFactory { return new ItemDisambiguationFactory( WikibaseRepo::getEntityTitleLookup( $services ), WikibaseRepo::getLanguageNameLookupFactory( $services ) ); }, - 'WikibaseRepo.ItemHandler' => function ( MediaWikiServices $services ): ItemHandler { + 'WikibaseRepo.ItemHandler' => static function ( MediaWikiServices $services ): ItemHandler { return new ItemHandler( WikibaseRepo::getItemTermStoreWriter( $services ), WikibaseRepo::getEntityContentDataCodec( $services ), @@ -1288,7 +1288,7 @@ return [ ); }, - 'WikibaseRepo.ItemMergeInteractor' => function ( MediaWikiServices $services ): ItemMergeInteractor { + 'WikibaseRepo.ItemMergeInteractor' => static function ( MediaWikiServices $services ): ItemMergeInteractor { return new ItemMergeInteractor( WikibaseRepo::getChangeOpFactoryProvider( $services ) ->getMergeFactory(), @@ -1303,7 +1303,7 @@ return [ ); }, - 'WikibaseRepo.ItemRedirectCreationInteractor' => function ( + 'WikibaseRepo.ItemRedirectCreationInteractor' => static function ( MediaWikiServices $services ): ItemRedirectCreationInteractor { $store = WikibaseRepo::getStore( $services ); @@ -1320,12 +1320,12 @@ return [ ); }, - 'WikibaseRepo.ItemTermsCollisionDetector' => function ( MediaWikiServices $services ): TermsCollisionDetector { + 'WikibaseRepo.ItemTermsCollisionDetector' => static function ( MediaWikiServices $services ): TermsCollisionDetector { return WikibaseRepo::getTermsCollisionDetectorFactory( $services ) ->getTermsCollisionDetector( Item::ENTITY_TYPE ); }, - 'WikibaseRepo.ItemTermStoreWriter' => function ( MediaWikiServices $services ): EntityTermStoreWriter { + 'WikibaseRepo.ItemTermStoreWriter' => static function ( MediaWikiServices $services ): EntityTermStoreWriter { if ( !in_array( Item::ENTITY_TYPE, WikibaseRepo::getLocalEntitySource( $services )->getEntityTypes() @@ -1338,14 +1338,14 @@ return [ ); }, - 'WikibaseRepo.ItemUrlParser' => function ( MediaWikiServices $services ): SuffixEntityIdParser { + 'WikibaseRepo.ItemUrlParser' => static function ( MediaWikiServices $services ): SuffixEntityIdParser { return new SuffixEntityIdParser( WikibaseRepo::getItemVocabularyBaseUri( $services ), new ItemIdParser() ); }, - 'WikibaseRepo.ItemVocabularyBaseUri' => function ( MediaWikiServices $services ): string { + 'WikibaseRepo.ItemVocabularyBaseUri' => static function ( MediaWikiServices $services ): string { $itemSource = WikibaseRepo::getEntitySourceDefinitions( $services ) ->getDatabaseSourceForEntityType( Item::ENTITY_TYPE ); @@ -1356,7 +1356,7 @@ return [ return $itemSource->getConceptBaseUri(); }, - 'WikibaseRepo.KartographerEmbeddingHandler' => function ( MediaWikiServices $services ): ?CachingKartographerEmbeddingHandler { + 'WikibaseRepo.KartographerEmbeddingHandler' => static function ( MediaWikiServices $services ): ?CachingKartographerEmbeddingHandler { $settings = WikibaseRepo::getSettings( $services ); if ( @@ -1371,14 +1371,14 @@ return [ } }, - 'WikibaseRepo.LanguageDirectionalityLookup' => function ( MediaWikiServices $services ): LanguageDirectionalityLookup { + 'WikibaseRepo.LanguageDirectionalityLookup' => static function ( MediaWikiServices $services ): LanguageDirectionalityLookup { return new MediaWikiLanguageDirectionalityLookup( $services->getLanguageFactory(), $services->getLanguageNameUtils() ); }, - 'WikibaseRepo.LanguageFallbackChainFactory' => function ( MediaWikiServices $services ): LanguageFallbackChainFactory { + 'WikibaseRepo.LanguageFallbackChainFactory' => static function ( MediaWikiServices $services ): LanguageFallbackChainFactory { return new LanguageFallbackChainFactory( WikibaseRepo::getTermsLanguages( $services ), $services->getLanguageFactory(), @@ -1387,14 +1387,14 @@ return [ ); }, - 'WikibaseRepo.LanguageNameLookupFactory' => function ( MediaWikiServices $services ): LanguageNameLookupFactory { + 'WikibaseRepo.LanguageNameLookupFactory' => static function ( MediaWikiServices $services ): LanguageNameLookupFactory { return new LanguageNameLookupFactory( $services->getLanguageNameUtils(), WikibaseRepo::getMessageInLanguageProvider( $services ) ); }, - 'WikibaseRepo.LegacyFormatDetectorCallback' => function ( MediaWikiServices $services ): ?callable { + 'WikibaseRepo.LegacyFormatDetectorCallback' => static function ( MediaWikiServices $services ): ?callable { $transformOnExport = WikibaseRepo::getSettings( $services ) ->getSetting( 'transformLegacyFormatOnExport' ); @@ -1420,14 +1420,14 @@ return [ * * @return bool True if $blob seems to be using a legacy serialization format. */ - return function ( $blob, $format ) { + return static function ( $blob, $format ) { // The legacy serialization uses something like "entity":["item",21] or // even "entity":"p21" for the entity ID. return preg_match( '/"entity"\s*:/', $blob ) > 0; }; }, - 'WikibaseRepo.LinkTargetEntityIdLookup' => function ( MediaWikiServices $services ): LinkTargetEntityIdLookup { + 'WikibaseRepo.LinkTargetEntityIdLookup' => static function ( MediaWikiServices $services ): LinkTargetEntityIdLookup { return new EntityLinkTargetEntityIdLookup( WikibaseRepo::getEntityNamespaceLookup( $services ), WikibaseRepo::getEntityIdParser( $services ), @@ -1436,7 +1436,7 @@ return [ ); }, - 'WikibaseRepo.LocalEntityNamespaceLookup' => function ( MediaWikiServices $services ): EntityNamespaceLookup { + 'WikibaseRepo.LocalEntityNamespaceLookup' => static function ( MediaWikiServices $services ): EntityNamespaceLookup { $localEntitySource = WikibaseRepo::getLocalEntitySource( $services ); $nsIds = $localEntitySource->getEntityNamespaceIds(); $entitySlots = $localEntitySource->getEntitySlotNames(); @@ -1444,7 +1444,7 @@ return [ return new EntityNamespaceLookup( $nsIds, $entitySlots ); }, - 'WikibaseRepo.LocalEntitySource' => function ( MediaWikiServices $services ): EntitySource { + 'WikibaseRepo.LocalEntitySource' => static function ( MediaWikiServices $services ): EntitySource { $localEntitySourceName = WikibaseRepo::getSettings( $services )->getSetting( 'localEntitySourceName' ); $sources = WikibaseRepo::getEntitySourceDefinitions( $services )->getSources(); foreach ( $sources as $source ) { @@ -1456,7 +1456,7 @@ return [ throw new LogicException( 'No source configured: ' . $localEntitySourceName ); }, - 'WikibaseRepo.LocalEntityTypes' => function ( MediaWikiServices $services ): array { + 'WikibaseRepo.LocalEntityTypes' => static function ( MediaWikiServices $services ): array { $localSource = WikibaseRepo::getLocalEntitySource( $services ); $subEntityTypes = WikibaseRepo::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::SUB_ENTITY_TYPES ); @@ -1464,7 +1464,7 @@ return [ // Expands the array of local entity types with sub types return array_reduce( $localSource->getEntityTypes(), - function ( $types, $localTypeName ) use ( $subEntityTypes ) { + static function ( $types, $localTypeName ) use ( $subEntityTypes ) { $types[] = $localTypeName; if ( array_key_exists( $localTypeName, $subEntityTypes ) ) { $types = array_merge( $types, $subEntityTypes[$localTypeName] ); @@ -1475,7 +1475,7 @@ return [ ); }, - 'WikibaseRepo.LocalizedTextProviderFactory' => function ( + 'WikibaseRepo.LocalizedTextProviderFactory' => static function ( MediaWikiServices $services ): LocalizedTextProviderFactory { return new LocalizedTextProviderFactory( @@ -1483,7 +1483,7 @@ return [ ); }, - 'WikibaseRepo.LocalRepoWikiPageMetaDataAccessor' => function ( MediaWikiServices $services ): WikiPageEntityMetaDataAccessor { + 'WikibaseRepo.LocalRepoWikiPageMetaDataAccessor' => static function ( MediaWikiServices $services ): WikiPageEntityMetaDataAccessor { $entityNamespaceLookup = WikibaseRepo::getEntityNamespaceLookup( $services ); $repoName = ''; // Empty string here means this only works for the local repo $dbName = false; // false means the local database @@ -1511,11 +1511,11 @@ return [ ); }, - 'WikibaseRepo.Logger' => function ( MediaWikiServices $services ): LoggerInterface { + 'WikibaseRepo.Logger' => static function ( MediaWikiServices $services ): LoggerInterface { return LoggerFactory::getInstance( 'Wikibase' ); }, - 'WikibaseRepo.MatchingTermsLookupFactory' => function ( MediaWikiServices $services ): MatchingTermsLookupFactory { + 'WikibaseRepo.MatchingTermsLookupFactory' => static function ( MediaWikiServices $services ): MatchingTermsLookupFactory { return new MatchingTermsLookupFactory( WikibaseRepo::getEntityIdComposer( $services ), WikibaseRepo::getTermsDomainDbFactory( $services ), @@ -1524,11 +1524,11 @@ return [ ); }, - 'WikibaseRepo.MessageInLanguageProvider' => function ( MediaWikiServices $services ): MessageInLanguageProvider { + 'WikibaseRepo.MessageInLanguageProvider' => static function ( MediaWikiServices $services ): MessageInLanguageProvider { return new MediaWikiMessageInLanguageProvider(); }, - 'WikibaseRepo.MessageParameterFormatter' => function ( MediaWikiServices $services ): ValueFormatter { + 'WikibaseRepo.MessageParameterFormatter' => static function ( MediaWikiServices $services ): ValueFormatter { $formatterOptions = new FormatterOptions(); $valueFormatterFactory = WikibaseRepo::getValueFormatterFactory( $services ); @@ -1540,7 +1540,7 @@ return [ ); }, - 'WikibaseRepo.MobileSite' => function ( MediaWikiServices $services ): bool { + 'WikibaseRepo.MobileSite' => static function ( MediaWikiServices $services ): bool { if ( $services->has( 'MobileFrontend.Context' ) ) { $mobileContext = $services->get( 'MobileFrontend.Context' ); return $mobileContext->shouldDisplayMobileView(); @@ -1548,18 +1548,18 @@ return [ return false; }, - 'WikibaseRepo.MonolingualTextLanguages' => function ( MediaWikiServices $services ): ContentLanguages { + 'WikibaseRepo.MonolingualTextLanguages' => static function ( MediaWikiServices $services ): ContentLanguages { return WikibaseRepo::getWikibaseContentLanguages( $services ) ->getContentLanguages( WikibaseContentLanguages::CONTEXT_MONOLINGUAL_TEXT ); }, - 'WikibaseRepo.NumberLocalizerFactory' => function ( MediaWikiServices $services ): NumberLocalizerFactory { + 'WikibaseRepo.NumberLocalizerFactory' => static function ( MediaWikiServices $services ): NumberLocalizerFactory { return new NumberLocalizerFactory( $services->getLanguageFactory() ); }, - 'WikibaseRepo.PrefetchingTermLookup' => function ( MediaWikiServices $services ): PrefetchingTermLookup { + 'WikibaseRepo.PrefetchingTermLookup' => static function ( MediaWikiServices $services ): PrefetchingTermLookup { return new SourceAndTypeDispatchingPrefetchingTermLookup( new ServiceBySourceAndTypeDispatcher( PrefetchingTermLookup::class, @@ -1570,7 +1570,7 @@ return [ ); }, - 'WikibaseRepo.PropertyDataTypeLookup' => function ( MediaWikiServices $services ): PropertyDataTypeLookup { + 'WikibaseRepo.PropertyDataTypeLookup' => static function ( MediaWikiServices $services ): PropertyDataTypeLookup { $entitySourceDefinitions = WikibaseRepo::getEntitySourceDefinitions( $services ); return new SourceDispatchingPropertyDataTypeLookup( @@ -1586,7 +1586,7 @@ return [ ); }, - 'WikibaseRepo.PropertyHandler' => function ( MediaWikiServices $services ): PropertyHandler { + 'WikibaseRepo.PropertyHandler' => static function ( MediaWikiServices $services ): PropertyHandler { return new PropertyHandler( WikibaseRepo::getPropertyTermStoreWriter( $services ), WikibaseRepo::getEntityContentDataCodec( $services ), @@ -1604,7 +1604,7 @@ return [ ); }, - 'WikibaseRepo.PropertyInfoBuilder' => function ( MediaWikiServices $services ): PropertyInfoBuilder { + 'WikibaseRepo.PropertyInfoBuilder' => static function ( MediaWikiServices $services ): PropertyInfoBuilder { $settings = WikibaseRepo::getSettings( $services ); $propertyIdMap = []; @@ -1623,7 +1623,7 @@ return [ return new PropertyInfoBuilder( $propertyIdMap ); }, - 'WikibaseRepo.PropertyInfoLookup' => function ( MediaWikiServices $services ): PropertyInfoLookup { + 'WikibaseRepo.PropertyInfoLookup' => static function ( MediaWikiServices $services ): PropertyInfoLookup { $repoSettings = WikibaseRepo::getSettings( $services ); $cacheKeyGroup = $repoSettings->getSetting( 'sharedCacheKeyGroup' ); $cacheDuration = $repoSettings->getSetting( 'sharedCacheDuration' ); @@ -1651,12 +1651,12 @@ return [ ); }, - 'WikibaseRepo.PropertyTermsCollisionDetector' => function ( MediaWikiServices $services ): TermsCollisionDetector { + 'WikibaseRepo.PropertyTermsCollisionDetector' => static function ( MediaWikiServices $services ): TermsCollisionDetector { return WikibaseRepo::getTermsCollisionDetectorFactory( $services ) ->getTermsCollisionDetector( Property::ENTITY_TYPE ); }, - 'WikibaseRepo.PropertyTermStoreWriter' => function ( MediaWikiServices $services ): EntityTermStoreWriter { + 'WikibaseRepo.PropertyTermStoreWriter' => static function ( MediaWikiServices $services ): EntityTermStoreWriter { if ( !in_array( Property::ENTITY_TYPE, WikibaseRepo::getLocalEntitySource( $services )->getEntityTypes() @@ -1669,11 +1669,11 @@ return [ ); }, - 'WikibaseRepo.PropertyValueExpertsModule' => function ( MediaWikiServices $services ): PropertyValueExpertsModule { + 'WikibaseRepo.PropertyValueExpertsModule' => static function ( MediaWikiServices $services ): PropertyValueExpertsModule { return new PropertyValueExpertsModule( WikibaseRepo::getDataTypeDefinitions( $services ) ); }, - 'WikibaseRepo.RdfBuilderFactory' => function ( MediaWikiServices $services ): RdfBuilderFactory { + 'WikibaseRepo.RdfBuilderFactory' => static function ( MediaWikiServices $services ): RdfBuilderFactory { return new RdfBuilderFactory( WikibaseRepo::getRdfVocabulary( $services ), WikibaseRepo::getEntityRdfBuilderFactory( $services ), @@ -1683,7 +1683,7 @@ return [ ); }, - 'WikibaseRepo.RdfVocabulary' => function ( MediaWikiServices $services ): RdfVocabulary { + 'WikibaseRepo.RdfVocabulary' => static function ( MediaWikiServices $services ): RdfVocabulary { $repoSettings = WikibaseRepo::getSettings( $services ); $languageCodes = array_merge( $services->getMainConfig()->get( 'DummyLanguageCodes' ), @@ -1710,17 +1710,17 @@ return [ ); }, - 'WikibaseRepo.RedirectResolvingLatestRevisionLookup' => function ( + 'WikibaseRepo.RedirectResolvingLatestRevisionLookup' => static function ( MediaWikiServices $services ): RedirectResolvingLatestRevisionLookup { return new RedirectResolvingLatestRevisionLookup( WikibaseRepo::getEntityRevisionLookup( $services ) ); }, - 'WikibaseRepo.ReferenceNormalizer' => function ( MediaWikiServices $services ): ReferenceNormalizer { + 'WikibaseRepo.ReferenceNormalizer' => static function ( MediaWikiServices $services ): ReferenceNormalizer { return new ReferenceNormalizer( WikibaseRepo::getSnakNormalizer( $services ) ); }, - 'WikibaseRepo.RepoDomainDbFactory' => function ( MediaWikiServices $services ): RepoDomainDbFactory { + 'WikibaseRepo.RepoDomainDbFactory' => static function ( MediaWikiServices $services ): RepoDomainDbFactory { $lbFactory = $services->getDBLoadBalancerFactory(); return new RepoDomainDbFactory( @@ -1730,11 +1730,11 @@ return [ ); }, - 'WikibaseRepo.Settings' => function ( MediaWikiServices $services ): SettingsArray { + 'WikibaseRepo.Settings' => static function ( MediaWikiServices $services ): SettingsArray { return WikibaseSettings::getRepoSettings(); }, - 'WikibaseRepo.SiteLinkBadgeChangeOpSerializationValidator' => function ( + 'WikibaseRepo.SiteLinkBadgeChangeOpSerializationValidator' => static function ( MediaWikiServices $services ): SiteLinkBadgeChangeOpSerializationValidator { return new SiteLinkBadgeChangeOpSerializationValidator( @@ -1746,7 +1746,7 @@ return [ ); }, - 'WikibaseRepo.SiteLinkGlobalIdentifiersProvider' => function ( + 'WikibaseRepo.SiteLinkGlobalIdentifiersProvider' => static function ( MediaWikiServices $services ): SiteLinkGlobalIdentifiersProvider { $cacheSecret = hash( 'sha256', $services->getMainConfig()->get( 'SecretKey' ) ); @@ -1760,7 +1760,7 @@ return [ ); }, - 'WikibaseRepo.SiteLinkPageNormalizer' => function ( + 'WikibaseRepo.SiteLinkPageNormalizer' => static function ( MediaWikiServices $services ): SiteLinkPageNormalizer { return new SiteLinkPageNormalizer( @@ -1768,7 +1768,7 @@ return [ ); }, - 'WikibaseRepo.SiteLinkTargetProvider' => function ( + 'WikibaseRepo.SiteLinkTargetProvider' => static function ( MediaWikiServices $services ): SiteLinkTargetProvider { return new SiteLinkTargetProvider( @@ -1777,7 +1777,7 @@ return [ ); }, - 'WikibaseRepo.SnakFactory' => function ( MediaWikiServices $services ): SnakFactory { + 'WikibaseRepo.SnakFactory' => static function ( MediaWikiServices $services ): SnakFactory { return new SnakFactory( WikibaseRepo::getPropertyDataTypeLookup( $services ), WikibaseRepo::getDataTypeFactory( $services ), @@ -1785,7 +1785,7 @@ return [ ); }, - 'WikibaseRepo.SnakFormatterFactory' => function ( MediaWikiServices $services ): OutputFormatSnakFormatterFactory { + 'WikibaseRepo.SnakFormatterFactory' => static function ( MediaWikiServices $services ): OutputFormatSnakFormatterFactory { return new OutputFormatSnakFormatterFactory( WikibaseRepo::getDataTypeDefinitions( $services )->getSnakFormatterFactoryCallbacks(), WikibaseRepo::getValueFormatterFactory( $services ), @@ -1795,7 +1795,7 @@ return [ ); }, - 'WikibaseRepo.SnakNormalizer' => function ( MediaWikiServices $services ): SnakNormalizer { + 'WikibaseRepo.SnakNormalizer' => static function ( MediaWikiServices $services ): SnakNormalizer { return new SnakNormalizer( WikibaseRepo::getPropertyDataTypeLookup( $services ), WikibaseRepo::getLogger( $services ), @@ -1804,29 +1804,29 @@ return [ ); }, - 'WikibaseRepo.SnakValueDeserializer' => function ( MediaWikiServices $services ): SnakValueDeserializer { + 'WikibaseRepo.SnakValueDeserializer' => static function ( MediaWikiServices $services ): SnakValueDeserializer { return new SnakValueDeserializer( WikibaseRepo::getDataValueDeserializer( $services ), WikibaseRepo::getDataTypeDefinitions( $services )->getDeserializerBuilders( DataTypeDefinitions::PREFIXED_MODE ) ); }, - 'WikibaseRepo.StatementGuidParser' => function ( MediaWikiServices $services ): StatementGuidParser { + 'WikibaseRepo.StatementGuidParser' => static function ( MediaWikiServices $services ): StatementGuidParser { return new StatementGuidParser( WikibaseRepo::getEntityIdParser( $services ) ); }, - 'WikibaseRepo.StatementGuidValidator' => function ( MediaWikiServices $services ): StatementGuidValidator { + 'WikibaseRepo.StatementGuidValidator' => static function ( MediaWikiServices $services ): StatementGuidValidator { return new StatementGuidValidator( WikibaseRepo::getEntityIdParser( $services ) ); }, - 'WikibaseRepo.StatementNormalizer' => function ( MediaWikiServices $services ): StatementNormalizer { + 'WikibaseRepo.StatementNormalizer' => static function ( MediaWikiServices $services ): StatementNormalizer { return new StatementNormalizer( WikibaseRepo::getSnakNormalizer( $services ), WikibaseRepo::getReferenceNormalizer( $services ) ); }, - 'WikibaseRepo.StorageEntitySerializer' => function ( MediaWikiServices $services ): Serializer { + 'WikibaseRepo.StorageEntitySerializer' => static function ( MediaWikiServices $services ): Serializer { $serializerFactoryCallbacks = WikibaseRepo::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::STORAGE_SERIALIZER_FACTORY_CALLBACK ); $baseSerializerFactory = WikibaseRepo::getBaseDataModelSerializerFactory( $services ); @@ -1839,7 +1839,7 @@ return [ return new DispatchingSerializer( $serializers ); }, - 'WikibaseRepo.Store' => function ( MediaWikiServices $services ): Store { + 'WikibaseRepo.Store' => static function ( MediaWikiServices $services ): Store { // TODO: the idea of local entity source seems not really suitable here. Store should probably // get source definitions and pass the right source/sources to services it creates accordingly // (as long as what it creates should not migrate to *SourceServices in the first place) @@ -1860,23 +1860,23 @@ return [ ); }, - 'WikibaseRepo.StringNormalizer' => function ( MediaWikiServices $services ): StringNormalizer { + 'WikibaseRepo.StringNormalizer' => static function ( MediaWikiServices $services ): StringNormalizer { return new StringNormalizer(); }, - 'WikibaseRepo.StringValueNormalizer' => function ( MediaWikiServices $services ): StringValueNormalizer { + 'WikibaseRepo.StringValueNormalizer' => static function ( MediaWikiServices $services ): StringValueNormalizer { return new StringValueNormalizer( WikibaseRepo::getStringNormalizer( $services ), WikibaseRepo::getLogger( $services ) ); }, - 'WikibaseRepo.SubEntityTypesMapper' => function ( MediaWikiServices $services ): SubEntityTypesMapper { + 'WikibaseRepo.SubEntityTypesMapper' => static function ( MediaWikiServices $services ): SubEntityTypesMapper { return new SubEntityTypesMapper( WikibaseRepo::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::SUB_ENTITY_TYPES ) ); }, - 'WikibaseRepo.SummaryFormatter' => function ( MediaWikiServices $services ): SummaryFormatter { + 'WikibaseRepo.SummaryFormatter' => static function ( MediaWikiServices $services ): SummaryFormatter { // This needs to use an EntityIdPlainLinkFormatter as we want to mangle // the links created in HtmlPageLinkRendererEndHookHandler afterwards (the links must not // contain a display text: [[Item:Q1]] is fine but [[Item:Q1|Q1]] isn't). @@ -1887,7 +1887,7 @@ return [ // Iterate through all defined entity types and override the formatter for entity IDs. foreach ( WikibaseRepo::getEntityTypeDefinitions( $services )->getEntityTypes() as $entityType ) { - $formatterFactoryCBs[ "PT:wikibase-$entityType" ] = function ( + $formatterFactoryCBs[ "PT:wikibase-$entityType" ] = static function ( $format, FormatterOptions $options ) use ( $idFormatter ) { if ( $format === SnakFormatter::FORMAT_PLAIN ) { @@ -1935,18 +1935,18 @@ return [ ); }, - 'WikibaseRepo.TermBuffer' => function ( MediaWikiServices $services ): TermBuffer { + 'WikibaseRepo.TermBuffer' => static function ( MediaWikiServices $services ): TermBuffer { return WikibaseRepo::getPrefetchingTermLookup( $services ); }, - 'WikibaseRepo.TermFallbackCache' => function ( MediaWikiServices $services ): TermFallbackCacheFacade { + 'WikibaseRepo.TermFallbackCache' => static function ( MediaWikiServices $services ): TermFallbackCacheFacade { return new TermFallbackCacheFacade( WikibaseRepo::getTermFallbackCacheFactory( $services )->getTermFallbackCache(), WikibaseRepo::getSettings( $services )->getSetting( 'sharedCacheDuration' ) ); }, - 'WikibaseRepo.TermFallbackCacheFactory' => function ( MediaWikiServices $services ): TermFallbackCacheFactory { + 'WikibaseRepo.TermFallbackCacheFactory' => static function ( MediaWikiServices $services ): TermFallbackCacheFactory { $settings = WikibaseRepo::getSettings( $services ); return new TermFallbackCacheFactory( $settings->getSetting( 'sharedCacheType' ), @@ -1959,7 +1959,7 @@ return [ ); }, - 'WikibaseRepo.TermInLangIdsResolverFactory' => function ( + 'WikibaseRepo.TermInLangIdsResolverFactory' => static function ( MediaWikiServices $services ): TermInLangIdsResolverFactory { return new TermInLangIdsResolverFactory( @@ -1969,27 +1969,27 @@ return [ ); }, - 'WikibaseRepo.TermLookup' => function ( MediaWikiServices $services ): TermLookup { + 'WikibaseRepo.TermLookup' => static function ( MediaWikiServices $services ): TermLookup { return WikibaseRepo::getPrefetchingTermLookup( $services ); }, - 'WikibaseRepo.TermsCollisionDetectorFactory' => function ( MediaWikiServices $services ): TermsCollisionDetectorFactory { + 'WikibaseRepo.TermsCollisionDetectorFactory' => static function ( MediaWikiServices $services ): TermsCollisionDetectorFactory { return new TermsCollisionDetectorFactory( WikibaseRepo::getTermsDomainDbFactory( $services )->newTermsDb(), WikibaseRepo::getTypeIdsLookup( $services ) ); }, - 'WikibaseRepo.TermsDomainDbFactory' => function ( MediaWikiServices $services ): TermsDomainDbFactory { + 'WikibaseRepo.TermsDomainDbFactory' => static function ( MediaWikiServices $services ): TermsDomainDbFactory { return new TermsDomainDbFactory( WikibaseRepo::getRepoDomainDbFactory( $services ) ); }, - 'WikibaseRepo.TermsLanguages' => function ( MediaWikiServices $services ): ContentLanguages { + 'WikibaseRepo.TermsLanguages' => static function ( MediaWikiServices $services ): ContentLanguages { return WikibaseRepo::getWikibaseContentLanguages( $services ) ->getContentLanguages( WikibaseContentLanguages::CONTEXT_TERM ); }, - 'WikibaseRepo.TermStoreWriterFactory' => function ( MediaWikiServices $services ): TermStoreWriterFactory { + 'WikibaseRepo.TermStoreWriterFactory' => static function ( MediaWikiServices $services ): TermStoreWriterFactory { return new TermStoreWriterFactory( WikibaseRepo::getLocalEntitySource( $services ), WikibaseRepo::getStringNormalizer( $services ), @@ -2002,7 +2002,7 @@ return [ ); }, - 'WikibaseRepo.TermValidatorFactory' => function ( MediaWikiServices $services ): TermValidatorFactory { + 'WikibaseRepo.TermValidatorFactory' => static function ( MediaWikiServices $services ): TermValidatorFactory { $settings = WikibaseRepo::getSettings( $services ); // Use the old deprecated setting if it exists @@ -2026,23 +2026,23 @@ return [ ); }, - 'WikibaseRepo.TokenCheckInteractor' => function ( MediaWikiServices $services ): TokenCheckInteractor { + 'WikibaseRepo.TokenCheckInteractor' => static function ( MediaWikiServices $services ): TokenCheckInteractor { return new TokenCheckInteractor(); }, - 'WikibaseRepo.TypeIdsAcquirer' => function ( MediaWikiServices $services ): TypeIdsAcquirer { + 'WikibaseRepo.TypeIdsAcquirer' => static function ( MediaWikiServices $services ): TypeIdsAcquirer { return WikibaseRepo::getDatabaseTypeIdsStore( $services ); }, - 'WikibaseRepo.TypeIdsLookup' => function ( MediaWikiServices $services ): TypeIdsLookup { + 'WikibaseRepo.TypeIdsLookup' => static function ( MediaWikiServices $services ): TypeIdsLookup { return WikibaseRepo::getDatabaseTypeIdsStore( $services ); }, - 'WikibaseRepo.TypeIdsResolver' => function ( MediaWikiServices $services ): TypeIdsResolver { + 'WikibaseRepo.TypeIdsResolver' => static function ( MediaWikiServices $services ): TypeIdsResolver { return WikibaseRepo::getDatabaseTypeIdsStore( $services ); }, - 'WikibaseRepo.UnitConverter' => function ( MediaWikiServices $services ): ?UnitConverter { + 'WikibaseRepo.UnitConverter' => static function ( MediaWikiServices $services ): ?UnitConverter { $settings = WikibaseRepo::getSettings( $services ); if ( !$settings->hasSetting( 'unitStorage' ) ) { return null; @@ -2057,7 +2057,7 @@ return [ return new UnitConverter( $unitStorage, WikibaseRepo::getItemVocabularyBaseUri( $services ) ); }, - 'WikibaseRepo.UserLanguage' => function ( MediaWikiServices $services ): Language { + 'WikibaseRepo.UserLanguage' => static function ( MediaWikiServices $services ): Language { global $wgLang; // TODO: define a LanguageProvider service instead of using a global directly. @@ -2072,12 +2072,12 @@ return [ return $wgLang; }, - 'WikibaseRepo.ValidatorErrorLocalizer' => function ( MediaWikiServices $services ): ValidatorErrorLocalizer { + 'WikibaseRepo.ValidatorErrorLocalizer' => static function ( MediaWikiServices $services ): ValidatorErrorLocalizer { $formatter = WikibaseRepo::getMessageParameterFormatter( $services ); return new ValidatorErrorLocalizer( $formatter ); }, - 'WikibaseRepo.ValueFormatterFactory' => function ( MediaWikiServices $services ): OutputFormatValueFormatterFactory { + 'WikibaseRepo.ValueFormatterFactory' => static function ( MediaWikiServices $services ): OutputFormatValueFormatterFactory { $formatterFactoryCBs = WikibaseRepo::getDataTypeDefinitions( $services ) ->getFormatterFactoryCallbacks( DataTypeDefinitions::PREFIXED_MODE ); @@ -2088,7 +2088,7 @@ return [ ); }, - 'WikibaseRepo.ValueParserFactory' => function ( MediaWikiServices $services ): ValueParserFactory { + 'WikibaseRepo.ValueParserFactory' => static function ( MediaWikiServices $services ): ValueParserFactory { $dataTypeDefinitions = WikibaseRepo::getDataTypeDefinitions( $services ); $callbacks = $dataTypeDefinitions->getParserFactoryCallbacks(); @@ -2104,14 +2104,14 @@ return [ $callbacks['globecoordinate'] = $prefixedCallbacks['VT:globecoordinate']; } // 'null' is not a datatype. Kept for backwards compatibility. - $callbacks['null'] = function () { + $callbacks['null'] = static function () { return new NullParser(); }; return new ValueParserFactory( $callbacks ); }, - 'WikibaseRepo.ValueSnakRdfBuilderFactory' => function ( MediaWikiServices $services ): ValueSnakRdfBuilderFactory { + 'WikibaseRepo.ValueSnakRdfBuilderFactory' => static function ( MediaWikiServices $services ): ValueSnakRdfBuilderFactory { return new ValueSnakRdfBuilderFactory( WikibaseRepo::getDataTypeDefinitions( $services ) ->getRdfBuilderFactoryCallbacks( DataTypeDefinitions::PREFIXED_MODE ), @@ -2119,7 +2119,7 @@ return [ ); }, - 'WikibaseRepo.ViewFactory' => function ( MediaWikiServices $services ): ViewFactory { + 'WikibaseRepo.ViewFactory' => static function ( MediaWikiServices $services ): ViewFactory { $settings = WikibaseRepo::getSettings( $services ); $statementGrouperBuilder = new StatementGrouperBuilder( @@ -2161,14 +2161,14 @@ return [ ); }, - 'WikibaseRepo.WikibaseContentLanguages' => function ( MediaWikiServices $services ): WikibaseContentLanguages { + 'WikibaseRepo.WikibaseContentLanguages' => static function ( MediaWikiServices $services ): WikibaseContentLanguages { return WikibaseContentLanguages::getDefaultInstance( $services->getHookContainer(), $services->getLanguageNameUtils() ); }, - 'WikibaseRepo.WikibaseServices' => function ( MediaWikiServices $services ): WikibaseServices { + 'WikibaseRepo.WikibaseServices' => static function ( MediaWikiServices $services ): WikibaseServices { $entitySourceDefinitions = WikibaseRepo::getEntitySourceDefinitions( $services ); $singleEntitySourceServicesFactory = new SingleEntitySourceServicesFactory( WikibaseRepo::getEntityIdParser( $services ), diff --git a/repo/WikibaseRepo.datatypes.php b/repo/WikibaseRepo.datatypes.php index 7d5c3e4..b00ead2 100644 --- a/repo/WikibaseRepo.datatypes.php +++ b/repo/WikibaseRepo.datatypes.php @@ -71,7 +71,7 @@ use Wikibase\Repo\Rdf\Values\TimeRdfBuilder; use Wikibase\Repo\WikibaseRepo; use Wikimedia\Purtle\RdfWriter; -return call_user_func( function() { +return call_user_func( static function() { // NOTE: 'validator-factory-callback' callbacks act as glue between the high level interface // DataValueValidatorFactory and the low level factory for validators for well known data types, // the ValidatorBuilders class. @@ -89,25 +89,25 @@ return call_user_func( function() { return [ 'VT:bad' => [ - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseRepo::getDefaultValueFormatterBuilders(); return $factory->newUnDeserializableValueFormatter( $format, $options ); }, ], 'PT:commonsMedia' => [ 'expert-module' => 'jquery.valueview.experts.CommonsMediaType', - 'validator-factory-callback' => function() { + 'validator-factory-callback' => static function() { $factory = WikibaseRepo::getDefaultValidatorBuilders(); // Don't go for commons during unit tests. return $factory->buildMediaValidators( defined( 'MW_PHPUNIT_TEST' ) ? 'doNotCheckExistence' : 'checkExistence' ); }, - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseRepo::getDefaultValueFormatterBuilders(); return $factory->newCommonsMediaFormatter( $format, $options ); }, - 'rdf-builder-factory-callback' => function ( + 'rdf-builder-factory-callback' => static function ( $flags, RdfVocabulary $vocab, RdfWriter $writer, @@ -116,7 +116,7 @@ return call_user_func( function() { ) { return new CommonsMediaRdfBuilder( $vocab ); }, - 'rdf-data-type' => function() { + 'rdf-data-type' => static function() { return PropertySpecificComponentsRdfBuilder::OBJECT_PROPERTY; }, 'normalizer-factory-callback' => static function () { @@ -129,18 +129,18 @@ return call_user_func( function() { ], 'PT:geo-shape' => [ 'expert-module' => 'jquery.valueview.experts.GeoShape', - 'validator-factory-callback' => function() { + 'validator-factory-callback' => static function() { $factory = WikibaseRepo::getDefaultValidatorBuilders(); // Don't go for commons during unit tests. return $factory->buildGeoShapeValidators( defined( 'MW_PHPUNIT_TEST' ) ? 'doNotCheckExistence' : 'checkExistence' ); }, - 'formatter-factory-callback' => function( $format ) { + 'formatter-factory-callback' => static function( $format ) { $factory = WikibaseRepo::getDefaultValueFormatterBuilders(); return $factory->newGeoShapeFormatter( $format ); }, - 'rdf-builder-factory-callback' => function ( + 'rdf-builder-factory-callback' => static function ( $flags, RdfVocabulary $vocab, RdfWriter $writer, @@ -149,24 +149,24 @@ return call_user_func( function() { ) { return new GeoShapeRdfBuilder( $vocab ); }, - 'rdf-data-type' => function() { + 'rdf-data-type' => static function() { return PropertySpecificComponentsRdfBuilder::OBJECT_PROPERTY; }, ], 'PT:tabular-data' => [ 'expert-module' => 'jquery.valueview.experts.TabularData', - 'validator-factory-callback' => function() { + 'validator-factory-callback' => static function() { $factory = WikibaseRepo::getDefaultValidatorBuilders(); // Don't go for commons during unit tests. return $factory->buildTabularDataValidators( defined( 'MW_PHPUNIT_TEST' ) ? 'doNotCheckExistence' : 'checkExistence' ); }, - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseRepo::getDefaultValueFormatterBuilders(); return $factory->newTabularDataFormatter( $format, $options ); }, - 'rdf-builder-factory-callback' => function ( + 'rdf-builder-factory-callback' => static function ( $flags, RdfVocabulary $vocab, RdfWriter $writer, @@ -175,25 +175,25 @@ return call_user_func( function() { ) { return new TabularDataRdfBuilder( $vocab ); }, - 'rdf-data-type' => function() { + 'rdf-data-type' => static function() { return PropertySpecificComponentsRdfBuilder::OBJECT_PROPERTY; }, ], 'VT:globecoordinate' => [ 'expert-module' => 'jquery.valueview.experts.GlobeCoordinateInput', - 'validator-factory-callback' => function() { + 'validator-factory-callback' => static function() { $factory = WikibaseRepo::getDefaultValidatorBuilders(); return $factory->buildCoordinateValidators(); }, 'deserializer-builder' => GlobeCoordinateValue::class, - 'parser-factory-callback' => function( ParserOptions $options ) { + 'parser-factory-callback' => static function( ParserOptions $options ) { return new GlobeCoordinateParser( $options ); }, - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseRepo::getDefaultValueFormatterBuilders(); return $factory->newGlobeCoordinateFormatter( $format, $options ); }, - 'rdf-builder-factory-callback' => function ( + 'rdf-builder-factory-callback' => static function ( $flags, RdfVocabulary $vocab, RdfWriter $writer, @@ -207,7 +207,7 @@ return call_user_func( function() { ], 'VT:monolingualtext' => [ 'expert-module' => 'jquery.valueview.experts.MonolingualText', - 'validator-factory-callback' => function() { + 'validator-factory-callback' => static function() { $constraints = WikibaseRepo::getSettings() ->getSetting( 'string-limits' )['VT:monolingualtext']; $maxLength = $constraints['length']; @@ -215,14 +215,14 @@ return call_user_func( function() { return $factory->buildMonolingualTextValidators( $maxLength ); }, 'deserializer-builder' => MonolingualTextValue::class, - 'parser-factory-callback' => function( ParserOptions $options ) { + 'parser-factory-callback' => static function( ParserOptions $options ) { return new MonolingualTextParser( $options ); }, - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseRepo::getDefaultValueFormatterBuilders(); return $factory->newMonolingualFormatter( $format, $options ); }, - 'rdf-builder-factory-callback' => function ( + 'rdf-builder-factory-callback' => static function ( $flags, RdfVocabulary $vocab, RdfWriter $writer, @@ -234,22 +234,22 @@ return call_user_func( function() { ], 'VT:quantity' => [ 'expert-module' => 'jquery.valueview.experts.QuantityInput', - 'validator-factory-callback' => function() { + 'validator-factory-callback' => static function() { $factory = WikibaseRepo::getDefaultValidatorBuilders(); return $factory->buildQuantityValidators(); }, 'deserializer-builder' => QuantityValue::class, - 'parser-factory-callback' => function( ParserOptions $options ) { + 'parser-factory-callback' => static function( ParserOptions $options ) { $language = MediaWikiServices::getInstance()->getLanguageFactory() ->getLanguage( $options->getOption( ValueParser::OPT_LANG ) ); $unlocalizer = new MediaWikiNumberUnlocalizer( $language ); return new QuantityParser( $options, $unlocalizer ); }, - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseRepo::getDefaultValueFormatterBuilders(); return $factory->newQuantityFormatter( $format, $options ); }, - 'rdf-builder-factory-callback' => function ( + 'rdf-builder-factory-callback' => static function ( $flags, RdfVocabulary $vocab, RdfWriter $writer, @@ -262,13 +262,13 @@ return call_user_func( function() { WikibaseRepo::getUnitConverter() : null; return new QuantityRdfBuilder( $complexValueHelper, $unitConverter ); }, - 'search-index-data-formatter-callback' => function ( UnboundedQuantityValue $value ) { + 'search-index-data-formatter-callback' => static function ( UnboundedQuantityValue $value ) { return (string)round( $value->getAmount()->getValueFloat() ); }, ], 'VT:string' => [ 'expert-module' => 'jquery.valueview.experts.StringValue', - 'validator-factory-callback' => function() { + 'validator-factory-callback' => static function() { $factory = WikibaseRepo::getDefaultValidatorBuilders(); $constraints = WikibaseRepo::getSettings() ->getSetting( 'string-limits' )['VT:string']; @@ -277,15 +277,15 @@ return call_user_func( function() { return $factory->buildStringValidators( $maxLength ); }, 'deserializer-builder' => StringValue::class, - 'parser-factory-callback' => function ( ParserOptions $options ) { + 'parser-factory-callback' => static function ( ParserOptions $options ) { $normalizer = WikibaseRepo::getStringNormalizer(); return new StringParser( new WikibaseStringValueNormalizer( $normalizer ) ); }, - 'formatter-factory-callback' => function( $format ) { + 'formatter-factory-callback' => static function( $format ) { $factory = WikibaseRepo::getDefaultValueFormatterBuilders(); return $factory->newStringFormatter( $format ); }, - 'rdf-builder-factory-callback' => function ( + 'rdf-builder-factory-callback' => static function ( $flags, RdfVocabulary $vocab, RdfWriter $writer, @@ -294,7 +294,7 @@ return call_user_func( function() { ) { return new LiteralValueRdfBuilder( null, null ); }, - 'search-index-data-formatter-callback' => function ( StringValue $value ) { + 'search-index-data-formatter-callback' => static function ( StringValue $value ) { return $value->getValue(); }, 'normalizer-factory-callback' => static function () { @@ -303,20 +303,20 @@ return call_user_func( function() { ], 'VT:time' => [ 'expert-module' => 'jquery.valueview.experts.TimeInput', - 'validator-factory-callback' => function() { + 'validator-factory-callback' => static function() { $factory = WikibaseRepo::getDefaultValidatorBuilders(); return $factory->buildTimeValidators(); }, 'deserializer-builder' => TimeValue::class, - 'parser-factory-callback' => function( ParserOptions $options ) { + 'parser-factory-callback' => static function( ParserOptions $options ) { $factory = new TimeParserFactory( $options ); return $factory->getTimeParser(); }, - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseRepo::getDefaultValueFormatterBuilders(); return $factory->newTimeFormatter( $format, $options ); }, - 'rdf-builder-factory-callback' => function ( + 'rdf-builder-factory-callback' => static function ( $flags, RdfVocabulary $vocab, RdfWriter $writer, @@ -331,18 +331,18 @@ return call_user_func( function() { }, ], 'PT:url' => [ - 'validator-factory-callback' => function() { + 'validator-factory-callback' => static function() { $factory = WikibaseRepo::getDefaultValidatorBuilders(); $constraints = WikibaseRepo::getSettings() ->getSetting( 'string-limits' )['PT:url']; $maxLength = $constraints['length']; return $factory->buildUrlValidators( $maxLength ); }, - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseRepo::getDefaultValueFormatterBuilders(); return $factory->newUrlFormatter( $format, $options ); }, - 'rdf-builder-factory-callback' => function ( + 'rdf-builder-factory-callback' => static function ( $flags, RdfVocabulary $vocab, RdfWriter $writer, @@ -351,17 +351,17 @@ return call_user_func( function() { ) { return new ObjectUriRdfBuilder(); }, - 'rdf-data-type' => function() { + 'rdf-data-type' => static function() { return PropertySpecificComponentsRdfBuilder::OBJECT_PROPERTY; }, ], 'PT:external-id' => [ // NOTE: for 'formatter-factory-callback', we fall back to plain text formatting - 'snak-formatter-factory-callback' => function( $format ) { + 'snak-formatter-factory-callback' => static function( $format ) { $factory = WikibaseRepo::getDefaultSnakFormatterBuilders(); return $factory->newExternalIdentifierFormatter( $format ); }, - 'rdf-builder-factory-callback' => function ( + 'rdf-builder-factory-callback' => static function ( $mode, RdfVocabulary $vocab, RdfWriter $writer, @@ -376,7 +376,7 @@ return call_user_func( function() { }, ], 'VT:wikibase-entityid' => [ - 'validator-factory-callback' => function() { + 'validator-factory-callback' => static function() { $factory = WikibaseRepo::getDefaultValidatorBuilders(); return $factory->buildEntityValidators(); }, @@ -401,15 +401,15 @@ return call_user_func( function() { return EntityIdValue::newFromArray( $value ); } }, - 'parser-factory-callback' => function ( ParserOptions $options ) { + 'parser-factory-callback' => static function ( ParserOptions $options ) { $entityIdParser = WikibaseRepo::getEntityIdParser(); return new EntityIdValueParser( $entityIdParser ); }, - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseRepo::getDefaultValueFormatterBuilders(); return $factory->newEntityIdFormatter( $format, $options ); }, - 'rdf-builder-factory-callback' => function ( + 'rdf-builder-factory-callback' => static function ( $flags, RdfVocabulary $vocab, RdfWriter $writer, @@ -418,17 +418,17 @@ return call_user_func( function() { ) { return new EntityIdRdfBuilder( $vocab, $tracker ); }, - 'search-index-data-formatter-callback' => function ( EntityIdValue $value ) { + 'search-index-data-formatter-callback' => static function ( EntityIdValue $value ) { return $value->getEntityId()->getSerialization(); }, ], 'PT:wikibase-item' => [ 'expert-module' => 'wikibase.experts.Item', - 'validator-factory-callback' => function() { + 'validator-factory-callback' => static function() { $factory = WikibaseRepo::getDefaultValidatorBuilders(); return $factory->buildItemValidators(); }, - 'formatter-factory-callback' => function ( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function ( $format, FormatterOptions $options ) { $factory = WikibaseRepo::getDefaultValueFormatterBuilders(); $snakFormat = new SnakFormat(); @@ -450,17 +450,17 @@ return call_user_func( function() { return $factory->newEntityIdFormatter( $format, $options ); }, - 'rdf-data-type' => function() { + 'rdf-data-type' => static function() { return PropertySpecificComponentsRdfBuilder::OBJECT_PROPERTY; }, ], 'PT:wikibase-property' => [ 'expert-module' => 'wikibase.experts.Property', - 'validator-factory-callback' => function() { + 'validator-factory-callback' => static function() { $factory = WikibaseRepo::getDefaultValidatorBuilders(); return $factory->buildPropertyValidators(); }, - 'formatter-factory-callback' => function ( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function ( $format, FormatterOptions $options ) { $factory = WikibaseRepo::getDefaultValueFormatterBuilders(); $snakFormat = new SnakFormat(); @@ -482,7 +482,7 @@ return call_user_func( function() { return $factory->newEntityIdFormatter( $format, $options ); }, - 'rdf-data-type' => function() { + 'rdf-data-type' => static function() { return PropertySpecificComponentsRdfBuilder::OBJECT_PROPERTY; }, ], diff --git a/repo/WikibaseRepo.entitytypes.php b/repo/WikibaseRepo.entitytypes.php index 329304c..1595501 100644 --- a/repo/WikibaseRepo.entitytypes.php +++ b/repo/WikibaseRepo.entitytypes.php @@ -81,15 +81,15 @@ use Wikimedia\Purtle\RdfWriter; return [ 'item' => [ - Def::ARTICLE_ID_LOOKUP_CALLBACK => function () { + Def::ARTICLE_ID_LOOKUP_CALLBACK => static function () { return new TitleLookupBasedEntityArticleIdLookup( WikibaseRepo::getEntityTitleLookup() ); }, - Def::STORAGE_SERIALIZER_FACTORY_CALLBACK => function( SerializerFactory $serializerFactory ) { + Def::STORAGE_SERIALIZER_FACTORY_CALLBACK => static function( SerializerFactory $serializerFactory ) { return $serializerFactory->newItemSerializer(); }, - Def::VIEW_FACTORY_CALLBACK => function( + Def::VIEW_FACTORY_CALLBACK => static function( Language $language, TermLanguageFallbackChain $fallbackChain, EntityDocument $entity @@ -107,24 +107,24 @@ return [ ) ); }, - Def::META_TAGS_CREATOR_CALLBACK => function ( $userLanguage ) { + Def::META_TAGS_CREATOR_CALLBACK => static function ( $userLanguage ) { $languageFallbackChainFactory = WikibaseRepo::getLanguageFallbackChainFactory(); $languageFallbackChain = $languageFallbackChainFactory->newFromLanguage( $userLanguage ); return new FingerprintableEntityMetaTagsCreator( $languageFallbackChain ); }, Def::CONTENT_MODEL_ID => ItemContent::CONTENT_MODEL_ID, - Def::CONTENT_HANDLER_FACTORY_CALLBACK => function() { + Def::CONTENT_HANDLER_FACTORY_CALLBACK => static function() { return WikibaseRepo::getItemHandler(); }, - Def::ENTITY_FACTORY_CALLBACK => function() { + Def::ENTITY_FACTORY_CALLBACK => static function() { return new Item(); }, - Def::CHANGEOP_DESERIALIZER_CALLBACK => function() { + Def::CHANGEOP_DESERIALIZER_CALLBACK => static function() { return new ItemChangeOpDeserializer( WikibaseRepo::getChangeOpDeserializerFactory() ); }, - Def::RDF_BUILDER_FACTORY_CALLBACK => function( + Def::RDF_BUILDER_FACTORY_CALLBACK => static function( $flavorFlags, RdfVocabulary $vocabulary, RdfWriter $writer, @@ -174,7 +174,7 @@ return [ $fullStatementRdfBuilderFactory ); }, - Def::RDF_BUILDER_STUB_FACTORY_CALLBACK => function( + Def::RDF_BUILDER_STUB_FACTORY_CALLBACK => static function( RdfVocabulary $vocabulary, RdfWriter $writer ) { @@ -192,7 +192,7 @@ return [ $languageCodes ); }, - Def::ENTITY_DIFF_VISUALIZER_CALLBACK => function ( + Def::ENTITY_DIFF_VISUALIZER_CALLBACK => static function ( MessageLocalizer $messageLocalizer, ClaimDiffer $claimDiffer, ClaimDifferenceVisualizer $claimDiffView, @@ -212,7 +212,7 @@ return [ $basicEntityDiffVisualizer ); }, - Def::ENTITY_SEARCH_CALLBACK => function ( WebRequest $request ) { + Def::ENTITY_SEARCH_CALLBACK => static function ( WebRequest $request ) { $itemSource = WikibaseRepo::getEntitySourceDefinitions() ->getDatabaseSourceForEntityType( Item::ENTITY_TYPE ); if ( $itemSource === null ) { @@ -241,7 +241,7 @@ return [ ] ); }, - Def::LINK_FORMATTER_CALLBACK => function( Language $language ) { + Def::LINK_FORMATTER_CALLBACK => static function( Language $language ) { $services = MediaWikiServices::getInstance(); return new DefaultEntityLinkFormatter( $language, @@ -249,7 +249,7 @@ return [ $services->getLanguageFactory() ); }, - Def::ENTITY_ID_HTML_LINK_FORMATTER_CALLBACK => function( Language $language ) { + Def::ENTITY_ID_HTML_LINK_FORMATTER_CALLBACK => static function( Language $language ) { $languageLabelLookup = WikibaseRepo::getFallbackLabelDescriptionLookupFactory() ->newLabelDescriptionLookup( $language ); return new LabelsProviderEntityIdHtmlLinkFormatter( @@ -261,47 +261,47 @@ return [ WikibaseRepo::getEntityRedirectChecker() ); }, - Def::ENTITY_REFERENCE_EXTRACTOR_CALLBACK => function() { + Def::ENTITY_REFERENCE_EXTRACTOR_CALLBACK => static function() { return new EntityReferenceExtractorCollection( [ new SiteLinkBadgeItemReferenceExtractor(), new StatementEntityReferenceExtractor( WikibaseRepo::getItemUrlParser() ), ] ); }, - Def::PREFETCHING_TERM_LOOKUP_CALLBACK => function ( DatabaseEntitySource $entitySource ) { + Def::PREFETCHING_TERM_LOOKUP_CALLBACK => static function ( DatabaseEntitySource $entitySource ) { $termIdsResolver = WikibaseRepo::getTermInLangIdsResolverFactory() ->getResolverForEntitySource( $entitySource ); return new PrefetchingItemTermLookup( $termIdsResolver ); }, - Def::URL_LOOKUP_CALLBACK => function () { + Def::URL_LOOKUP_CALLBACK => static function () { return new TitleLookupBasedEntityUrlLookup( WikibaseRepo::getEntityTitleLookup() ); }, - Def::EXISTENCE_CHECKER_CALLBACK => function () { + Def::EXISTENCE_CHECKER_CALLBACK => static function () { $services = MediaWikiServices::getInstance(); return new TitleLookupBasedEntityExistenceChecker( WikibaseRepo::getEntityTitleLookup( $services ), $services->getLinkBatchFactory() ); }, - Def::REDIRECT_CHECKER_CALLBACK => function () { + Def::REDIRECT_CHECKER_CALLBACK => static function () { return new TitleLookupBasedEntityRedirectChecker( WikibaseRepo::getEntityTitleLookup() ); }, - Def::TITLE_TEXT_LOOKUP_CALLBACK => function () { + Def::TITLE_TEXT_LOOKUP_CALLBACK => static function () { return new TitleLookupBasedEntityTitleTextLookup( WikibaseRepo::getEntityTitleLookup() ); }, ], 'property' => [ - Def::ARTICLE_ID_LOOKUP_CALLBACK => function () { + Def::ARTICLE_ID_LOOKUP_CALLBACK => static function () { return new TitleLookupBasedEntityArticleIdLookup( WikibaseRepo::getEntityTitleLookup() ); }, - Def::STORAGE_SERIALIZER_FACTORY_CALLBACK => function( SerializerFactory $serializerFactory ) { + Def::STORAGE_SERIALIZER_FACTORY_CALLBACK => static function( SerializerFactory $serializerFactory ) { return $serializerFactory->newPropertySerializer(); }, - Def::VIEW_FACTORY_CALLBACK => function( + Def::VIEW_FACTORY_CALLBACK => static function( Language $language, TermLanguageFallbackChain $fallbackChain, EntityDocument $entity @@ -319,24 +319,24 @@ return [ ) ); }, - Def::META_TAGS_CREATOR_CALLBACK => function ( Language $userLanguage ) { + Def::META_TAGS_CREATOR_CALLBACK => static function ( Language $userLanguage ) { $languageFallbackChainFactory = WikibaseRepo::getLanguageFallbackChainFactory(); $languageFallbackChain = $languageFallbackChainFactory->newFromLanguage( $userLanguage ); return new FingerprintableEntityMetaTagsCreator( $languageFallbackChain ); }, Def::CONTENT_MODEL_ID => PropertyContent::CONTENT_MODEL_ID, - Def::CONTENT_HANDLER_FACTORY_CALLBACK => function() { + Def::CONTENT_HANDLER_FACTORY_CALLBACK => static function() { return WikibaseRepo::getPropertyHandler(); }, - Def::ENTITY_FACTORY_CALLBACK => function() { + Def::ENTITY_FACTORY_CALLBACK => static function() { return Property::newFromType( '' ); }, - Def::CHANGEOP_DESERIALIZER_CALLBACK => function() { + Def::CHANGEOP_DESERIALIZER_CALLBACK => static function() { return new PropertyChangeOpDeserializer( WikibaseRepo::getChangeOpDeserializerFactory() ); }, - Def::RDF_BUILDER_FACTORY_CALLBACK => function( + Def::RDF_BUILDER_FACTORY_CALLBACK => static function( $flavorFlags, RdfVocabulary $vocabulary, RdfWriter $writer, @@ -391,7 +391,7 @@ return [ $propertySpecificRdfBuilder ); }, - Def::RDF_BUILDER_STUB_FACTORY_CALLBACK => function( + Def::RDF_BUILDER_STUB_FACTORY_CALLBACK => static function( RdfVocabulary $vocabulary, RdfWriter $writer ) { @@ -414,7 +414,7 @@ return [ $labelPredicates ); }, - Def::ENTITY_SEARCH_CALLBACK => function ( WebRequest $request ) { + Def::ENTITY_SEARCH_CALLBACK => static function ( WebRequest $request ) { $propertySource = WikibaseRepo::getEntitySourceDefinitions() ->getDatabaseSourceForEntityType( Property::ENTITY_TYPE ); if ( $propertySource === null ) { @@ -447,7 +447,7 @@ return [ WikibaseRepo::getPropertyDataTypeLookup() ); }, - Def::LINK_FORMATTER_CALLBACK => function( Language $language ) { + Def::LINK_FORMATTER_CALLBACK => static function( Language $language ) { $services = MediaWikiServices::getInstance(); return new DefaultEntityLinkFormatter( $language, @@ -455,7 +455,7 @@ return [ $services->getLanguageFactory() ); }, - Def::ENTITY_ID_HTML_LINK_FORMATTER_CALLBACK => function( Language $language ) { + Def::ENTITY_ID_HTML_LINK_FORMATTER_CALLBACK => static function( Language $language ) { $languageLabelLookup = WikibaseRepo::getFallbackLabelDescriptionLookupFactory() ->newLabelDescriptionLookup( $language ); return new LabelsProviderEntityIdHtmlLinkFormatter( @@ -467,10 +467,10 @@ return [ WikibaseRepo::getEntityRedirectChecker() ); }, - Def::ENTITY_REFERENCE_EXTRACTOR_CALLBACK => function() { + Def::ENTITY_REFERENCE_EXTRACTOR_CALLBACK => static function() { return new StatementEntityReferenceExtractor( WikibaseRepo::getItemUrlParser() ); }, - Def::PREFETCHING_TERM_LOOKUP_CALLBACK => function ( DatabaseEntitySource $entitySource ) { + Def::PREFETCHING_TERM_LOOKUP_CALLBACK => static function ( DatabaseEntitySource $entitySource ) { $mwServices = MediaWikiServices::getInstance(); $cacheSecret = hash( 'sha256', $mwServices->getMainConfig()->get( 'SecretKey' ) ); @@ -506,20 +506,20 @@ return [ WikibaseRepo::getTermsLanguages( $mwServices ) ); }, - Def::URL_LOOKUP_CALLBACK => function () { + Def::URL_LOOKUP_CALLBACK => static function () { return new TitleLookupBasedEntityUrlLookup( WikibaseRepo::getEntityTitleLookup() ); }, - Def::EXISTENCE_CHECKER_CALLBACK => function () { + Def::EXISTENCE_CHECKER_CALLBACK => static function () { $services = MediaWikiServices::getInstance(); return new TitleLookupBasedEntityExistenceChecker( WikibaseRepo::getEntityTitleLookup( $services ), $services->getLinkBatchFactory() ); }, - Def::REDIRECT_CHECKER_CALLBACK => function () { + Def::REDIRECT_CHECKER_CALLBACK => static function () { return new TitleLookupBasedEntityRedirectChecker( WikibaseRepo::getEntityTitleLookup() ); }, - Def::TITLE_TEXT_LOOKUP_CALLBACK => function () { + Def::TITLE_TEXT_LOOKUP_CALLBACK => static function () { return new TitleLookupBasedEntityTitleTextLookup( WikibaseRepo::getEntityTitleLookup() ); diff --git a/repo/config/Wikibase.default.php b/repo/config/Wikibase.default.php index 9dc9f81..e152ecb 100644 --- a/repo/config/Wikibase.default.php +++ b/repo/config/Wikibase.default.php @@ -99,7 +99,7 @@ return [ 'html', ], - 'entityDataCachePaths' => function() { + 'entityDataCachePaths' => static function() { return [ // JSON from entity page JS, compare wikibase.entityPage.entityLoaded.js wfAppendQuery( @@ -116,13 +116,13 @@ return [ 'enableEntitySearchUI' => true, - 'dataRightsUrl' => function() { + 'dataRightsUrl' => static function() { return $GLOBALS['wgRightsUrl'] ?? ''; }, 'rdfDataRightsUrl' => 'http://creativecommons.org/publicdomain/zero/1.0/', - 'dataRightsText' => function() { + 'dataRightsText' => static function() { return $GLOBALS['wgRightsText'] ?? ''; }, @@ -342,7 +342,7 @@ return [ 'defaultEntityNamespaces' => true, - 'entitySources' => function ( SettingsArray $settings ) { + 'entitySources' => static function ( SettingsArray $settings ) { if ( $settings->getSetting( 'defaultEntityNamespaces' ) ) { global $wgServer; diff --git a/repo/config/Wikibase.example.php b/repo/config/Wikibase.example.php index 05cd0e6..e005ba9 100644 --- a/repo/config/Wikibase.example.php +++ b/repo/config/Wikibase.example.php @@ -16,7 +16,7 @@ if ( !defined( 'MEDIAWIKI' ) ) { die( 'Not an entry point.' ); } -call_user_func( function() { +call_user_func( static function() { $baseNs = 120; // Define these constants immediately so they can be used in LocalSettings.php diff --git a/repo/config/Wikibase.searchindex.php b/repo/config/Wikibase.searchindex.php index 8406441..a9d5a75 100644 --- a/repo/config/Wikibase.searchindex.php +++ b/repo/config/Wikibase.searchindex.php @@ -24,7 +24,7 @@ if ( !defined( 'MEDIAWIKI' ) ) { } // @phan-suppress-next-line PhanUndeclaredVariableDim -$wgHooks['WikibaseTextForSearchIndex'][] = function( EntityContent $entityContent, &$text ) { +$wgHooks['WikibaseTextForSearchIndex'][] = static function( EntityContent $entityContent, &$text ) { if ( !( $entityContent instanceof ItemContent ) ) { return; } diff --git a/repo/includes/Api/CreateClaim.php b/repo/includes/Api/CreateClaim.php index 4b29320..641e3f6 100644 --- a/repo/includes/Api/CreateClaim.php +++ b/repo/includes/Api/CreateClaim.php @@ -108,10 +108,10 @@ class CreateClaim extends ApiBase { $changeOpFactoryProvider->getStatementChangeOpFactory(), $errorReporter, $modificationHelper, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getResultBuilder( $module ); }, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getEntitySavingHelper( $module ); }, $settings->getSetting( 'federatedPropertiesEnabled' ), diff --git a/repo/includes/Api/EditEntity.php b/repo/includes/Api/EditEntity.php index e90172f..cdabda5 100644 --- a/repo/includes/Api/EditEntity.php +++ b/repo/includes/Api/EditEntity.php @@ -180,10 +180,10 @@ class EditEntity extends ModifyEntity { LookupConstants::LATEST_FROM_MASTER ); - $returnFalse = function () { + $returnFalse = static function () { return false; }; - $latestRevision = $latestRevisionResult->onConcreteRevision( function ( $revId ) { + $latestRevision = $latestRevisionResult->onConcreteRevision( static function ( $revId ) { return $revId; } ) ->onRedirect( $returnFalse ) diff --git a/repo/includes/Api/EntityTerms.php b/repo/includes/Api/EntityTerms.php index cfa1b59..12ea50b 100644 --- a/repo/includes/Api/EntityTerms.php +++ b/repo/includes/Api/EntityTerms.php @@ -169,7 +169,7 @@ class EntityTerms extends ApiQueryBase { */ private function getEntityToPageMap( array $entityIds ): array { $entityIdsStrings = array_map( - function( EntityId $id ) { + static function( EntityId $id ) { return $id->getSerialization(); }, $entityIds diff --git a/repo/includes/Api/GetClaims.php b/repo/includes/Api/GetClaims.php index 830a5da..5a70d2b 100644 --- a/repo/includes/Api/GetClaims.php +++ b/repo/includes/Api/GetClaims.php @@ -103,10 +103,10 @@ class GetClaims extends ApiBase { $statementGuidParser, $entityIdParser, $apiHelperFactory->getErrorReporter( $mainModule ), - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getResultBuilder( $module ); }, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getEntityLoadingHelper( $module ); } ); diff --git a/repo/includes/Api/LinkTitles.php b/repo/includes/Api/LinkTitles.php index ebf7afc..b3e870f 100644 --- a/repo/includes/Api/LinkTitles.php +++ b/repo/includes/Api/LinkTitles.php @@ -117,10 +117,10 @@ class LinkTitles extends ApiBase { $apiHelperFactory->getErrorReporter( $mainModule ), $repoSettings->getSetting( 'siteLinkGroups' ), $store->getEntityRevisionLookup( Store::LOOKUP_CACHING_DISABLED ), - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getResultBuilder( $module ); }, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getEntitySavingHelper( $module ); } ); diff --git a/repo/includes/Api/ListSubscribers.php b/repo/includes/Api/ListSubscribers.php index 3bd6500..ed2ba3f 100644 --- a/repo/includes/Api/ListSubscribers.php +++ b/repo/includes/Api/ListSubscribers.php @@ -93,7 +93,7 @@ class ListSubscribers extends ApiQueryBase { } // Normalize entity ids - $idStrings = array_map( function( $entity ) { + $idStrings = array_map( static function( $entity ) { return $entity->getSerialization(); }, $entitiyIds ); diff --git a/repo/includes/Api/MergeItems.php b/repo/includes/Api/MergeItems.php index 37a9dbb..b862954 100644 --- a/repo/includes/Api/MergeItems.php +++ b/repo/includes/Api/MergeItems.php @@ -66,7 +66,7 @@ class MergeItems extends ApiBase { $moduleName, $interactor, $apiHelperFactory->getErrorReporter( $mainModule ), - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getResultBuilder( $module ); }, $settings->getSetting( 'sandboxEntityIds' ) diff --git a/repo/includes/Api/ParseValue.php b/repo/includes/Api/ParseValue.php index 198a708..cfd01c8 100644 --- a/repo/includes/Api/ParseValue.php +++ b/repo/includes/Api/ParseValue.php @@ -297,7 +297,7 @@ class ParseValue extends ApiBase { */ private function getValidatorErrorCodes( array $errors ): array { return array_map( - function ( Error $error ) { + static function ( Error $error ) { return $error->getCode(); }, $errors diff --git a/repo/includes/Api/RemoveClaims.php b/repo/includes/Api/RemoveClaims.php index 210e7fc..37eff86 100644 --- a/repo/includes/Api/RemoveClaims.php +++ b/repo/includes/Api/RemoveClaims.php @@ -120,10 +120,10 @@ class RemoveClaims extends ApiBase { $changeOpFactoryProvider->getStatementChangeOpFactory(), $modificationHelper, $statementGuidParser, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getResultBuilder( $module ); }, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getEntitySavingHelper( $module ); }, $settings->getSetting( 'federatedPropertiesEnabled' ), diff --git a/repo/includes/Api/RemoveQualifiers.php b/repo/includes/Api/RemoveQualifiers.php index 0b0aac7..5ac510d 100644 --- a/repo/includes/Api/RemoveQualifiers.php +++ b/repo/includes/Api/RemoveQualifiers.php @@ -117,10 +117,10 @@ class RemoveQualifiers extends ApiBase { $changeOpFactoryProvider->getStatementChangeOpFactory(), $modificationHelper, $statementGuidParser, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getResultBuilder( $module ); }, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getEntitySavingHelper( $module ); }, $repoSettings->getSetting( 'federatedPropertiesEnabled' ), diff --git a/repo/includes/Api/RemoveReferences.php b/repo/includes/Api/RemoveReferences.php index edcb34d..c9c6015 100644 --- a/repo/includes/Api/RemoveReferences.php +++ b/repo/includes/Api/RemoveReferences.php @@ -116,10 +116,10 @@ class RemoveReferences extends ApiBase { $changeOpFactoryProvider->getStatementChangeOpFactory(), $modificationHelper, $statementGuidParser, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getResultBuilder( $module ); }, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getEntitySavingHelper( $module ); }, $repoSettings->getSetting( 'federatedPropertiesEnabled' ), diff --git a/repo/includes/Api/ResultBuilder.php b/repo/includes/Api/ResultBuilder.php index 8ec61ef..b644739 100644 --- a/repo/includes/Api/ResultBuilder.php +++ b/repo/includes/Api/ResultBuilder.php @@ -584,7 +584,7 @@ class ResultBuilder { $modifications['*/*/claims'][] = $makeIdKvpCallback; } - $kvpMergeCallback = function( $array ) { + $kvpMergeCallback = static function( $array ) { if ( is_array( $array ) ) { $array[ApiResult::META_KVP_MERGE] = true; } @@ -783,7 +783,7 @@ class ResultBuilder { private function getSiteLinkListArrayWithUrls( array $array ) { $siteLookup = $this->siteLookup; - $addUrlCallback = function( $array ) use ( $siteLookup ) { + $addUrlCallback = static function( $array ) use ( $siteLookup ) { $site = $siteLookup->getSite( $array['site'] ); if ( $site !== null ) { $array['url'] = $site->getPageUrl( $array['title'] ); @@ -843,7 +843,7 @@ class ResultBuilder { if ( is_array( $props ) && !in_array( 'references', $props ) ) { $values = $this->modifier->modifyUsingCallbacks( $values, - [ '*/*' => function ( $array ) { + [ '*/*' => static function ( $array ) { unset( $array['references'] ); return $array; } ] @@ -989,11 +989,11 @@ class ResultBuilder { private function getReferenceArrayWithMetaData( array $array ) { return $this->modifier->modifyUsingCallbacks( $array, [ - 'snaks-order' => function ( $array ) { + 'snaks-order' => static function ( $array ) { ApiResult::setIndexedTagName( $array, 'property' ); return $array; }, - 'snaks' => function ( $array ) { + 'snaks' => static function ( $array ) { foreach ( $array as &$snakGroup ) { if ( is_array( $snakGroup ) ) { ApiResult::setArrayType( $array, 'array' ); diff --git a/repo/includes/Api/SetAliases.php b/repo/includes/Api/SetAliases.php index d6388ea..7ba2876 100644 --- a/repo/includes/Api/SetAliases.php +++ b/repo/includes/Api/SetAliases.php @@ -174,7 +174,7 @@ class SetAliases extends ModifyEntity { $stringNormalizer = $this->stringNormalizer; $aliases = array_map( - function( $str ) use ( $stringNormalizer ) { + static function( $str ) use ( $stringNormalizer ) { return $stringNormalizer->trimToNFC( $str ); }, $aliases @@ -182,7 +182,7 @@ class SetAliases extends ModifyEntity { $aliases = array_filter( $aliases, - function( $str ) { + static function( $str ) { return $str !== ''; } ); diff --git a/repo/includes/Api/SetClaim.php b/repo/includes/Api/SetClaim.php index f1ba90e..48be217 100644 --- a/repo/includes/Api/SetClaim.php +++ b/repo/includes/Api/SetClaim.php @@ -145,10 +145,10 @@ class SetClaim extends ApiBase { $changeOpFactoryProvider->getStatementChangeOpFactory(), $modificationHelper, $statementGuidParser, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getResultBuilder( $module ); }, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getEntitySavingHelper( $module ); }, $stats, diff --git a/repo/includes/Api/SetClaimValue.php b/repo/includes/Api/SetClaimValue.php index 6a81f2b..fcfa559 100644 --- a/repo/includes/Api/SetClaimValue.php +++ b/repo/includes/Api/SetClaimValue.php @@ -112,10 +112,10 @@ class SetClaimValue extends ApiBase { $changeOpFactoryProvider->getStatementChangeOpFactory(), $modificationHelper, $statementGuidParser, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getResultBuilder( $module ); }, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getEntitySavingHelper( $module ); }, $repoSettings->getSetting( 'federatedPropertiesEnabled' ), diff --git a/repo/includes/Api/SetQualifier.php b/repo/includes/Api/SetQualifier.php index 8fcf91f..c7e3194 100644 --- a/repo/includes/Api/SetQualifier.php +++ b/repo/includes/Api/SetQualifier.php @@ -125,16 +125,16 @@ class SetQualifier extends ApiBase { return new self( $mainModule, $moduleName, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getErrorReporter( $module ); }, $changeOpFactoryProvider->getStatementChangeOpFactory(), $modificationHelper, $statementGuidParser, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getResultBuilder( $module ); }, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getEntitySavingHelper( $module ); }, $repoSettings->getSetting( 'federatedPropertiesEnabled' ), diff --git a/repo/includes/Api/SetReference.php b/repo/includes/Api/SetReference.php index 0d827a2..6ed73ba 100644 --- a/repo/includes/Api/SetReference.php +++ b/repo/includes/Api/SetReference.php @@ -138,10 +138,10 @@ class SetReference extends ApiBase { $modificationHelper, $statementGuidParser, $logger, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getResultBuilder( $module ); }, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getEntitySavingHelper( $module ); }, $repoSettings->getSetting( 'federatedPropertiesEnabled' ), diff --git a/repo/includes/Api/SetSiteLink.php b/repo/includes/Api/SetSiteLink.php index 18fd2cd..bd72e31 100644 --- a/repo/includes/Api/SetSiteLink.php +++ b/repo/includes/Api/SetSiteLink.php @@ -236,7 +236,7 @@ class SetSiteLink extends ModifyEntity { } private function getBadgeItemIds( array $badges ): array { - return array_map( function( $badge ) { + return array_map( static function( $badge ) { return new ItemId( $badge ); }, $badges ); } diff --git a/repo/includes/ChangeModification/DispatchChangeModificationNotificationJob.php b/repo/includes/ChangeModification/DispatchChangeModificationNotificationJob.php index 2fccc6d..5ddcd86 100644 --- a/repo/includes/ChangeModification/DispatchChangeModificationNotificationJob.php +++ b/repo/includes/ChangeModification/DispatchChangeModificationNotificationJob.php @@ -83,7 +83,7 @@ abstract class DispatchChangeModificationNotificationJob extends Job { protected function revisionIdentifiersToJson( array $revisionIdentifiers ): string { return json_encode( array_map( - function ( RepoRevisionIdentifier $revisionIdentifier ) { + static function ( RepoRevisionIdentifier $revisionIdentifier ) { return $revisionIdentifier->toArray(); }, $revisionIdentifiers diff --git a/repo/includes/ChangeModification/DispatchChangesJob.php b/repo/includes/ChangeModification/DispatchChangesJob.php index f899d94..120454b 100644 --- a/repo/includes/ChangeModification/DispatchChangesJob.php +++ b/repo/includes/ChangeModification/DispatchChangesJob.php @@ -195,7 +195,7 @@ class DispatchChangesJob extends Job { private function getWikiIdsWithChangedSitelinks( array $changes ): array { return array_values( array_unique( array_reduce( $changes, - function ( $carry, ItemChange $change ) { + static function ( $carry, ItemChange $change ) { return array_merge( $carry, array_keys( $change->getSiteLinkDiff()->getOperations() ) ); }, [] @@ -207,7 +207,7 @@ class DispatchChangesJob extends Job { */ private function deleteChangeRows( array $changes ): void { $this->changeStore->deleteChangesByChangeIds( array_map( - function ( Change $change ): int { + static function ( Change $change ): int { return $change->getId(); }, $changes @@ -275,7 +275,7 @@ class DispatchChangesJob extends Job { */ private function getClientJobSpecification( array $changes ): IJobSpecification { $params = [ - 'changes' => array_map( function ( EntityChange $change ) { + 'changes' => array_map( static function ( EntityChange $change ) { $fields = $change->getFields(); $fields[ChangeRow::INFO] = $change->getSerializedInfo(); return $fields; diff --git a/repo/includes/ChangeOp/ChangeOpValidationException.php b/repo/includes/ChangeOp/ChangeOpValidationException.php index 696ae1c..f8cf10e 100644 --- a/repo/includes/ChangeOp/ChangeOpValidationException.php +++ b/repo/includes/ChangeOp/ChangeOpValidationException.php @@ -47,7 +47,7 @@ class ChangeOpValidationException extends ChangeOpException { * @return string */ private function composeErrorMessage( array $errors ) { - $text = implode( '; ', array_map( function( Error $error ) { + $text = implode( '; ', array_map( static function( Error $error ) { return $error->getText(); }, $errors ) ); diff --git a/repo/includes/ChangeOp/ChangeOps.php b/repo/includes/ChangeOp/ChangeOps.php index e363661..c4f3f03 100644 --- a/repo/includes/ChangeOp/ChangeOps.php +++ b/repo/includes/ChangeOp/ChangeOps.php @@ -119,7 +119,7 @@ class ChangeOps implements ChangeOp { public function getActions() { return array_unique( array_reduce( $this->changeOps, - function( array $actions, ChangeOp $changeOp ) { + static function( array $actions, ChangeOp $changeOp ) { return array_merge( $actions, $changeOp->getActions() ); }, [] diff --git a/repo/includes/Dumpers/DumpGenerator.php b/repo/includes/Dumpers/DumpGenerator.php index ef73b48..0a14823 100644 --- a/repo/includes/Dumpers/DumpGenerator.php +++ b/repo/includes/Dumpers/DumpGenerator.php @@ -82,7 +82,7 @@ abstract class DumpGenerator { $this->entityPrefetcher = $entityPrefetcher; $this->progressReporter = new NullMessageReporter(); $this->exceptionHandler = new RethrowingExceptionHandler(); - $this->batchCallback = function () { + $this->batchCallback = static function () { }; } diff --git a/repo/includes/EditEntity/MediaWikiEditEntity.php b/repo/includes/EditEntity/MediaWikiEditEntity.php index 239bd9c..5b6f5b8 100644 --- a/repo/includes/EditEntity/MediaWikiEditEntity.php +++ b/repo/includes/EditEntity/MediaWikiEditEntity.php @@ -197,7 +197,7 @@ class MediaWikiEditEntity implements EditEntity { }; $this->latestRevId = $result->onNonexistentEntity( $returnZero ) ->onRedirect( $returnZero ) - ->onConcreteRevision( function ( $revId ) { + ->onConcreteRevision( static function ( $revId ) { return $revId; } ) ->map(); diff --git a/repo/includes/FederatedProperties/ApiEntityLookup.php b/repo/includes/FederatedProperties/ApiEntityLookup.php index 1ace6bd..6f103f5 100644 --- a/repo/includes/FederatedProperties/ApiEntityLookup.php +++ b/repo/includes/FederatedProperties/ApiEntityLookup.php @@ -98,7 +98,7 @@ class ApiEntityLookup { * @return string[] */ public function getFederatedEntityIdsWithoutPrefix( array $federatedEntityIds ): array { - return array_map( function ( FederatedPropertyId $id ): string { + return array_map( static function ( FederatedPropertyId $id ): string { return $id->getRemoteIdSerialization(); }, $federatedEntityIds ); } diff --git a/repo/includes/FederatedProperties/FederatedPropertiesPrefetchingEntityParserOutputGeneratorDecorator.php b/repo/includes/FederatedProperties/FederatedPropertiesPrefetchingEntityParserOutputGeneratorDecorator.php index 9cb61a5..475e36a 100644 --- a/repo/includes/FederatedProperties/FederatedPropertiesPrefetchingEntityParserOutputGeneratorDecorator.php +++ b/repo/includes/FederatedProperties/FederatedPropertiesPrefetchingEntityParserOutputGeneratorDecorator.php @@ -56,13 +56,13 @@ class FederatedPropertiesPrefetchingEntityParserOutputGeneratorDecorator impleme return; } - $propertyIds = array_map( function( $snak ) { + $propertyIds = array_map( static function( $snak ) { return $snak->getPropertyId(); }, $entity->getStatements()->getAllSnaks() ); $federatedPropertyIds = array_filter( $propertyIds, - function ( $propId ) { + static function ( $propId ) { // TODO: after T288234 is resolved, consider more flexible filtering by type. return $propId instanceof FederatedPropertyId; } diff --git a/repo/includes/Hooks/Formatters/EntityLinkFormatterFactory.php b/repo/includes/Hooks/Formatters/EntityLinkFormatterFactory.php index 4ae0bf7..5c2fff2 100644 --- a/repo/includes/Hooks/Formatters/EntityLinkFormatterFactory.php +++ b/repo/includes/Hooks/Formatters/EntityLinkFormatterFactory.php @@ -36,7 +36,7 @@ class EntityLinkFormatterFactory { $this->callbacks = array_merge( $callbacks, - [ 'default' => function ( Language $language ) use ( $entityTitleTextLookup, $languageFactory ): EntityLinkFormatter { + [ 'default' => static function ( Language $language ) use ( $entityTitleTextLookup, $languageFactory ): EntityLinkFormatter { return new DefaultEntityLinkFormatter( $language, $entityTitleTextLookup, $languageFactory ); } ] ); diff --git a/repo/includes/Hooks/HtmlPageLinkRendererEndHookHandler.php b/repo/includes/Hooks/HtmlPageLinkRendererEndHookHandler.php index 4d085ed..cca9d95 100644 --- a/repo/includes/Hooks/HtmlPageLinkRendererEndHookHandler.php +++ b/repo/includes/Hooks/HtmlPageLinkRendererEndHookHandler.php @@ -345,7 +345,7 @@ class HtmlPageLinkRendererEndHookHandler implements HtmlPageLinkRendererEndHook private function removeNewClass( string $classes ): string { return implode( ' ', array_filter( preg_split( '/\s+/', $classes ), - function ( $class ) { + static function ( $class ) { return $class !== 'new'; } ) ); diff --git a/repo/includes/MediaWikiLocalizedTextProvider.php b/repo/includes/MediaWikiLocalizedTextProvider.php index fb9e170..3de7587 100644 --- a/repo/includes/MediaWikiLocalizedTextProvider.php +++ b/repo/includes/MediaWikiLocalizedTextProvider.php @@ -46,7 +46,7 @@ class MediaWikiLocalizedTextProvider implements LocalizedTextProvider { public function getEscaped( $key, array $params = [] ) { return ( new Message( $key, - array_map( function ( $param ) { + array_map( static function ( $param ) { return $param instanceof RawMessageParameter ? Message::rawParam( $param->getContents() ) : $param; }, $params ), $this->language diff --git a/repo/includes/Parsers/MwTimeIsoParser.php b/repo/includes/Parsers/MwTimeIsoParser.php index 6dbe798..261bf13 100644 --- a/repo/includes/Parsers/MwTimeIsoParser.php +++ b/repo/includes/Parsers/MwTimeIsoParser.php @@ -210,7 +210,7 @@ class MwTimeIsoParser extends StringValueParser { // Expand the PLURAL cases $regex = preg_replace_callback( $pluralRegex, - function ( $matches ) { + static function ( $matches ) { // Change "{{PLURAL:$1" to "(?:" and "}}" to ")" $replace = str_replace( '\{\{PLURAL\:\$1\|', '(?:', $matches[0] ); $replace = str_replace( '\}\}', ')', $replace ); diff --git a/repo/includes/PropertyServices.php b/repo/includes/PropertyServices.php index ec69b6c..defb08c 100644 --- a/repo/includes/PropertyServices.php +++ b/repo/includes/PropertyServices.php @@ -58,11 +58,11 @@ class PropertyServices { public static function getServiceDefinitions( MediaWikiServices $services ): array { return [ self::PROPERTY_DATA_TYPE_LOOKUP_CALLBACK => [ - ApiEntitySource::TYPE => function () use ( $services ) { + ApiEntitySource::TYPE => static function () use ( $services ) { return WikibaseRepo::getFederatedPropertiesServiceFactory( $services ) ->newApiPropertyDataTypeLookup(); }, - DatabaseEntitySource::TYPE => function () use ( $services ) { + DatabaseEntitySource::TYPE => static function () use ( $services ) { $infoLookup = WikibaseRepo::getPropertyInfoLookup( $services ); $entityLookup = WikibaseRepo::getEntityLookup( $services ); $retrievingLookup = new EntityRetrievingDataTypeLookup( $entityLookup ); diff --git a/repo/includes/Rdf/RdfBuilder.php b/repo/includes/Rdf/RdfBuilder.php index 1edc23f..595ad0c 100644 --- a/repo/includes/Rdf/RdfBuilder.php +++ b/repo/includes/Rdf/RdfBuilder.php @@ -347,15 +347,15 @@ class RdfBuilder implements EntityRdfBuilder, EntityStubRdfBuilder, EntityMentio $lookupResult = $this->entityRevisionLookup->getLatestRevisionId( $id ); $lookupStatus = $lookupResult->onNonexistentEntity( - function () { + static function () { return 'nonexistent'; } )->onConcreteRevision( - function () { + static function () { return 'concrete revision'; } )->onRedirect( - function ( $revisionId, $redirectsTo ) { + static function ( $revisionId, $redirectsTo ) { return $redirectsTo; } )->map(); diff --git a/repo/includes/Rdf/RdfVocabulary.php b/repo/includes/Rdf/RdfVocabulary.php index 1a18e14..3a33928 100644 --- a/repo/includes/Rdf/RdfVocabulary.php +++ b/repo/includes/Rdf/RdfVocabulary.php @@ -222,7 +222,7 @@ class RdfVocabulary { $this->propertyNamespaceNames[$repositoryOrSourceName] = array_combine( $propertyNamespaces, array_map( - function ( $ns ) use ( $predicateNamespacePrefix ) { + static function ( $ns ) use ( $predicateNamespacePrefix ) { return $predicateNamespacePrefix . $ns; }, $propertyNamespaces @@ -231,7 +231,7 @@ class RdfVocabulary { $this->propertyNamespaceNames[$repositoryOrSourceName] += array_combine( $propertyNamespacesUseNodePrefix, array_map( - function ( $ns ) use ( $nodeNamespacePrefix ) { + static function ( $ns ) use ( $nodeNamespacePrefix ) { return $nodeNamespacePrefix . $ns; }, $propertyNamespacesUseNodePrefix diff --git a/repo/includes/RepoHooks.php b/repo/includes/RepoHooks.php index 3d0df5f..4433422 100644 --- a/repo/includes/RepoHooks.php +++ b/repo/includes/RepoHooks.php @@ -147,7 +147,7 @@ final class RepoHooks { // Register callbacks for instantiating ContentHandlers for EntityContent. foreach ( $contentModelIds as $entityType => $model ) { - $wgContentHandlers[$model] = function () use ( $entityType ) { + $wgContentHandlers[$model] = static function () use ( $entityType ) { $entityContentFactory = WikibaseRepo::getEntityContentFactory(); return $entityContentFactory->getContentHandlerForType( $entityType ); }; @@ -933,7 +933,7 @@ final class RepoHooks { [ 'name' => 'resources/contentLanguages.json', - 'callback' => function () { + 'callback' => static function () { $contentLanguages = WikibaseRepo::getWikibaseContentLanguages(); return [ WikibaseContentLanguages::CONTEXT_MONOLINGUAL_TEXT => $contentLanguages @@ -1035,12 +1035,12 @@ final class RepoHooks { public static function onParserOptionsRegister( &$defaults, &$inCacheKey, &$lazyOptions ) { $defaults['wb'] = null; $inCacheKey['wb'] = true; - $lazyOptions['wb'] = function () { + $lazyOptions['wb'] = static function () { return EntityHandler::PARSER_VERSION; }; $defaults['termboxVersion'] = null; $inCacheKey['termboxVersion'] = true; - $lazyOptions['termboxVersion'] = function () { + $lazyOptions['termboxVersion'] = static function () { return TermboxFlag::getInstance()->shouldRenderTermbox() ? TermboxView::TERMBOX_VERSION . TermboxView::CACHE_VERSION : PlaceholderEmittingEntityTermsView::TERMBOX_VERSION . PlaceholderEmittingEntityTermsView::CACHE_VERSION; @@ -1059,12 +1059,12 @@ final class RepoHooks { 'meta', [ 'class' => MetaDataBridgeConfig::class, - 'factory' => function( ApiQuery $apiQuery, string $moduleName, SettingsArray $repoSettings ) { + 'factory' => static function( ApiQuery $apiQuery, string $moduleName, SettingsArray $repoSettings ) { return new MetaDataBridgeConfig( $repoSettings, $apiQuery, $moduleName, - function ( string $pagename ): ?string { + static function ( string $pagename ): ?string { $pageTitle = Title::newFromText( $pagename ); return $pageTitle ? $pageTitle->getFullURL() : null; } diff --git a/repo/includes/Specials/ParameterizedDescriptionTrait.php b/repo/includes/Specials/ParameterizedDescriptionTrait.php index 30ba14a..623d52b 100644 --- a/repo/includes/Specials/ParameterizedDescriptionTrait.php +++ b/repo/includes/Specials/ParameterizedDescriptionTrait.php @@ -52,7 +52,7 @@ trait ParameterizedDescriptionTrait { $this->descriptionParameters = implode( wfMessage( 'special-parameterized-description-separator' )->text(), array_map( - function( $item ) { + static function( $item ) { return wfMessage( 'wikibase-entity-' . $item )->text(); }, $this->editableEntities diff --git a/repo/includes/Specials/SpecialAvailableBadges.php b/repo/includes/Specials/SpecialAvailableBadges.php index bd0730d..76bc3e6 100644 --- a/repo/includes/Specials/SpecialAvailableBadges.php +++ b/repo/includes/Specials/SpecialAvailableBadges.php @@ -78,7 +78,7 @@ class SpecialAvailableBadges extends SpecialWikibasePage { } /** @var ItemId[] $itemIds */ - $itemIds = array_map( function( $idString ) { + $itemIds = array_map( static function( $idString ) { // XXX: Maybe we should use PrefixMappingEntityIdParser for federation? return new ItemId( $idString ); }, array_keys( $this->badgeItems ) ); diff --git a/repo/includes/Specials/SpecialGoToLinkedPage.php b/repo/includes/Specials/SpecialGoToLinkedPage.php index c1ea4fa..597c1e5 100644 --- a/repo/includes/Specials/SpecialGoToLinkedPage.php +++ b/repo/includes/Specials/SpecialGoToLinkedPage.php @@ -257,7 +257,7 @@ class SpecialGoToLinkedPage extends SpecialWikibasePage { ->setSubmitID( 'wb-gotolinkedpage-submit' ) ->setSubmitTextMsg( 'wikibase-gotolinkedpage-submit' ) ->setWrapperLegendMsg( 'wikibase-gotolinkedpage-lookup-fieldset' ) - ->setSubmitCallback( function () {// no-op + ->setSubmitCallback( static function () {// no-op } )->show(); } diff --git a/repo/includes/Specials/SpecialItemByTitle.php b/repo/includes/Specials/SpecialItemByTitle.php index 8b8ffc5..46feafc 100644 --- a/repo/includes/Specials/SpecialItemByTitle.php +++ b/repo/includes/Specials/SpecialItemByTitle.php @@ -242,7 +242,7 @@ class SpecialItemByTitle extends SpecialWikibasePage { ->setSubmitID( 'wb-itembytitle-submit' ) ->setSubmitTextMsg( 'wikibase-itembytitle-submit' ) ->setWrapperLegendMsg( 'wikibase-itembytitle-lookup-fieldset' ) - ->setSubmitCallback( function () {// no-op + ->setSubmitCallback( static function () {// no-op } )->show(); if ( $siteId && !$siteExists ) { diff --git a/repo/includes/Specials/SpecialItemDisambiguation.php b/repo/includes/Specials/SpecialItemDisambiguation.php index 1ab9375..dcaa27f 100644 --- a/repo/includes/Specials/SpecialItemDisambiguation.php +++ b/repo/includes/Specials/SpecialItemDisambiguation.php @@ -221,7 +221,7 @@ class SpecialItemDisambiguation extends SpecialWikibasePage { ) ) ->setWrapperLegendMsg( 'wikibase-itemdisambiguation-lookup-fieldset' ) ->suppressDefaultSubmit() - ->setSubmitCallback( function () {// no-op + ->setSubmitCallback( static function () {// no-op } )->show(); } diff --git a/repo/includes/Specials/SpecialListProperties.php b/repo/includes/Specials/SpecialListProperties.php index 539bff6..725c7a7 100644 --- a/repo/includes/Specials/SpecialListProperties.php +++ b/repo/includes/Specials/SpecialListProperties.php @@ -146,7 +146,7 @@ class SpecialListProperties extends SpecialWikibaseQueryPage { ->setMethod( 'get' ) ->setWrapperLegendMsg( 'wikibase-listproperties-legend' ) ->suppressDefaultSubmit() - ->setSubmitCallback( function () { + ->setSubmitCallback( static function () { } ) ->show(); } diff --git a/repo/includes/Specials/SpecialMergeItems.php b/repo/includes/Specials/SpecialMergeItems.php index 5121d87..6a90e15 100644 --- a/repo/includes/Specials/SpecialMergeItems.php +++ b/repo/includes/Specials/SpecialMergeItems.php @@ -245,7 +245,7 @@ class SpecialMergeItems extends SpecialWikibasePage { ->setSubmitName( 'wikibase-mergeitems-submit' ) ->setSubmitTextMsg( 'wikibase-mergeitems-submit' ) ->setWrapperLegendMsg( 'special-mergeitems' ) - ->setSubmitCallback( function () {// no-op + ->setSubmitCallback( static function () {// no-op } )->show(); } diff --git a/repo/includes/Specials/SpecialModifyEntity.php b/repo/includes/Specials/SpecialModifyEntity.php index 04e994d..775c093 100644 --- a/repo/includes/Specials/SpecialModifyEntity.php +++ b/repo/includes/Specials/SpecialModifyEntity.php @@ -299,7 +299,7 @@ abstract class SpecialModifyEntity extends SpecialWikibaseRepoPage { ->setSubmitName( $submitKey ) ->setSubmitTextMsg( $submitKey ) ->setWrapperLegendMsg( $this->getDescription() ) - ->setSubmitCallback( function () { + ->setSubmitCallback( static function () { // no-op } )->show(); } diff --git a/repo/includes/Specials/SpecialRedirectEntity.php b/repo/includes/Specials/SpecialRedirectEntity.php index efb2b49..21b6e23 100644 --- a/repo/includes/Specials/SpecialRedirectEntity.php +++ b/repo/includes/Specials/SpecialRedirectEntity.php @@ -172,7 +172,7 @@ class SpecialRedirectEntity extends SpecialWikibasePage { ->setSubmitName( 'wikibase-redirectentity-submit' ) ->setSubmitTextMsg( 'wikibase-redirectentity-submit' ) ->setWrapperLegendMsg( 'special-redirectentity' ) - ->setSubmitCallback( function () {// no-op + ->setSubmitCallback( static function () {// no-op } )->show(); } diff --git a/repo/includes/Specials/SpecialSetSiteLink.php b/repo/includes/Specials/SpecialSetSiteLink.php index fd6a1b1..9d40337 100644 --- a/repo/includes/Specials/SpecialSetSiteLink.php +++ b/repo/includes/Specials/SpecialSetSiteLink.php @@ -372,7 +372,7 @@ class SpecialSetSiteLink extends SpecialModifyEntity { /** @var ItemId[] $badgeItemIds */ $badgeItemIds = array_map( - function( $badgeId ) { + static function( $badgeId ) { return new ItemId( $badgeId ); }, array_keys( $this->badgeItems ) @@ -436,7 +436,7 @@ class SpecialSetSiteLink extends SpecialModifyEntity { } return array_map( - function( ItemId $badge ) { + static function( ItemId $badge ) { return $badge->getSerialization(); }, $item->getSiteLinkList()->getBySiteId( $siteId )->getBadges() diff --git a/repo/includes/Store/Sql/DatabaseSchemaUpdater.php b/repo/includes/Store/Sql/DatabaseSchemaUpdater.php index 8506b03..0b04b45 100644 --- a/repo/includes/Store/Sql/DatabaseSchemaUpdater.php +++ b/repo/includes/Store/Sql/DatabaseSchemaUpdater.php @@ -190,7 +190,7 @@ class DatabaseSchemaUpdater implements LoadExtensionSchemaUpdatesHook { ); $reporter = new ObservableMessageReporter(); $reporter->registerReporterCallback( - function ( $msg ) use ( $updater ) { + static function ( $msg ) use ( $updater ) { $updater->output( "..." . $msg . "\n" ); } ); @@ -225,7 +225,7 @@ class DatabaseSchemaUpdater implements LoadExtensionSchemaUpdatesHook { } $reporter = new ObservableMessageReporter(); $reporter->registerReporterCallback( - function ( $msg ) use ( $updater ) { + static function ( $msg ) use ( $updater ) { $updater->output( "..." . $msg . "\n" ); } ); @@ -306,7 +306,7 @@ class DatabaseSchemaUpdater implements LoadExtensionSchemaUpdatesHook { ); $reporter = new ObservableMessageReporter(); - $reporter->registerReporterCallback( function( $msg ) use ( $dbUpdater ) { + $reporter->registerReporterCallback( static function( $msg ) use ( $dbUpdater ) { $dbUpdater->output( "\t$msg\n" ); } ); $primer->setProgressReporter( $reporter ); diff --git a/repo/includes/SummaryFormatter.php b/repo/includes/SummaryFormatter.php index 5049581..344d00c 100644 --- a/repo/includes/SummaryFormatter.php +++ b/repo/includes/SummaryFormatter.php @@ -133,7 +133,7 @@ class SummaryFormatter { } else { $parts = array_filter( $parts, - function ( $arg ) { + static function ( $arg ) { return $arg !== ''; } ); diff --git a/repo/includes/WikibasePingback.php b/repo/includes/WikibasePingback.php index 6273493..84ed55b 100644 --- a/repo/includes/WikibasePingback.php +++ b/repo/includes/WikibasePingback.php @@ -218,7 +218,7 @@ class WikibasePingback { $currentExtensions = array_keys( $this->extensionRegistry->getAllThings() ); - return array_reduce( $currentExtensions, function ( $tracked, $current ) use ( $extensions ) { + return array_reduce( $currentExtensions, static function ( $tracked, $current ) use ( $extensions ) { return array_key_exists( $current, $extensions ) ? array_merge( $tracked, [ $extensions[ $current ] ] ) : $tracked; @@ -368,7 +368,7 @@ class WikibasePingback { * sent and (if so) proceed to send it. */ public static function schedulePingback() { - DeferredUpdates::addCallableUpdate( function () { + DeferredUpdates::addCallableUpdate( static function () { WikibasePingback::doSchedule(); } ); } diff --git a/repo/maintenance/DumpEntities.php b/repo/maintenance/DumpEntities.php index 6581005..9902ed9 100644 --- a/repo/maintenance/DumpEntities.php +++ b/repo/maintenance/DumpEntities.php @@ -252,7 +252,7 @@ abstract class DumpEntities extends Maintenance { return; } - $settingsBuilder->registerHookHandlers( [ 'MediaWikiServices' => [ function() { + $settingsBuilder->registerHookHandlers( [ 'MediaWikiServices' => [ static function() { global $wgDBDefaultGroup; if ( !ExtensionRegistry::getInstance()->isLoaded( 'WikibaseRepository' ) ) { // Something instantiates the MediaWikiServices before Wikibase diff --git a/repo/maintenance/ResubmitChanges.php b/repo/maintenance/ResubmitChanges.php index 53b2c25..e10f7fa 100644 --- a/repo/maintenance/ResubmitChanges.php +++ b/repo/maintenance/ResubmitChanges.php @@ -59,7 +59,7 @@ class ResubmitChanges extends Maintenance { } private function makeChangesIntoJobs( array $changes ): array { - return array_map( function ( EntityChange $change ): IJobSpecification { + return array_map( static function ( EntityChange $change ): IJobSpecification { return DispatchChangesJob::makeJobSpecification( $change->getEntityId()->getSerialization() ); }, $changes ); } diff --git a/repo/maintenance/addUnitConversions.php b/repo/maintenance/addUnitConversions.php index 05b513a..271fd06 100644 --- a/repo/maintenance/addUnitConversions.php +++ b/repo/maintenance/addUnitConversions.php @@ -278,7 +278,7 @@ QUERY; * @param string[] $map Map old id -> normalized id */ private function processStatements( $values, $map ) { - $shortValues = array_map( function ( $str ) { + $shortValues = array_map( static function ( $str ) { return 'wdv:' . $str; }, $values ); $valuesStr = implode( ' ', $shortValues ); diff --git a/repo/maintenance/searchEntities.php b/repo/maintenance/searchEntities.php index 981003b..1d35d74 100644 --- a/repo/maintenance/searchEntities.php +++ b/repo/maintenance/searchEntities.php @@ -140,7 +140,7 @@ class SearchEntities extends Maintenance { */ private function getSearchHelper( $engine ) { $engines = [ - 'sql' => function() { + 'sql' => static function() { return WikibaseRepo::getEntitySearchHelper(); }, ]; diff --git a/repo/maintenance/updateUnits.php b/repo/maintenance/updateUnits.php index 1749223..ceeb27c 100644 --- a/repo/maintenance/updateUnits.php +++ b/repo/maintenance/updateUnits.php @@ -131,7 +131,7 @@ class UpdateUnits extends Maintenance { // Sort units by Q-id, as number, to have predictable order uksort( $convertUnits, - function ( $x, $y ) { + static function ( $x, $y ) { return (int)substr( $x, 1 ) - (int)substr( $y, 1 ); } ); diff --git a/repo/resources/Resources.php b/repo/resources/Resources.php index 9b4d57c..c5cb68b 100644 --- a/repo/resources/Resources.php +++ b/repo/resources/Resources.php @@ -17,7 +17,7 @@ use Wikibase\Repo\WikibaseRepo; * * @codeCoverageIgnoreStart */ -return call_user_func( function() { +return call_user_func( static function() { $moduleTemplate = [ 'localBasePath' => __DIR__, 'remoteExtPath' => 'Wikibase/repo/resources', @@ -93,7 +93,7 @@ return call_user_func( function() { 'mw.config.values.wbDataTypes' => $moduleTemplate + [ 'class' => DataTypesModule::class, - 'datatypefactory' => function() { + 'datatypefactory' => static function() { return WikibaseRepo::getDataTypeFactory(); }, 'datatypesconfigvarname' => 'wbDataTypes', @@ -102,7 +102,7 @@ return call_user_func( function() { // Temporary, see: T199197 'mw.config.values.wbRefTabsEnabled' => $moduleTemplate + [ 'class' => MediaWikiConfigModule::class, - 'getconfigvalueprovider' => function () { + 'getconfigvalueprovider' => static function () { return new SettingsValueProvider( WikibaseRepo::getSettings(), 'wbRefTabsEnabled', @@ -113,7 +113,7 @@ return call_user_func( function() { 'mw.config.values.wbEnableMulLanguageCode' => $moduleTemplate + [ 'class' => MediaWikiConfigModule::class, - 'getconfigvalueprovider' => function () { + 'getconfigvalueprovider' => static function () { return new SettingsValueProvider( WikibaseRepo::getSettings(), 'wbEnableMulLanguageCode', @@ -125,7 +125,7 @@ return call_user_func( function() { // Temporary, see: T339104, to be removed in T330217 'mw.config.values.wbTmpAlwaysShowMulLanguageCode' => $moduleTemplate + [ 'class' => MediaWikiConfigModule::class, - 'getconfigvalueprovider' => function () { + 'getconfigvalueprovider' => static function () { return new SettingsValueProvider( WikibaseRepo::getSettings(), 'wbTmpAlwaysShowMulLanguageCode', @@ -150,7 +150,7 @@ return call_user_func( function() { [ "name" => "config.json", - "callback" => function () { + "callback" => static function () { return [ 'entityTypes' => WikibaseRepo::getEntityTypesConfigValue(), ]; @@ -168,7 +168,7 @@ return call_user_func( function() { 'wikibase.getUserLanguages.js', [ 'name' => 'termLanguages.json', - 'callback' => function () { + 'callback' => static function () { return WikibaseRepo::getTermsLanguages()->getLanguages(); }, ], @@ -213,7 +213,7 @@ return call_user_func( function() { 'repo/resources/wikibase.PropertyDataTypeStore.js', [ "name" => "repo/resources/config.json", - "callback" => function () { + "callback" => static function () { $settings = WikibaseRepo::getSettings(); $tempUserEnabled = MediaWikiServices::getInstance()->getTempUserConfig()->isEnabled(); $dataTypeDefinitions = WikibaseRepo::getDataTypeDefinitions(); @@ -326,7 +326,7 @@ return call_user_func( function() { ], 'wikibase.experts.modules' => $moduleTemplate + [ - 'factory' => function () { + 'factory' => static function () { return WikibaseRepo::getPropertyValueExpertsModule(); }, ], @@ -347,7 +347,7 @@ return call_user_func( function() { 'wikibase.federatedPropertiesLeavingSiteNotice.js', [ 'name' => 'federatedPropertiesHostWikibase.json', - 'callback' => function () { + 'callback' => static function () { return parse_url( WikibaseRepo::getSettings()->getSetting( 'federatedPropertiesSourceScriptUrl' ), PHP_URL_HOST diff --git a/repo/rest-api/src/Application/UseCases/PatchItem/PatchedItemValidator.php b/repo/rest-api/src/Application/UseCases/PatchItem/PatchedItemValidator.php index 3078db4..f5d9d9e 100644 --- a/repo/rest-api/src/Application/UseCases/PatchItem/PatchedItemValidator.php +++ b/repo/rest-api/src/Application/UseCases/PatchItem/PatchedItemValidator.php @@ -286,7 +286,7 @@ class PatchedItemValidator { private function getModifiedSitelinksSites( Sitelinks $originalSitelinks, array $patchedSitelinks ): array { return array_filter( array_keys( $patchedSitelinks ), - function( string $siteId ) use ( $patchedSitelinks, $originalSitelinks ) { + static function( string $siteId ) use ( $patchedSitelinks, $originalSitelinks ) { $originalBadges = fn() => array_map( fn( ItemId $i ) => (string)$i, $originalSitelinks[$siteId]->getBadges() ); return !isset( $originalSitelinks[$siteId] ) diff --git a/repo/rest-api/src/Infrastructure/DataAccess/WikibaseEntityRevisionLookupPropertyRevisionMetadataRetriever.php b/repo/rest-api/src/Infrastructure/DataAccess/WikibaseEntityRevisionLookupPropertyRevisionMetadataRetriever.php index 5d93f29..ad45d58 100644 --- a/repo/rest-api/src/Infrastructure/DataAccess/WikibaseEntityRevisionLookupPropertyRevisionMetadataRetriever.php +++ b/repo/rest-api/src/Infrastructure/DataAccess/WikibaseEntityRevisionLookupPropertyRevisionMetadataRetriever.php @@ -24,7 +24,7 @@ class WikibaseEntityRevisionLookupPropertyRevisionMetadataRetriever implements P ->onConcreteRevision( fn( $id, $timestamp ) => MetadataResult::concreteRevision( $id, $timestamp ) ) ->onRedirect( /** @return never */ - function (): void { + static function (): void { throw new LogicException( 'Properties cannot be redirected' ); } )->onNonexistentEntity( fn() => MetadataResult::propertyNotFound() ) diff --git a/repo/rest-api/src/WbRestApi.ServiceWiring.php b/repo/rest-api/src/WbRestApi.ServiceWiring.php index 49235fe..d8ea4f4 100644 --- a/repo/rest-api/src/WbRestApi.ServiceWiring.php +++ b/repo/rest-api/src/WbRestApi.ServiceWiring.php @@ -199,17 +199,17 @@ use Wikibase\Repo\WikibaseRepo; return [ VRD::ALIAS_LANGUAGE_CODE_REQUEST_VALIDATING_DESERIALIZER => - function ( MediaWikiServices $services ): LanguageCodeRequestValidatingDeserializer { + static function ( MediaWikiServices $services ): LanguageCodeRequestValidatingDeserializer { return new LanguageCodeRequestValidatingDeserializer( WbRestApi::getAliasLanguageCodeValidator( $services ) ); }, VRD::DESCRIPTION_LANGUAGE_CODE_REQUEST_VALIDATING_DESERIALIZER => - function ( MediaWikiServices $services ): LanguageCodeRequestValidatingDeserializer { + static function ( MediaWikiServices $services ): LanguageCodeRequestValidatingDeserializer { return new LanguageCodeRequestValidatingDeserializer( WbRestApi::getDescriptionLanguageCodeValidator( $services ) ); }, VRD::EDIT_METADATA_REQUEST_VALIDATING_DESERIALIZER => - function ( MediaWikiServices $services ): EditMetadataRequestValidatingDeserializer { + static function ( MediaWikiServices $services ): EditMetadataRequestValidatingDeserializer { return new EditMetadataRequestValidatingDeserializer( new EditMetadataValidator( CommentStore::COMMENT_CHARACTER_LIMIT, @@ -219,7 +219,7 @@ return [ }, VRD::ITEM_ALIASES_IN_LANGUAGE_EDIT_REQUEST_VALIDATING_DESERIALIZER => - function ( MediaWikiServices $services ): ItemAliasesInLanguageEditRequestValidatingDeserializer { + static function ( MediaWikiServices $services ): ItemAliasesInLanguageEditRequestValidatingDeserializer { return new ItemAliasesInLanguageEditRequestValidatingDeserializer( new AliasesInLanguageDeserializer(), new TermValidatorFactoryAliasesInLanguageValidator( WikibaseRepo::getTermValidatorFactory( $services ) ) @@ -227,7 +227,7 @@ return [ }, VRD::ITEM_DESCRIPTION_EDIT_REQUEST_VALIDATING_DESERIALIZER => - function ( MediaWikiServices $services ): ItemDescriptionEditRequestValidatingDeserializer { + static function ( MediaWikiServices $services ): ItemDescriptionEditRequestValidatingDeserializer { return new ItemDescriptionEditRequestValidatingDeserializer( new TermValidatorFactoryItemDescriptionValidator( WikibaseRepo::getTermValidatorFactory( $services ), @@ -237,19 +237,19 @@ return [ ); }, - VRD::ITEM_FIELDS_REQUEST_VALIDATING_DESERIALIZER => function (): MappedRequestValidatingDeserializer { + VRD::ITEM_FIELDS_REQUEST_VALIDATING_DESERIALIZER => static function (): MappedRequestValidatingDeserializer { $fieldsValidator = new FieldsFilterValidatingDeserializer( ItemParts::VALID_FIELDS ); return new MappedRequestValidatingDeserializer( fn( ItemFieldsRequest $r ) => $fieldsValidator->validateAndDeserialize( $r->getItemFields() ) ); }, - VRD::ITEM_ID_REQUEST_VALIDATING_DESERIALIZER => function(): ItemIdRequestValidatingDeserializer { + VRD::ITEM_ID_REQUEST_VALIDATING_DESERIALIZER => static function(): ItemIdRequestValidatingDeserializer { return new ItemIdRequestValidatingDeserializer(); }, VRD::ITEM_LABEL_EDIT_REQUEST_VALIDATING_DESERIALIZER => - function ( MediaWikiServices $services ): ItemLabelEditRequestValidatingDeserializer { + static function ( MediaWikiServices $services ): ItemLabelEditRequestValidatingDeserializer { return new ItemLabelEditRequestValidatingDeserializer( new TermValidatorFactoryItemLabelValidator( WikibaseRepo::getTermValidatorFactory( $services ), @@ -260,7 +260,7 @@ return [ }, VRD::ITEM_SERIALIZATION_REQUEST_VALIDATING_DESERIALIZER => - function( MediaWikiServices $services ): ItemSerializationRequestValidatingDeserializer { + static function( MediaWikiServices $services ): ItemSerializationRequestValidatingDeserializer { return new ItemSerializationRequestValidatingDeserializer( new ItemValidator( new LabelsSyntaxValidator( @@ -302,21 +302,21 @@ return [ ); }, - VRD::ITEM_STATEMENT_ID_REQUEST_VALIDATOR => function (): ItemStatementIdRequestValidator { + VRD::ITEM_STATEMENT_ID_REQUEST_VALIDATOR => static function (): ItemStatementIdRequestValidator { return new ItemStatementIdRequestValidator(); }, VRD::LABEL_LANGUAGE_CODE_REQUEST_VALIDATING_DESERIALIZER => - function ( MediaWikiServices $services ): LanguageCodeRequestValidatingDeserializer { + static function ( MediaWikiServices $services ): LanguageCodeRequestValidatingDeserializer { return new LanguageCodeRequestValidatingDeserializer( WbRestApi::getLabelLanguageCodeValidator( $services ) ); }, - VRD::PATCH_REQUEST_VALIDATING_DESERIALIZER => function (): PatchRequestValidatingDeserializer { + VRD::PATCH_REQUEST_VALIDATING_DESERIALIZER => static function (): PatchRequestValidatingDeserializer { return new PatchRequestValidatingDeserializer( new JsonDiffJsonPatchValidator() ); }, VRD::PROPERTY_ALIASES_IN_LANGUAGE_EDIT_REQUEST_VALIDATING_DESERIALIZER => - function ( MediaWikiServices $services ): PropertyAliasesInLanguageEditRequestValidatingDeserializer { + static function ( MediaWikiServices $services ): PropertyAliasesInLanguageEditRequestValidatingDeserializer { return new PropertyAliasesInLanguageEditRequestValidatingDeserializer( new AliasesInLanguageDeserializer(), new TermValidatorFactoryAliasesInLanguageValidator( WikibaseRepo::getTermValidatorFactory( $services ) ) @@ -324,21 +324,21 @@ return [ }, VRD::PROPERTY_DESCRIPTION_EDIT_REQUEST_VALIDATING_DESERIALIZER => - function ( MediaWikiServices $services ): PropertyDescriptionEditRequestValidatingDeserializer { + static function ( MediaWikiServices $services ): PropertyDescriptionEditRequestValidatingDeserializer { return new PropertyDescriptionEditRequestValidatingDeserializer( new TermValidatorFactoryPropertyDescriptionValidator( WikibaseRepo::getTermValidatorFactory( $services ) ), WbRestApi::getPropertyDataRetriever( $services ) ); }, - VRD::PROPERTY_FIELDS_REQUEST_VALIDATING_DESERIALIZER => function (): MappedRequestValidatingDeserializer { + VRD::PROPERTY_FIELDS_REQUEST_VALIDATING_DESERIALIZER => static function (): MappedRequestValidatingDeserializer { $fieldsValidator = new FieldsFilterValidatingDeserializer( PropertyParts::VALID_FIELDS ); return new MappedRequestValidatingDeserializer( fn( PropertyFieldsRequest $r ) => $fieldsValidator->validateAndDeserialize( $r->getPropertyFields() ) ); }, - VRD::PROPERTY_ID_FILTER_REQUEST_VALIDATING_DESERIALIZER => function(): MappedRequestValidatingDeserializer { + VRD::PROPERTY_ID_FILTER_REQUEST_VALIDATING_DESERIALIZER => static function(): MappedRequestValidatingDeserializer { $propertyIdFilterValidatingDeserializer = new PropertyIdFilterValidatingDeserializer( new PropertyIdValidator() ); return new MappedRequestValidatingDeserializer( fn( PropertyIdFilterRequest $r ) => $r->getPropertyIdFilter() === null @@ -348,7 +348,7 @@ return [ ); }, - VRD::PROPERTY_ID_REQUEST_VALIDATING_DESERIALIZER => function(): MappedRequestValidatingDeserializer { + VRD::PROPERTY_ID_REQUEST_VALIDATING_DESERIALIZER => static function(): MappedRequestValidatingDeserializer { $propertyIdValidatingDeserializer = new PropertyIdValidatingDeserializer( new PropertyIdValidator() ); return new MappedRequestValidatingDeserializer( fn( PropertyIdRequest $r ) => $propertyIdValidatingDeserializer->validateAndDeserialize( $r->getPropertyId() ) @@ -356,7 +356,7 @@ return [ }, VRD::PROPERTY_LABEL_EDIT_REQUEST_VALIDATING_DESERIALIZER => - function ( MediaWikiServices $services ): PropertyLabelEditRequestValidatingDeserializer { + static function ( MediaWikiServices $services ): PropertyLabelEditRequestValidatingDeserializer { return new PropertyLabelEditRequestValidatingDeserializer( new TermValidatorFactoryPropertyLabelValidator( WikibaseRepo::getTermValidatorFactory( $services ), @@ -366,12 +366,12 @@ return [ ); }, - VRD::PROPERTY_STATEMENT_ID_REQUEST_VALIDATOR => function (): PropertyStatementIdRequestValidator { + VRD::PROPERTY_STATEMENT_ID_REQUEST_VALIDATOR => static function (): PropertyStatementIdRequestValidator { return new PropertyStatementIdRequestValidator(); }, VRD::SITELINK_EDIT_REQUEST_VALIDATING_DESERIALIZER => - function( MediaWikiServices $services ): SitelinkEditRequestValidatingDeserializer { + static function( MediaWikiServices $services ): SitelinkEditRequestValidatingDeserializer { return new SitelinkEditRequestValidatingDeserializer( new SiteLinkLookupSitelinkValidator( WbRestApi::getSitelinkDeserializer( $services ), @@ -381,7 +381,7 @@ return [ }, VRD::SITE_ID_REQUEST_VALIDATING_DESERIALIZER => - function ( MediaWikiServices $services ): SiteIdRequestValidatingDeserializer { + static function ( MediaWikiServices $services ): SiteIdRequestValidatingDeserializer { return new SiteIdRequestValidatingDeserializer( new SiteIdValidator( WikibaseRepo::getSiteLinkGlobalIdentifiersProvider( $services )->getList( WikibaseRepo::getSettings( $services )->getSetting( 'siteLinkGroups' ) @@ -389,7 +389,7 @@ return [ ); }, - VRD::STATEMENT_ID_REQUEST_VALIDATING_DESERIALIZER => function(): StatementIdRequestValidatingDeserializer { + VRD::STATEMENT_ID_REQUEST_VALIDATING_DESERIALIZER => static function(): StatementIdRequestValidatingDeserializer { $entityIdParser = new BasicEntityIdParser(); return new StatementIdRequestValidatingDeserializer( @@ -399,13 +399,13 @@ return [ }, VRD::STATEMENT_SERIALIZATION_REQUEST_VALIDATING_DESERIALIZER => - function ( MediaWikiServices $services ): StatementSerializationRequestValidatingDeserializer { + static function ( MediaWikiServices $services ): StatementSerializationRequestValidatingDeserializer { return new StatementSerializationRequestValidatingDeserializer( new StatementValidator( WbRestApi::getStatementDeserializer( $services ) ) ); }, - 'WbRestApi.AddItemAliasesInLanguage' => function( MediaWikiServices $services ): AddItemAliasesInLanguage { + 'WbRestApi.AddItemAliasesInLanguage' => static function( MediaWikiServices $services ): AddItemAliasesInLanguage { return new AddItemAliasesInLanguage( WbRestApi::getItemDataRetriever( $services ), WbRestApi::getAssertItemExists( $services ), @@ -415,7 +415,7 @@ return [ ); }, - 'WbRestApi.AddItemStatement' => function( MediaWikiServices $services ): AddItemStatement { + 'WbRestApi.AddItemStatement' => static function( MediaWikiServices $services ): AddItemStatement { return new AddItemStatement( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertItemExists( $services ), @@ -426,7 +426,7 @@ return [ ); }, - 'WbRestApi.AddPropertyAliasesInLanguage' => function( MediaWikiServices $services ): AddPropertyAliasesInLanguage { + 'WbRestApi.AddPropertyAliasesInLanguage' => static function( MediaWikiServices $services ): AddPropertyAliasesInLanguage { return new AddPropertyAliasesInLanguage( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertPropertyExists( $services ), @@ -436,7 +436,7 @@ return [ ); }, - 'WbRestApi.AddPropertyStatement' => function( MediaWikiServices $services ): AddPropertyStatement { + 'WbRestApi.AddPropertyStatement' => static function( MediaWikiServices $services ): AddPropertyStatement { $statementReadModelConverter = new StatementReadModelConverter( WikibaseRepo::getStatementGuidParser( $services ), WikibaseRepo::getPropertyDataTypeLookup( $services ) @@ -459,23 +459,23 @@ return [ ); }, - 'WbRestApi.AliasLanguageCodeValidator' => function( MediaWikiServices $services ): AliasLanguageCodeValidator { + 'WbRestApi.AliasLanguageCodeValidator' => static function( MediaWikiServices $services ): AliasLanguageCodeValidator { return new ValueValidatorLanguageCodeValidator( WikibaseRepo::getTermValidatorFactory( $services )->getAliasLanguageValidator() ); }, - 'WbRestApi.AssertItemExists' => function( MediaWikiServices $services ): AssertItemExists { + 'WbRestApi.AssertItemExists' => static function( MediaWikiServices $services ): AssertItemExists { return new AssertItemExists( WbRestApi::getGetLatestItemRevisionMetadata( $services ) ); }, - 'WbRestApi.AssertPropertyExists' => function( MediaWikiServices $services ): AssertPropertyExists { + 'WbRestApi.AssertPropertyExists' => static function( MediaWikiServices $services ): AssertPropertyExists { return new AssertPropertyExists( WbRestApi::getGetLatestPropertyRevisionMetadata( $services ) ); }, - 'WbRestApi.AssertStatementSubjectExists' => function( MediaWikiServices $services ): AssertStatementSubjectExists { + 'WbRestApi.AssertStatementSubjectExists' => static function( MediaWikiServices $services ): AssertStatementSubjectExists { return new AssertStatementSubjectExists( WbRestApi::getGetLatestStatementSubjectRevisionMetadata( $services ) ); }, - 'WbRestApi.AssertUserIsAuthorized' => function( MediaWikiServices $services ): AssertUserIsAuthorized { + 'WbRestApi.AssertUserIsAuthorized' => static function( MediaWikiServices $services ): AssertUserIsAuthorized { return new AssertUserIsAuthorized( new WikibaseEntityPermissionChecker( WikibaseRepo::getEntityPermissionChecker( $services ), @@ -484,7 +484,7 @@ return [ ); }, - 'WbRestApi.CreateItem' => function( MediaWikiServices $services ): CreateItem { + 'WbRestApi.CreateItem' => static function( MediaWikiServices $services ): CreateItem { return new CreateItem( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getItemUpdater( $services ), @@ -492,7 +492,7 @@ return [ ); }, - 'WbRestApi.CreateProperty' => function( MediaWikiServices $services ): CreateProperty { + 'WbRestApi.CreateProperty' => static function( MediaWikiServices $services ): CreateProperty { return new CreateProperty( new CreatePropertyValidator( WbRestApi::getEditMetadataRequestValidatingDeserializer( $services ), @@ -526,13 +526,13 @@ return [ ); }, - 'WbRestApi.DescriptionLanguageCodeValidator' => function( MediaWikiServices $services ): DescriptionLanguageCodeValidator { + 'WbRestApi.DescriptionLanguageCodeValidator' => static function( MediaWikiServices $services ): DescriptionLanguageCodeValidator { return new ValueValidatorLanguageCodeValidator( WikibaseRepo::getTermValidatorFactory( $services )->getDescriptionLanguageValidator() ); }, - 'WbRestApi.EntityUpdater' => function( MediaWikiServices $services ): EntityUpdater { + 'WbRestApi.EntityUpdater' => static function( MediaWikiServices $services ): EntityUpdater { return new EntityUpdater( RequestContext::getMain(), WikibaseRepo::getEditEntityFactory( $services ), @@ -549,11 +549,11 @@ return [ ); }, - 'WbRestApi.ErrorReporter' => function( MediaWikiServices $services ): ErrorReporter { + 'WbRestApi.ErrorReporter' => static function( MediaWikiServices $services ): ErrorReporter { return new MWErrorReporter(); }, - 'WbRestApi.GetItem' => function( MediaWikiServices $services ): GetItem { + 'WbRestApi.GetItem' => static function( MediaWikiServices $services ): GetItem { return new GetItem( WbRestApi::getGetLatestItemRevisionMetadata( $services ), WbRestApi::getItemDataRetriever( $services ), @@ -561,7 +561,7 @@ return [ ); }, - 'WbRestApi.GetItemAliases' => function( MediaWikiServices $services ): GetItemAliases { + 'WbRestApi.GetItemAliases' => static function( MediaWikiServices $services ): GetItemAliases { return new GetItemAliases( WbRestApi::getGetLatestItemRevisionMetadata( $services ), new PrefetchingTermLookupAliasesRetriever( @@ -572,7 +572,7 @@ return [ ); }, - 'WbRestApi.GetItemAliasesInLanguage' => function( MediaWikiServices $services ): GetItemAliasesInLanguage { + 'WbRestApi.GetItemAliasesInLanguage' => static function( MediaWikiServices $services ): GetItemAliasesInLanguage { return new GetItemAliasesInLanguage( WbRestApi::getGetLatestItemRevisionMetadata( $services ), new PrefetchingTermLookupAliasesRetriever( @@ -583,7 +583,7 @@ return [ ); }, - 'WbRestApi.GetItemDescription' => function( MediaWikiServices $services ): GetItemDescription { + 'WbRestApi.GetItemDescription' => static function( MediaWikiServices $services ): GetItemDescription { return new GetItemDescription( WbRestApi::getGetLatestItemRevisionMetadata( $services ), WbRestApi::getTermLookupEntityTermsRetriever( $services ), @@ -591,7 +591,7 @@ return [ ); }, - 'WbRestApi.GetItemDescriptions' => function( MediaWikiServices $services ): GetItemDescriptions { + 'WbRestApi.GetItemDescriptions' => static function( MediaWikiServices $services ): GetItemDescriptions { return new GetItemDescriptions( WbRestApi::getGetLatestItemRevisionMetadata( $services ), WbRestApi::getTermLookupEntityTermsRetriever( $services ), @@ -599,7 +599,7 @@ return [ ); }, - 'WbRestApi.GetItemDescriptionWithFallback' => function( MediaWikiServices $services ): GetItemDescriptionWithFallback { + 'WbRestApi.GetItemDescriptionWithFallback' => static function( MediaWikiServices $services ): GetItemDescriptionWithFallback { return new GetItemDescriptionWithFallback( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getGetLatestItemRevisionMetadata( $services ), @@ -610,7 +610,7 @@ return [ ); }, - 'WbRestApi.GetItemLabel' => function( MediaWikiServices $services ): GetItemLabel { + 'WbRestApi.GetItemLabel' => static function( MediaWikiServices $services ): GetItemLabel { return new GetItemLabel( WbRestApi::getGetLatestItemRevisionMetadata( $services ), WbRestApi::getTermLookupEntityTermsRetriever( $services ), @@ -618,7 +618,7 @@ return [ ); }, - 'WbRestApi.GetItemLabels' => function( MediaWikiServices $services ): GetItemLabels { + 'WbRestApi.GetItemLabels' => static function( MediaWikiServices $services ): GetItemLabels { return new GetItemLabels( WbRestApi::getGetLatestItemRevisionMetadata( $services ), WbRestApi::getTermLookupEntityTermsRetriever( $services ), @@ -626,7 +626,7 @@ return [ ); }, - 'WbRestApi.GetItemLabelWithFallback' => function( MediaWikiServices $services ): GetItemLabelWithFallback { + 'WbRestApi.GetItemLabelWithFallback' => static function( MediaWikiServices $services ): GetItemLabelWithFallback { return new GetItemLabelWithFallback( WbRestApi::getGetLatestItemRevisionMetadata( $services ), new FallbackLookupFactoryTermsRetriever( @@ -637,7 +637,7 @@ return [ ); }, - 'WbRestApi.GetItemStatement' => function( MediaWikiServices $services ): GetItemStatement { + 'WbRestApi.GetItemStatement' => static function( MediaWikiServices $services ): GetItemStatement { return new GetItemStatement( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertItemExists( $services ), @@ -645,7 +645,7 @@ return [ ); }, - 'WbRestApi.GetItemStatements' => function( MediaWikiServices $services ): GetItemStatements { + 'WbRestApi.GetItemStatements' => static function( MediaWikiServices $services ): GetItemStatements { return new GetItemStatements( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getItemDataRetriever( $services ), @@ -653,19 +653,19 @@ return [ ); }, - 'WbRestApi.GetLatestItemRevisionMetadata' => function( MediaWikiServices $services ): GetLatestItemRevisionMetadata { + 'WbRestApi.GetLatestItemRevisionMetadata' => static function( MediaWikiServices $services ): GetLatestItemRevisionMetadata { return new GetLatestItemRevisionMetadata( new WikibaseEntityRevisionLookupItemRevisionMetadataRetriever( WikibaseRepo::getEntityRevisionLookup( $services ) ) ); }, - 'WbRestApi.GetLatestPropertyRevisionMetadata' => function( MediaWikiServices $services ): GetLatestPropertyRevisionMetadata { + 'WbRestApi.GetLatestPropertyRevisionMetadata' => static function( MediaWikiServices $services ): GetLatestPropertyRevisionMetadata { return new GetLatestPropertyRevisionMetadata( new WikibaseEntityRevisionLookupPropertyRevisionMetadataRetriever( WikibaseRepo::getEntityRevisionLookup( $services ) ) ); }, - 'WbRestApi.GetLatestStatementSubjectRevisionMetadata' => function( + 'WbRestApi.GetLatestStatementSubjectRevisionMetadata' => static function( MediaWikiServices $services ): GetLatestStatementSubjectRevisionMetadata { return new GetLatestStatementSubjectRevisionMetadata( new WikibaseEntityRevisionLookupStatementSubjectRevisionMetadataRetriever( @@ -673,7 +673,7 @@ return [ ) ); }, - 'WbRestApi.GetProperty' => function( MediaWikiServices $services ): GetProperty { + 'WbRestApi.GetProperty' => static function( MediaWikiServices $services ): GetProperty { return new GetProperty( WbRestApi::getGetLatestPropertyRevisionMetadata( $services ), WbRestApi::getPropertyDataRetriever( $services ), @@ -681,7 +681,7 @@ return [ ); }, - 'WbRestApi.GetPropertyAliases' => function( MediaWikiServices $services ): GetPropertyAliases { + 'WbRestApi.GetPropertyAliases' => static function( MediaWikiServices $services ): GetPropertyAliases { return new GetPropertyAliases( WbRestApi::getGetLatestPropertyRevisionMetadata( $services ), new PrefetchingTermLookupAliasesRetriever( @@ -692,7 +692,7 @@ return [ ); }, - 'WbRestApi.GetPropertyAliasesInLanguage' => function( MediaWikiServices $services ): GetPropertyAliasesInLanguage { + 'WbRestApi.GetPropertyAliasesInLanguage' => static function( MediaWikiServices $services ): GetPropertyAliasesInLanguage { return new GetPropertyAliasesInLanguage( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getGetLatestPropertyRevisionMetadata( $services ), @@ -703,7 +703,7 @@ return [ ); }, - 'WbRestApi.GetPropertyDescription' => function( MediaWikiServices $services ): GetPropertyDescription { + 'WbRestApi.GetPropertyDescription' => static function( MediaWikiServices $services ): GetPropertyDescription { return new GetPropertyDescription( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getGetLatestPropertyRevisionMetadata( $services ), @@ -711,7 +711,7 @@ return [ ); }, - 'WbRestApi.GetPropertyDescriptions' => function( MediaWikiServices $services ): GetPropertyDescriptions { + 'WbRestApi.GetPropertyDescriptions' => static function( MediaWikiServices $services ): GetPropertyDescriptions { return new GetPropertyDescriptions( WbRestApi::getGetLatestPropertyRevisionMetadata( $services ), WbRestApi::getTermLookupEntityTermsRetriever( $services ), @@ -719,7 +719,7 @@ return [ ); }, - 'WbRestApi.GetPropertyDescriptionWithFallback' => function( MediaWikiServices $services ): GetPropertyDescriptionWithFallback { + 'WbRestApi.GetPropertyDescriptionWithFallback' => static function( MediaWikiServices $services ): GetPropertyDescriptionWithFallback { return new GetPropertyDescriptionWithFallback( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getGetLatestPropertyRevisionMetadata( $services ), @@ -730,7 +730,7 @@ return [ ); }, - 'WbRestApi.GetPropertyLabel' => function( MediaWikiServices $services ): GetPropertyLabel { + 'WbRestApi.GetPropertyLabel' => static function( MediaWikiServices $services ): GetPropertyLabel { return new GetPropertyLabel( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getGetLatestPropertyRevisionMetadata( $services ), @@ -738,7 +738,7 @@ return [ ); }, - 'WbRestApi.GetPropertyLabels' => function( MediaWikiServices $services ): GetPropertyLabels { + 'WbRestApi.GetPropertyLabels' => static function( MediaWikiServices $services ): GetPropertyLabels { return new GetPropertyLabels( WbRestApi::getGetLatestPropertyRevisionMetadata( $services ), WbRestApi::getTermLookupEntityTermsRetriever( $services ), @@ -746,7 +746,7 @@ return [ ); }, - 'WbRestApi.GetPropertyLabelWithFallback' => function( MediaWikiServices $services ): GetPropertyLabelWithFallback { + 'WbRestApi.GetPropertyLabelWithFallback' => static function( MediaWikiServices $services ): GetPropertyLabelWithFallback { return new GetPropertyLabelWithFallback( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getGetLatestPropertyRevisionMetadata( $services ), @@ -757,7 +757,7 @@ return [ ); }, - 'WbRestApi.GetPropertyStatement' => function( MediaWikiServices $services ): GetPropertyStatement { + 'WbRestApi.GetPropertyStatement' => static function( MediaWikiServices $services ): GetPropertyStatement { return new GetPropertyStatement( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertPropertyExists( $services ), @@ -765,7 +765,7 @@ return [ ); }, - 'WbRestApi.GetPropertyStatements' => function( MediaWikiServices $services ): GetPropertyStatements { + 'WbRestApi.GetPropertyStatements' => static function( MediaWikiServices $services ): GetPropertyStatements { return new GetPropertyStatements( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getPropertyDataRetriever( $services ), @@ -773,7 +773,7 @@ return [ ); }, - 'WbRestApi.GetSitelink' => function( MediaWikiServices $services ): GetSitelink { + 'WbRestApi.GetSitelink' => static function( MediaWikiServices $services ): GetSitelink { return new GetSitelink( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getGetLatestItemRevisionMetadata( $services ), @@ -781,7 +781,7 @@ return [ ); }, - 'WbRestApi.GetSitelinks' => function( MediaWikiServices $services ): GetSitelinks { + 'WbRestApi.GetSitelinks' => static function( MediaWikiServices $services ): GetSitelinks { return new GetSitelinks( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getGetLatestItemRevisionMetadata( $services ), @@ -789,7 +789,7 @@ return [ ); }, - 'WbRestApi.GetStatement' => function( MediaWikiServices $services ): GetStatement { + 'WbRestApi.GetStatement' => static function( MediaWikiServices $services ): GetStatement { return new GetStatement( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getStatementRetriever( $services ), @@ -797,7 +797,7 @@ return [ ); }, - 'WbRestApi.ItemDataRetriever' => function( MediaWikiServices $services ): EntityRevisionLookupItemDataRetriever { + 'WbRestApi.ItemDataRetriever' => static function( MediaWikiServices $services ): EntityRevisionLookupItemDataRetriever { return new EntityRevisionLookupItemDataRetriever( WikibaseRepo::getEntityRevisionLookup( $services ), new StatementReadModelConverter( @@ -808,7 +808,7 @@ return [ ); }, - 'WbRestApi.ItemUpdater' => function( MediaWikiServices $services ): EntityUpdaterItemUpdater { + 'WbRestApi.ItemUpdater' => static function( MediaWikiServices $services ): EntityUpdaterItemUpdater { return new EntityUpdaterItemUpdater( WbRestApi::getEntityUpdater( $services ), new SitelinksReadModelConverter( $services->getSiteLookup() ), @@ -819,11 +819,11 @@ return [ ); }, - 'WbRestApi.LabelLanguageCodeValidator' => function( MediaWikiServices $services ): LabelLanguageCodeValidator { + 'WbRestApi.LabelLanguageCodeValidator' => static function( MediaWikiServices $services ): LabelLanguageCodeValidator { return new ValueValidatorLanguageCodeValidator( WikibaseRepo::getTermValidatorFactory( $services )->getLabelLanguageValidator() ); }, - 'WbRestApi.PatchItem' => function( MediaWikiServices $services ): PatchItem { + 'WbRestApi.PatchItem' => static function( MediaWikiServices $services ): PatchItem { return new PatchItem( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertItemExists(), @@ -879,7 +879,7 @@ return [ ); }, - 'WbRestApi.PatchItemAliases' => function( MediaWikiServices $services ): PatchItemAliases { + 'WbRestApi.PatchItemAliases' => static function( MediaWikiServices $services ): PatchItemAliases { return new PatchItemAliases( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertItemExists( $services ), @@ -900,7 +900,7 @@ return [ ); }, - 'WbRestApi.PatchItemDescriptions' => function( MediaWikiServices $services ): PatchItemDescriptions { + 'WbRestApi.PatchItemDescriptions' => static function( MediaWikiServices $services ): PatchItemDescriptions { return new PatchItemDescriptions( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertItemExists( $services ), @@ -923,7 +923,7 @@ return [ ); }, - 'WbRestApi.PatchItemLabels' => function( MediaWikiServices $services ): PatchItemLabels { + 'WbRestApi.PatchItemLabels' => static function( MediaWikiServices $services ): PatchItemLabels { return new PatchItemLabels( WbRestApi::getAssertItemExists( $services ), WbRestApi::getTermLookupEntityTermsRetriever( $services ), @@ -948,7 +948,7 @@ return [ ); }, - 'WbRestApi.PatchItemStatement' => function( MediaWikiServices $services ): PatchItemStatement { + 'WbRestApi.PatchItemStatement' => static function( MediaWikiServices $services ): PatchItemStatement { return new PatchItemStatement( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertItemExists( $services ), @@ -956,7 +956,7 @@ return [ ); }, - 'WbRestApi.PatchProperty' => function( MediaWikiServices $services ): PatchProperty { + 'WbRestApi.PatchProperty' => static function( MediaWikiServices $services ): PatchProperty { return new PatchProperty( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertPropertyExists( $services ), @@ -999,7 +999,7 @@ return [ ); }, - 'WbRestApi.PatchPropertyAliases' => function( MediaWikiServices $services ): PatchPropertyAliases { + 'WbRestApi.PatchPropertyAliases' => static function( MediaWikiServices $services ): PatchPropertyAliases { $termLanguages = WikibaseRepo::getTermsLanguages( $services ); return new PatchPropertyAliases( @@ -1022,7 +1022,7 @@ return [ ); }, - 'WbRestApi.PatchPropertyDescriptions' => function( MediaWikiServices $services ): PatchPropertyDescriptions { + 'WbRestApi.PatchPropertyDescriptions' => static function( MediaWikiServices $services ): PatchPropertyDescriptions { return new PatchPropertyDescriptions( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertPropertyExists( $services ), @@ -1047,7 +1047,7 @@ return [ ); }, - 'WbRestApi.PatchPropertyLabels' => function( MediaWikiServices $services ): PatchPropertyLabels { + 'WbRestApi.PatchPropertyLabels' => static function( MediaWikiServices $services ): PatchPropertyLabels { return new PatchPropertyLabels( new TermLookupEntityTermsRetriever( WikibaseRepo::getTermLookup( $services ), @@ -1073,7 +1073,7 @@ return [ ); }, - 'WbRestApi.PatchPropertyStatement' => function( MediaWikiServices $services ): PatchPropertyStatement { + 'WbRestApi.PatchPropertyStatement' => static function( MediaWikiServices $services ): PatchPropertyStatement { return new PatchPropertyStatement( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertPropertyExists( $services ), @@ -1081,7 +1081,7 @@ return [ ); }, - 'WbRestApi.PatchSitelinks' => function( MediaWikiServices $services ): PatchSitelinks { + 'WbRestApi.PatchSitelinks' => static function( MediaWikiServices $services ): PatchSitelinks { return new PatchSitelinks( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertItemExists( $services ), @@ -1103,7 +1103,7 @@ return [ ); }, - 'WbRestApi.PatchStatement' => function( MediaWikiServices $services ): PatchStatement { + 'WbRestApi.PatchStatement' => static function( MediaWikiServices $services ): PatchStatement { return new PatchStatement( WbRestApi::getValidatingRequestDeserializer( $services ), new PatchedStatementValidator( new StatementValidator( WbRestApi::getStatementDeserializer( $services ) ) ), @@ -1116,7 +1116,7 @@ return [ ); }, - 'WbRestApi.PreconditionMiddlewareFactory' => function( MediaWikiServices $services ): PreconditionMiddlewareFactory { + 'WbRestApi.PreconditionMiddlewareFactory' => static function( MediaWikiServices $services ): PreconditionMiddlewareFactory { return new PreconditionMiddlewareFactory( WikibaseRepo::getEntityRevisionLookup( $services ), WikibaseRepo::getEntityIdParser( $services ), @@ -1124,7 +1124,7 @@ return [ ); }, - 'WbRestApi.PropertyDataRetriever' => function( MediaWikiServices $services ): EntityRevisionLookupPropertyDataRetriever { + 'WbRestApi.PropertyDataRetriever' => static function( MediaWikiServices $services ): EntityRevisionLookupPropertyDataRetriever { return new EntityRevisionLookupPropertyDataRetriever( WikibaseRepo::getEntityRevisionLookup( $services ), new StatementReadModelConverter( @@ -1134,7 +1134,7 @@ return [ ); }, - 'WbRestApi.PropertyUpdater' => function( MediaWikiServices $services ): EntityUpdaterPropertyUpdater { + 'WbRestApi.PropertyUpdater' => static function( MediaWikiServices $services ): EntityUpdaterPropertyUpdater { return new EntityUpdaterPropertyUpdater( WbRestApi::getEntityUpdater( $services ), new StatementReadModelConverter( @@ -1144,7 +1144,7 @@ return [ ); }, - 'WbRestApi.RemoveItemDescription' => function( MediaWikiServices $services ): RemoveItemDescription { + 'WbRestApi.RemoveItemDescription' => static function( MediaWikiServices $services ): RemoveItemDescription { return new RemoveItemDescription( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertItemExists( $services ), @@ -1154,7 +1154,7 @@ return [ ); }, - 'WbRestApi.RemoveItemLabel' => function( MediaWikiServices $services ): RemoveItemLabel { + 'WbRestApi.RemoveItemLabel' => static function( MediaWikiServices $services ): RemoveItemLabel { return new RemoveItemLabel( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertItemExists( $services ), @@ -1164,7 +1164,7 @@ return [ ); }, - 'WbRestApi.RemoveItemStatement' => function( MediaWikiServices $services ): RemoveItemStatement { + 'WbRestApi.RemoveItemStatement' => static function( MediaWikiServices $services ): RemoveItemStatement { return new RemoveItemStatement( WbRestApi::getAssertItemExists( $services ), WbRestApi::getRemoveStatement( $services ), @@ -1172,7 +1172,7 @@ return [ ); }, - 'WbRestApi.RemovePropertyDescription' => function( MediaWikiServices $services ): RemovePropertyDescription { + 'WbRestApi.RemovePropertyDescription' => static function( MediaWikiServices $services ): RemovePropertyDescription { return new RemovePropertyDescription( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertPropertyExists( $services ), @@ -1182,7 +1182,7 @@ return [ ); }, - 'WbRestApi.RemovePropertyLabel' => function( MediaWikiServices $services ): RemovePropertyLabel { + 'WbRestApi.RemovePropertyLabel' => static function( MediaWikiServices $services ): RemovePropertyLabel { return new RemovePropertyLabel( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertPropertyExists( $services ), @@ -1192,7 +1192,7 @@ return [ ); }, - 'WbRestApi.RemovePropertyStatement' => function( MediaWikiServices $services ): RemovePropertyStatement { + 'WbRestApi.RemovePropertyStatement' => static function( MediaWikiServices $services ): RemovePropertyStatement { return new RemovePropertyStatement( WbRestApi::getAssertPropertyExists( $services ), WbRestApi::getRemoveStatement( $services ), @@ -1200,7 +1200,7 @@ return [ ); }, - 'WbRestApi.RemoveSitelink' => function( MediaWikiServices $services ): RemoveSitelink { + 'WbRestApi.RemoveSitelink' => static function( MediaWikiServices $services ): RemoveSitelink { return new RemoveSitelink( WbRestApi::getItemDataRetriever( $services ), WbRestApi::getItemUpdater( $services ), @@ -1210,7 +1210,7 @@ return [ ); }, - 'WbRestApi.RemoveStatement' => function( MediaWikiServices $services ): RemoveStatement { + 'WbRestApi.RemoveStatement' => static function( MediaWikiServices $services ): RemoveStatement { return new RemoveStatement( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertUserIsAuthorized( $services ), @@ -1220,7 +1220,7 @@ return [ ); }, - 'WbRestApi.ReplaceItemStatement' => function( MediaWikiServices $services ): ReplaceItemStatement { + 'WbRestApi.ReplaceItemStatement' => static function( MediaWikiServices $services ): ReplaceItemStatement { return new ReplaceItemStatement( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertItemExists( $services ), @@ -1228,7 +1228,7 @@ return [ ); }, - 'WbRestApi.ReplacePropertyStatement' => function( MediaWikiServices $services ): ReplacePropertyStatement { + 'WbRestApi.ReplacePropertyStatement' => static function( MediaWikiServices $services ): ReplacePropertyStatement { return new ReplacePropertyStatement( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertPropertyExists( $services ), @@ -1236,7 +1236,7 @@ return [ ); }, - 'WbRestApi.ReplaceStatement' => function( MediaWikiServices $services ): ReplaceStatement { + 'WbRestApi.ReplaceStatement' => static function( MediaWikiServices $services ): ReplaceStatement { return new ReplaceStatement( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertStatementSubjectExists( $services ), @@ -1245,7 +1245,7 @@ return [ ); }, - 'WbRestApi.SetItemDescription' => function( MediaWikiServices $services ): SetItemDescription { + 'WbRestApi.SetItemDescription' => static function( MediaWikiServices $services ): SetItemDescription { return new SetItemDescription( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertItemExists( $services ), @@ -1255,7 +1255,7 @@ return [ ); }, - 'WbRestApi.SetItemLabel' => function( MediaWikiServices $services ): SetItemLabel { + 'WbRestApi.SetItemLabel' => static function( MediaWikiServices $services ): SetItemLabel { return new SetItemLabel( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertItemExists( $services ), @@ -1265,7 +1265,7 @@ return [ ); }, - 'WbRestApi.SetPropertyDescription' => function( MediaWikiServices $services ): SetPropertyDescription { + 'WbRestApi.SetPropertyDescription' => static function( MediaWikiServices $services ): SetPropertyDescription { return new SetPropertyDescription( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getPropertyDataRetriever( $services ), @@ -1275,7 +1275,7 @@ return [ ); }, - 'WbRestApi.SetPropertyLabel' => function( MediaWikiServices $services ): SetPropertyLabel { + 'WbRestApi.SetPropertyLabel' => static function( MediaWikiServices $services ): SetPropertyLabel { return new SetPropertyLabel( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getPropertyDataRetriever( $services ), @@ -1285,7 +1285,7 @@ return [ ); }, - 'WbRestApi.SetSitelink' => function( MediaWikiServices $services ): SetSitelink { + 'WbRestApi.SetSitelink' => static function( MediaWikiServices $services ): SetSitelink { return new SetSitelink( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertItemExists( $services ), @@ -1295,7 +1295,7 @@ return [ ); }, - 'WbRestApi.SitelinkDeserializer' => function( MediaWikiServices $services ): SitelinkDeserializer { + 'WbRestApi.SitelinkDeserializer' => static function( MediaWikiServices $services ): SitelinkDeserializer { return new SitelinkDeserializer( MediaWikiTitleCodec::getTitleInvalidRegex(), array_keys( WikibaseRepo::getSettings( $services )->getSetting( 'badgeItems' ) ), @@ -1307,7 +1307,7 @@ return [ ); }, - 'WbRestApi.StatementDeserializer' => function( MediaWikiServices $services ): StatementDeserializer { + 'WbRestApi.StatementDeserializer' => static function( MediaWikiServices $services ): StatementDeserializer { $propertyValuePairDeserializer = new PropertyValuePairDeserializer( WikibaseRepo::getEntityIdParser( $services ), WikibaseRepo::getPropertyDataTypeLookup( $services ), @@ -1323,21 +1323,21 @@ return [ ); }, - 'WbRestApi.StatementRedirectMiddlewareFactory' => function( MediaWikiServices $services ): StatementRedirectMiddlewareFactory { + 'WbRestApi.StatementRedirectMiddlewareFactory' => static function( MediaWikiServices $services ): StatementRedirectMiddlewareFactory { return new StatementRedirectMiddlewareFactory( WikibaseRepo::getEntityIdParser( $services ), new StatementSubjectRetriever( WikibaseRepo::getEntityRevisionLookup( $services ) ) ); }, - 'WbRestApi.StatementRemover' => function( MediaWikiServices $services ): StatementRemover { + 'WbRestApi.StatementRemover' => static function( MediaWikiServices $services ): StatementRemover { return new EntityUpdaterStatementRemover( new StatementSubjectRetriever( WikibaseRepo::getEntityRevisionLookup( $services ) ), WbRestApi::getEntityUpdater( $services ), ); }, - 'WbRestApi.StatementRetriever' => function( MediaWikiServices $services ): EntityRevisionLookupStatementRetriever { + 'WbRestApi.StatementRetriever' => static function( MediaWikiServices $services ): EntityRevisionLookupStatementRetriever { return new EntityRevisionLookupStatementRetriever( new StatementSubjectRetriever( WikibaseRepo::getEntityRevisionLookup( $services ) ), new StatementReadModelConverter( @@ -1347,13 +1347,13 @@ return [ ); }, - 'WbRestApi.StatementSerializer' => function( MediaWikiServices $services ): StatementSerializer { + 'WbRestApi.StatementSerializer' => static function( MediaWikiServices $services ): StatementSerializer { $propertyValuePairSerializer = new PropertyValuePairSerializer(); $referenceSerializer = new ReferenceSerializer( $propertyValuePairSerializer ); return new StatementSerializer( $propertyValuePairSerializer, $referenceSerializer ); }, - 'WbRestApi.StatementUpdater' => function( MediaWikiServices $services ): StatementUpdater { + 'WbRestApi.StatementUpdater' => static function( MediaWikiServices $services ): StatementUpdater { return new EntityUpdaterStatementUpdater( WikibaseRepo::getStatementGuidParser( $services ), new StatementSubjectRetriever( WikibaseRepo::getEntityRevisionLookup( $services ) ), @@ -1365,21 +1365,21 @@ return [ ); }, - 'WbRestApi.TermLookupEntityTermsRetriever' => function( MediaWikiServices $services ): TermLookupEntityTermsRetriever { + 'WbRestApi.TermLookupEntityTermsRetriever' => static function( MediaWikiServices $services ): TermLookupEntityTermsRetriever { return new TermLookupEntityTermsRetriever( WikibaseRepo::getTermLookup( $services ), WikibaseRepo::getTermsLanguages( $services ) ); }, - 'WbRestApi.UnexpectedErrorHandlerMiddleware' => function( MediaWikiServices $services ): UnexpectedErrorHandlerMiddleware { + 'WbRestApi.UnexpectedErrorHandlerMiddleware' => static function( MediaWikiServices $services ): UnexpectedErrorHandlerMiddleware { return new UnexpectedErrorHandlerMiddleware( new ResponseFactory(), $services->get( 'WbRestApi.ErrorReporter' ) ); }, - 'WbRestApi.ValidatingRequestDeserializer' => function( MediaWikiServices $services ): VRD { + 'WbRestApi.ValidatingRequestDeserializer' => static function( MediaWikiServices $services ): VRD { return new VRD( $services ); }, diff --git a/repo/rest-api/tests/phpunit/Application/UseCases/CreateProperty/CreatePropertyValidatorTest.php b/repo/rest-api/tests/phpunit/Application/UseCases/CreateProperty/CreatePropertyValidatorTest.php index 058100d..4992092 100644 --- a/repo/rest-api/tests/phpunit/Application/UseCases/CreateProperty/CreatePropertyValidatorTest.php +++ b/repo/rest-api/tests/phpunit/Application/UseCases/CreateProperty/CreatePropertyValidatorTest.php @@ -171,11 +171,11 @@ class CreatePropertyValidatorTest extends TestCase { } public static function labelsValidationErrorProvider(): Generator { - $mockSyntaxValidator = function( self $test ) { + $mockSyntaxValidator = static function( self $test ) { $test->labelsSyntaxValidator = $test->createMock( LabelsSyntaxValidator::class ); return $test->labelsSyntaxValidator; }; - $mockContentsValidator = function( self $test ) { + $mockContentsValidator = static function( self $test ) { $test->labelsContentsValidator = $test->createMock( PropertyLabelsContentsValidator::class ); return $test->labelsContentsValidator; }; @@ -282,11 +282,11 @@ class CreatePropertyValidatorTest extends TestCase { } public static function descriptionsValidationErrorProvider(): Generator { - $mockSyntaxValidator = function( self $test ) { + $mockSyntaxValidator = static function( self $test ) { $test->descriptionsSyntaxValidator = $test->createMock( DescriptionsSyntaxValidator::class ); return $test->descriptionsSyntaxValidator; }; - $mockContentsValidator = function( self $test ) { + $mockContentsValidator = static function( self $test ) { $test->descriptionsContentsValidator = $test->createMock( PropertyDescriptionsContentsValidator::class ); return $test->descriptionsContentsValidator; }; diff --git a/repo/rest-api/tests/phpunit/Application/UseCases/PatchItem/PatchedItemValidatorTest.php b/repo/rest-api/tests/phpunit/Application/UseCases/PatchItem/PatchedItemValidatorTest.php index ebe04b9..34a74f0 100644 --- a/repo/rest-api/tests/phpunit/Application/UseCases/PatchItem/PatchedItemValidatorTest.php +++ b/repo/rest-api/tests/phpunit/Application/UseCases/PatchItem/PatchedItemValidatorTest.php @@ -342,11 +342,11 @@ class PatchedItemValidatorTest extends TestCase { } public static function labelsValidationErrorProvider(): Generator { - $mockSyntaxValidator = function( self $test ) { + $mockSyntaxValidator = static function( self $test ) { $test->labelsSyntaxValidator = $test->createMock( LabelsSyntaxValidator::class ); return $test->labelsSyntaxValidator; }; - $mockContentsValidator = function( self $test ) { + $mockContentsValidator = static function( self $test ) { $test->labelsContentsValidator = $test->createMock( ItemLabelsContentsValidator::class ); return $test->labelsContentsValidator; }; @@ -459,11 +459,11 @@ class PatchedItemValidatorTest extends TestCase { } public static function descriptionsValidationErrorProvider(): Generator { - $mockSyntaxValidator = function ( self $test ) { + $mockSyntaxValidator = static function ( self $test ) { $test->descriptionsSyntaxValidator = $test->createMock( DescriptionsSyntaxValidator::class ); return $test->descriptionsSyntaxValidator; }; - $mockContentsValidator = function ( self $test ) { + $mockContentsValidator = static function ( self $test ) { $test->descriptionsContentsValidator = $test->createMock( ItemDescriptionsContentsValidator::class ); return $test->descriptionsContentsValidator; }; diff --git a/repo/rest-api/tests/phpunit/Application/UseCases/PatchProperty/PatchedPropertyValidatorTest.php b/repo/rest-api/tests/phpunit/Application/UseCases/PatchProperty/PatchedPropertyValidatorTest.php index 5e21fba..579bf97 100644 --- a/repo/rest-api/tests/phpunit/Application/UseCases/PatchProperty/PatchedPropertyValidatorTest.php +++ b/repo/rest-api/tests/phpunit/Application/UseCases/PatchProperty/PatchedPropertyValidatorTest.php @@ -364,11 +364,11 @@ class PatchedPropertyValidatorTest extends TestCase { } public static function labelsValidationErrorProvider(): Generator { - $mockSyntaxValidator = function ( self $test ) { + $mockSyntaxValidator = static function ( self $test ) { $test->labelsSyntaxValidator = $test->createMock( LabelsSyntaxValidator::class ); return $test->labelsSyntaxValidator; }; - $mockContentsValidator = function ( self $test ) { + $mockContentsValidator = static function ( self $test ) { $test->labelsContentsValidator = $test->createMock( PropertyLabelsContentsValidator::class ); return $test->labelsContentsValidator; }; @@ -476,11 +476,11 @@ class PatchedPropertyValidatorTest extends TestCase { } public static function descriptionsValidationErrorProvider(): Generator { - $mockSyntaxValidator = function ( self $test ) { + $mockSyntaxValidator = static function ( self $test ) { $test->descriptionsSyntaxValidator = $test->createMock( DescriptionsSyntaxValidator::class ); return $test->descriptionsSyntaxValidator; }; - $mockContentsValidator = function ( self $test ) { + $mockContentsValidator = static function ( self $test ) { $test->descriptionsContentsValidator = $test->createMock( PropertyDescriptionsContentsValidator::class ); return $test->descriptionsContentsValidator; }; diff --git a/repo/rest-api/tests/phpunit/Application/Validation/LabelsAndDescriptionsContentsValidatorTest.php b/repo/rest-api/tests/phpunit/Application/Validation/LabelsAndDescriptionsContentsValidatorTest.php index f9cd538..36764db 100644 --- a/repo/rest-api/tests/phpunit/Application/Validation/LabelsAndDescriptionsContentsValidatorTest.php +++ b/repo/rest-api/tests/phpunit/Application/Validation/LabelsAndDescriptionsContentsValidatorTest.php @@ -122,7 +122,7 @@ class LabelsAndDescriptionsContentsValidatorTest extends TestCase { public static function validatorProvider(): Generator { yield PropertyLabelsContentsValidator::class => [ - function ( self $self ) { + static function ( self $self ) { $propertyLabelValidator = $self->createMock( PropertyLabelValidator::class ); $propertyLabelsContentsValidator = new PropertyLabelsContentsValidator( $propertyLabelValidator ); return [ @@ -135,7 +135,7 @@ class LabelsAndDescriptionsContentsValidatorTest extends TestCase { ]; yield PropertyDescriptionsContentsValidator::class => [ - function ( self $self ) { + static function ( self $self ) { $propertyDescriptionValidator = $self->createMock( PropertyDescriptionValidator::class ); $propertyDescriptionsContentsValidator = new PropertyDescriptionsContentsValidator( $propertyDescriptionValidator ); return [ @@ -148,7 +148,7 @@ class LabelsAndDescriptionsContentsValidatorTest extends TestCase { ]; yield ItemLabelsContentsValidator::class => [ - function ( self $self ) { + static function ( self $self ) { $itemLabelValidator = $self->createMock( ItemLabelValidator::class ); $itemLabelsContentsValidator = new ItemLabelsContentsValidator( $itemLabelValidator ); return [ @@ -161,7 +161,7 @@ class LabelsAndDescriptionsContentsValidatorTest extends TestCase { ]; yield ItemDescriptionsContentsValidator::class => [ - function ( self $self ) { + static function ( self $self ) { $itemDescriptionValidator = $self->createMock( ItemDescriptionValidator::class ); $itemDescriptionsContentsValidator = new ItemDescriptionsContentsValidator( $itemDescriptionValidator ); return [ diff --git a/repo/rest-api/tests/phpunit/Application/Validation/StatementsValidatorTest.php b/repo/rest-api/tests/phpunit/Application/Validation/StatementsValidatorTest.php index b52f25c..15d06d4 100644 --- a/repo/rest-api/tests/phpunit/Application/Validation/StatementsValidatorTest.php +++ b/repo/rest-api/tests/phpunit/Application/Validation/StatementsValidatorTest.php @@ -66,7 +66,7 @@ class StatementsValidatorTest extends TestCase { public function testMissingStatementValue_returnsValidationError(): void { $this->propValPairDeserializer = $this->createStub( PropertyValuePairDeserializer::class ); - $this->propValPairDeserializer->method( 'deserialize' )->willReturnCallback( function( $_, $basePath ): void { + $this->propValPairDeserializer->method( 'deserialize' )->willReturnCallback( static function( $_, $basePath ): void { throw new MissingFieldException( 'value', $basePath ); } ); diff --git a/repo/rest-api/tests/phpunit/Infrastructure/DataAccess/EntityUpdaterItemUpdaterTest.php b/repo/rest-api/tests/phpunit/Infrastructure/DataAccess/EntityUpdaterItemUpdaterTest.php index a23f117..87a9f9a 100644 --- a/repo/rest-api/tests/phpunit/Infrastructure/DataAccess/EntityUpdaterItemUpdaterTest.php +++ b/repo/rest-api/tests/phpunit/Infrastructure/DataAccess/EntityUpdaterItemUpdaterTest.php @@ -66,7 +66,7 @@ class EntityUpdaterItemUpdaterTest extends TestCase { $this->entityUpdater->expects( $this->once() ) ->method( 'create' ) ->with( $itemToCreate, $editMetaData ) - ->willReturnCallback( function () use ( $itemToCreate, $expectedRevisionId, $expectedRevisionTimestamp ) { + ->willReturnCallback( static function () use ( $itemToCreate, $expectedRevisionId, $expectedRevisionTimestamp ) { $itemToCreate->setId( new ItemId( 'Q123' ) ); return new EntityRevision( $itemToCreate, $expectedRevisionId, $expectedRevisionTimestamp ); } ); diff --git a/repo/rest-api/tests/phpunit/Infrastructure/DataAccess/EntityUpdaterPropertyUpdaterTest.php b/repo/rest-api/tests/phpunit/Infrastructure/DataAccess/EntityUpdaterPropertyUpdaterTest.php index c556c6a..8e6f46f 100644 --- a/repo/rest-api/tests/phpunit/Infrastructure/DataAccess/EntityUpdaterPropertyUpdaterTest.php +++ b/repo/rest-api/tests/phpunit/Infrastructure/DataAccess/EntityUpdaterPropertyUpdaterTest.php @@ -57,7 +57,7 @@ class EntityUpdaterPropertyUpdaterTest extends TestCase { $this->entityUpdater->expects( $this->once() ) ->method( 'create' ) ->with( $propertyToCreate, $editMetaData ) - ->willReturnCallback( function () use ( $propertyToCreate, $expectedRevisionId, $expectedRevisionTimestamp ) { + ->willReturnCallback( static function () use ( $propertyToCreate, $expectedRevisionId, $expectedRevisionTimestamp ) { $propertyToCreate->setId( new NumericPropertyId( 'P123' ) ); return new EntityRevision( $propertyToCreate, $expectedRevisionId, $expectedRevisionTimestamp ); } ); diff --git a/repo/rest-api/tests/phpunit/RouteHandlers/Middleware/TempUserCreationResponseHeaderMiddlewareTest.php b/repo/rest-api/tests/phpunit/RouteHandlers/Middleware/TempUserCreationResponseHeaderMiddlewareTest.php index 4e5980e..2bc3387 100644 --- a/repo/rest-api/tests/phpunit/RouteHandlers/Middleware/TempUserCreationResponseHeaderMiddlewareTest.php +++ b/repo/rest-api/tests/phpunit/RouteHandlers/Middleware/TempUserCreationResponseHeaderMiddlewareTest.php @@ -37,7 +37,7 @@ class TempUserCreationResponseHeaderMiddlewareTest extends TestCase { $hookRunner = $this->createMock( HookRunner::class ); $hookRunner->method( 'onTempUserCreatedRedirect' )->willReturnCallback( - function( $session, $user, $returnTo, $returnToQuery, $returnToAnchor, &$redirectUrl ): void { + static function( $session, $user, $returnTo, $returnToQuery, $returnToAnchor, &$redirectUrl ): void { $redirectUrl = 'https://en.wikipedia.org/wiki/Test'; } ); @@ -73,7 +73,7 @@ class TempUserCreationResponseHeaderMiddlewareTest extends TestCase { $hookRunner = $this->createMock( HookRunner::class ); $hookRunner->method( 'onTempUserCreatedRedirect' )->willReturnCallback( - function( $session, $user, $returnTo, $returnToQuery, $returnToAnchor, &$redirectUrl ): void { + static function( $session, $user, $returnTo, $returnToQuery, $returnToAnchor, &$redirectUrl ): void { $redirectUrl = ''; } ); diff --git a/repo/rest-api/tests/phpunit/RouteHandlers/Middleware/UnexpectedErrorHandlerMiddlewareTest.php b/repo/rest-api/tests/phpunit/RouteHandlers/Middleware/UnexpectedErrorHandlerMiddlewareTest.php index 1b717ec..43e919f 100644 --- a/repo/rest-api/tests/phpunit/RouteHandlers/Middleware/UnexpectedErrorHandlerMiddlewareTest.php +++ b/repo/rest-api/tests/phpunit/RouteHandlers/Middleware/UnexpectedErrorHandlerMiddlewareTest.php @@ -37,7 +37,7 @@ class UnexpectedErrorHandlerMiddlewareTest extends TestCase { public function testHandlesError( Throwable $throwable ): void { $response = $this->newMiddleware()->run( $this->createStub( Handler::class ), - function () use ( $throwable ): Response { + static function () use ( $throwable ): Response { throw $throwable; } ); @@ -75,7 +75,7 @@ class UnexpectedErrorHandlerMiddlewareTest extends TestCase { $this->newMiddleware()->run( $routeHandler, - function () use ( $exception ): void { + static function () use ( $exception ): void { throw $exception; } ); diff --git a/repo/tests/phpunit/includes/Actions/EditEntityActionTest.php b/repo/tests/phpunit/includes/Actions/EditEntityActionTest.php index 60bada9..da09436 100644 --- a/repo/tests/phpunit/includes/Actions/EditEntityActionTest.php +++ b/repo/tests/phpunit/includes/Actions/EditEntityActionTest.php @@ -44,7 +44,7 @@ class EditEntityActionTest extends ActionTestCase { $method = __METHOD__; $this->setTemporaryHook( 'EditFilterMergedContent', - function ( IContextSource $context, EntityContent $entityContent, Status $status ) use ( $method ) { + static function ( IContextSource $context, EntityContent $entityContent, Status $status ) use ( $method ) { if ( !$entityContent->isRedirect() ) { $entity = $entityContent->getEntity(); if ( $entity instanceof LabelsProvider ) { diff --git a/repo/tests/phpunit/includes/Actions/HistoryEntityActionTest.php b/repo/tests/phpunit/includes/Actions/HistoryEntityActionTest.php index b58ae1e..0d3b64e 100644 --- a/repo/tests/phpunit/includes/Actions/HistoryEntityActionTest.php +++ b/repo/tests/phpunit/includes/Actions/HistoryEntityActionTest.php @@ -85,7 +85,7 @@ class HistoryEntityActionTest extends \PHPUnit\Framework\TestCase { $context->method( 'getUser' ) ->willReturn( new User() ); $context->method( 'msg' ) - ->willReturnCallback( function( ...$args ) { + ->willReturnCallback( static function( ...$args ) { return wfMessage( ...$args ) ->inLanguage( self::DUMMY_LANGUAGE ); } ); @@ -142,7 +142,7 @@ class HistoryEntityActionTest extends \PHPUnit\Framework\TestCase { $pageTitle = null; $output = $this->createMock( OutputPage::class ); $output->method( 'setPageTitleMsg' ) - ->willReturnCallback( function( $m ) use( &$pageTitle ) { + ->willReturnCallback( static function( $m ) use( &$pageTitle ) { $pageTitle = $m->escaped(); } ); diff --git a/repo/tests/phpunit/includes/Api/ApiJsonFormatTest.php b/repo/tests/phpunit/includes/Api/ApiJsonFormatTest.php index 4b72526..3ca262c 100644 --- a/repo/tests/phpunit/includes/Api/ApiJsonFormatTest.php +++ b/repo/tests/phpunit/includes/Api/ApiJsonFormatTest.php @@ -155,7 +155,7 @@ class ApiJsonFormatTest extends ApiFormatTestCase { private function replaceHashesWithPlaceholder( array $json ) { array_walk_recursive( $json, - function( &$value, $key ) { + static function( &$value, $key ) { if ( $key === 'hash' ) { $value = 'XXX'; } diff --git a/repo/tests/phpunit/includes/Api/CreateRedirectTest.php b/repo/tests/phpunit/includes/Api/CreateRedirectTest.php index bf96955..80f283c 100644 --- a/repo/tests/phpunit/includes/Api/CreateRedirectTest.php +++ b/repo/tests/phpunit/includes/Api/CreateRedirectTest.php @@ -79,7 +79,7 @@ class CreateRedirectTest extends MediaWikiIntegrationTestCase { $permissionChecker = $this->createMock( EntityPermissionChecker::class ); $permissionChecker->method( 'getPermissionStatusForEntityId' ) - ->willReturnCallback( function( User $user ) { + ->willReturnCallback( static function( User $user ) { if ( $user->getName() === 'UserWithoutPermission' ) { return Status::newFatal( 'permissiondenied' ); } else { diff --git a/repo/tests/phpunit/includes/Api/EditEntityClearChangeOpValidateIntegrationTest.php b/repo/tests/phpunit/includes/Api/EditEntityClearChangeOpValidateIntegrationTest.php index 1b4eb4a..a689e10 100644 --- a/repo/tests/phpunit/includes/Api/EditEntityClearChangeOpValidateIntegrationTest.php +++ b/repo/tests/phpunit/includes/Api/EditEntityClearChangeOpValidateIntegrationTest.php @@ -146,7 +146,7 @@ class EditEntityClearChangeOpValidateIntegrationTest extends MediaWikiIntegratio $changeOp = $this->createMock( ChangeOp::class ); $changeOp->method( 'validate' ) - ->willReturnCallback( function( Item $item ) { + ->willReturnCallback( static function( Item $item ) { if ( $item->getLabels()->isEmpty() ) { return Result::newError( [ Error::newError( 'item without labels is no good' ) ] ); } @@ -154,7 +154,7 @@ class EditEntityClearChangeOpValidateIntegrationTest extends MediaWikiIntegratio } ); $changeOp->method( 'apply' ) - ->willReturnCallback( function( Item $item ) { + ->willReturnCallback( static function( Item $item ) { if ( $item->getLabels()->isEmpty() ) { throw new ChangeOpApplyException( 'item without labels is really no good' ); } diff --git a/repo/tests/phpunit/includes/Api/EntitySavingHelperTest.php b/repo/tests/phpunit/includes/Api/EntitySavingHelperTest.php index e11afcc..5cb074c 100644 --- a/repo/tests/phpunit/includes/Api/EntitySavingHelperTest.php +++ b/repo/tests/phpunit/includes/Api/EntitySavingHelperTest.php @@ -81,11 +81,11 @@ class EntitySavingHelperTest extends EntityLoadingHelperTest { private function getMockEntityStore() { $mock = $this->createMock( EntityStore::class ); $mock->method( 'canCreateWithCustomId' ) - ->willReturnCallback( function ( EntityId $id ) { + ->willReturnCallback( static function ( EntityId $id ) { return $id->getEntityType() === 'mediainfo'; } ); $mock->method( 'assignFreshId' ) - ->willReturnCallback( function ( EntityDocument $entity ) { + ->willReturnCallback( static function ( EntityDocument $entity ) { $entity->setId( new ItemId( 'Q333' ) ); } ); diff --git a/repo/tests/phpunit/includes/Api/EntityTermSearchHelperTest.php b/repo/tests/phpunit/includes/Api/EntityTermSearchHelperTest.php index dde9a44..f00a091 100644 --- a/repo/tests/phpunit/includes/Api/EntityTermSearchHelperTest.php +++ b/repo/tests/phpunit/includes/Api/EntityTermSearchHelperTest.php @@ -66,7 +66,7 @@ class EntityTermSearchHelperTest extends \PHPUnit\Framework\TestCase { $searchInteractor->expects( $this->atLeastOnce() ) ->method( 'setTermSearchOptions' ) ->with( $this->callback( - function ( TermSearchOptions $options ) use ( $strictLanguage ) { + static function ( TermSearchOptions $options ) use ( $strictLanguage ) { return $options->getUseLanguageFallback() !== $strictLanguage; } ) ); diff --git a/repo/tests/phpunit/includes/Api/FormatSnakValueTest.php b/repo/tests/phpunit/includes/Api/FormatSnakValueTest.php index 33320a8..5d2d792 100644 --- a/repo/tests/phpunit/includes/Api/FormatSnakValueTest.php +++ b/repo/tests/phpunit/includes/Api/FormatSnakValueTest.php @@ -55,7 +55,7 @@ class FormatSnakValueTest extends ApiTestCase { $deletedItem = wfMessage( 'wikibase-deletedentity-item' )->inLanguage( 'en' )->text(); return [ - [ function () { + [ static function () { return [ new StringValue( 'test' ), null, @@ -65,7 +65,7 @@ class FormatSnakValueTest extends ApiTestCase { '/^test$/', ]; } ], - [ function () use ( $november11 ) { + [ static function () use ( $november11 ) { return [ $november11, null, @@ -75,7 +75,7 @@ class FormatSnakValueTest extends ApiTestCase { '/^11 November 2013$/', ]; } ], - [ function () use ( $november ) { + [ static function () use ( $november ) { return [ $november, null, @@ -85,7 +85,7 @@ class FormatSnakValueTest extends ApiTestCase { '/^November 2013$/', ]; } ], - [ function () { + [ static function () { return [ new StringValue( 'http://acme.test' ), 'string', @@ -95,7 +95,7 @@ class FormatSnakValueTest extends ApiTestCase { '@^http://acme\.test$@', ]; } ], - [ function () { + [ static function () { return [ new StringValue( 'http://acme.test' ), 'string', @@ -105,7 +105,7 @@ class FormatSnakValueTest extends ApiTestCase { '@^http://acme\.test$@', ]; } ], - [ function () { + [ static function () { return [ new StringValue( 'http://acme.test' ), 'url', @@ -115,7 +115,7 @@ class FormatSnakValueTest extends ApiTestCase { '@^http://acme\.test$@', ]; } ], - [ function () { + [ static function () { return [ UnboundedQuantityValue::newFromNumber( '+12.33' ), 'quantity', @@ -125,7 +125,7 @@ class FormatSnakValueTest extends ApiTestCase { '@^12,33$@', // german decimal separator ]; } ], - [ function () { + [ static function () { return [ new StringValue( 'http://acme.test' ), 'url', @@ -135,7 +135,7 @@ class FormatSnakValueTest extends ApiTestCase { '@^http://acme\.test$@', ]; } ], - [ function () { + [ static function () { return [ new StringValue( 'example.jpg' ), 'commonsMedia', @@ -145,7 +145,7 @@ class FormatSnakValueTest extends ApiTestCase { '@commons\.wikimedia\.org\/wiki\/File:Example\.jpg@', ]; } ], - [ function () use ( $wordSeparator, $deletedItem ) { + [ static function () use ( $wordSeparator, $deletedItem ) { return [ new EntityIdValue( new ItemId( 'Q404' ) ), 'wikibase-item', @@ -156,7 +156,7 @@ class FormatSnakValueTest extends ApiTestCase { preg_quote( $deletedItem, '/' ) . '\)<\/span>$/', ]; } ], - [ function ( self $test ) { + [ static function ( self $test ) { $id = $test->testingItem->getId(); $idString = $id->getSerialization(); @@ -170,7 +170,7 @@ class FormatSnakValueTest extends ApiTestCase { '">George Washington<\/a>$/', ]; } ], - [ function ( self $test ) { + [ static function ( self $test ) { $id = $test->testingItem->getId(); $idString = $id->getSerialization(); @@ -185,7 +185,7 @@ class FormatSnakValueTest extends ApiTestCase { '<sup class="wb-language-fallback-indicator">[^<>]+<\/sup>$/', ]; } ], - [ function () { + [ static function () { return [ new StringValue( 'whatever' ), null, @@ -195,7 +195,7 @@ class FormatSnakValueTest extends ApiTestCase { '/wikibase-snakformatter-property-not-found/', ]; } ], - 'wikibase-snakformatter-valuetype-mismatch' => [ function ( self $test ) { + 'wikibase-snakformatter-valuetype-mismatch' => [ static function ( self $test ) { $qid = $test->testingItem->getId(); $pid = $test->testingProperty->getId(); @@ -208,7 +208,7 @@ class FormatSnakValueTest extends ApiTestCase { '/wikibase-snakformatter-valuetype-mismatch/', ]; } ], - [ function ( self $test ) { + [ static function ( self $test ) { $pid = $test->testingProperty->getId(); return [ @@ -375,7 +375,7 @@ class FormatSnakValueTest extends ApiTestCase { } protected function createPropertyWithDataTypeWithCustomDeserializer( string $dataType, callable $deserialize ): PropertyId { - $this->setTemporaryHook( 'WikibaseRepoDataTypes', function ( array &$dataTypes ) use ( $dataType, $deserialize ) { + $this->setTemporaryHook( 'WikibaseRepoDataTypes', static function ( array &$dataTypes ) use ( $dataType, $deserialize ) { $dataTypes["PT:$dataType"] = [ 'value-type' => 'string', 'deserializer-builder' => $deserialize, diff --git a/repo/tests/phpunit/includes/Api/MergeItemsTest.php b/repo/tests/phpunit/includes/Api/MergeItemsTest.php index 528761a..6cc6637 100644 --- a/repo/tests/phpunit/includes/Api/MergeItemsTest.php +++ b/repo/tests/phpunit/includes/Api/MergeItemsTest.php @@ -94,7 +94,7 @@ class MergeItemsTest extends MediaWikiIntegrationTestCase { private function getPermissionCheckers(): EntityPermissionChecker { $permissionChecker = $this->createMock( EntityPermissionChecker::class ); - $callback = function ( User $user, $permission ) { + $callback = static function ( User $user, $permission ) { if ( $user->getName() === 'UserWithoutPermission' && $permission === 'edit' ) { return Status::newFatal( 'permissiondenied' ); } else { @@ -118,7 +118,7 @@ class MergeItemsTest extends MediaWikiIntegrationTestCase { $mock->expects( $this->once() ) ->method( 'createRedirect' ) ->with( $redirect->getEntityId(), $redirect->getTargetId() ) - ->willReturnCallback( function() use ( $redirect ) { + ->willReturnCallback( static function() use ( $redirect ) { return EntityRedirectCreationStatus::newGood( [ 'entityRedirect' => $redirect, 'context' => new RequestContext(), @@ -136,7 +136,7 @@ class MergeItemsTest extends MediaWikiIntegrationTestCase { private function getEntityTitleStoreLookup(): EntityTitleStoreLookup { $entityTitleStoreLookup = $this->createMock( EntityTitleStoreLookup::class ); $entityTitleStoreLookup->method( 'getTitleForId' ) - ->willReturnCallback( function( EntityId $entityId ) { + ->willReturnCallback( static function( EntityId $entityId ) { return Title::newFromTextThrow( $entityId->getSerialization() ); } ); @@ -209,7 +209,7 @@ class MergeItemsTest extends MediaWikiIntegrationTestCase { $services->getPermissionManager() ), $errorReporter, - function ( $module ) use ( $apiResultBuilder ) { + static function ( $module ) use ( $apiResultBuilder ) { return $apiResultBuilder; }, [ 'mainItem' => 'Q100', 'auxItem' => 'Q200' ] diff --git a/repo/tests/phpunit/includes/Api/RemoveQualifiersTest.php b/repo/tests/phpunit/includes/Api/RemoveQualifiersTest.php index fff0b4f..b30b8ae 100644 --- a/repo/tests/phpunit/includes/Api/RemoveQualifiersTest.php +++ b/repo/tests/phpunit/includes/Api/RemoveQualifiersTest.php @@ -96,7 +96,7 @@ class RemoveQualifiersTest extends WikibaseApiTestCase { ); } else { $hashes = array_map( - function( Snak $qualifier ) { + static function( Snak $qualifier ) { return $qualifier->getHash(); }, iterator_to_array( $qualifiers ) @@ -127,7 +127,7 @@ class RemoveQualifiersTest extends WikibaseApiTestCase { $qualifiers = $statement->getQualifiers(); $hashes = array_map( - function( Snak $qualifier ) { + static function( Snak $qualifier ) { return $qualifier->getHash(); }, iterator_to_array( $qualifiers ) diff --git a/repo/tests/phpunit/includes/Api/RemoveReferencesTest.php b/repo/tests/phpunit/includes/Api/RemoveReferencesTest.php index 8523d14..bc5a6ab 100644 --- a/repo/tests/phpunit/includes/Api/RemoveReferencesTest.php +++ b/repo/tests/phpunit/includes/Api/RemoveReferencesTest.php @@ -97,7 +97,7 @@ class RemoveReferencesTest extends WikibaseApiTestCase { ); } else { $hashes = array_map( - function( Reference $reference ) { + static function( Reference $reference ) { return $reference->getHash(); }, iterator_to_array( $references ) @@ -127,7 +127,7 @@ class RemoveReferencesTest extends WikibaseApiTestCase { $references = $statement->getReferences(); $hashes = array_map( - function( Reference $reference ) { + static function( Reference $reference ) { return $reference->getHash(); }, iterator_to_array( $references ) diff --git a/repo/tests/phpunit/includes/Api/ResultBuilderTest.php b/repo/tests/phpunit/includes/Api/ResultBuilderTest.php index 869649c..fe9959a 100644 --- a/repo/tests/phpunit/includes/Api/ResultBuilderTest.php +++ b/repo/tests/phpunit/includes/Api/ResultBuilderTest.php @@ -68,7 +68,7 @@ class ResultBuilderTest extends \PHPUnit\Framework\TestCase { $mockPropertyDataTypeLookup = $this->createMock( PropertyDataTypeLookup::class ); $mockPropertyDataTypeLookup->method( 'getDataTypeIdForProperty' ) - ->willReturnCallback( function( NumericPropertyId $id ) { + ->willReturnCallback( static function( NumericPropertyId $id ) { return 'DtIdFor_' . $id->getSerialization(); } ); @@ -1742,7 +1742,7 @@ class ResultBuilderTest extends \PHPUnit\Framework\TestCase { ] ); $calledWithUser = null; - $resultBuilder->addTempUser( $status, function ( $user ) use ( &$calledWithUser ) { + $resultBuilder->addTempUser( $status, static function ( $user ) use ( &$calledWithUser ) { $calledWithUser = $user; return ''; } ); @@ -1768,7 +1768,7 @@ class ResultBuilderTest extends \PHPUnit\Framework\TestCase { ] ); $calledWithUser = null; - $resultBuilder->addTempUser( $status, function ( $user ) use ( &$calledWithUser ) { + $resultBuilder->addTempUser( $status, static function ( $user ) use ( &$calledWithUser ) { $calledWithUser = $user; return 'https://example.com/?foo#bar'; } ); diff --git a/repo/tests/phpunit/includes/Api/SetClaimValueTest.php b/repo/tests/phpunit/includes/Api/SetClaimValueTest.php index bb704c9..fda19fa 100644 --- a/repo/tests/phpunit/includes/Api/SetClaimValueTest.php +++ b/repo/tests/phpunit/includes/Api/SetClaimValueTest.php @@ -265,7 +265,7 @@ class SetClaimValueTest extends WikibaseApiTestCase { $options = new FormatterOptions(); $options->setOption( 'formatter-builders-text/plain', [ - 'VT:wikibase-entityid' => function() use ( $idFormatter ) { + 'VT:wikibase-entityid' => static function() use ( $idFormatter ) { return new EntityIdValueFormatter( $idFormatter ); }, ] ); diff --git a/repo/tests/phpunit/includes/Api/StatementModificationHelperTest.php b/repo/tests/phpunit/includes/Api/StatementModificationHelperTest.php index af42f3d..2b0a9fc 100644 --- a/repo/tests/phpunit/includes/Api/StatementModificationHelperTest.php +++ b/repo/tests/phpunit/includes/Api/StatementModificationHelperTest.php @@ -91,10 +91,10 @@ class StatementModificationHelperTest extends MediaWikiIntegrationTestCase { $changeOpFactoryProvider->getStatementChangeOpFactory(), $apiHelperFactory->getErrorReporter( $apiMain ), $modificationHelper, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getResultBuilder( $module ); }, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getEntitySavingHelper( $module ); }, false, @@ -207,12 +207,12 @@ class StatementModificationHelperTest extends MediaWikiIntegrationTestCase { $errorReporter = $this->createMock( ApiErrorReporter::class ); $errorReporter->method( 'dieException' ) - ->willReturnCallback( function ( $exception, $message ) { + ->willReturnCallback( static function ( $exception, $message ) { throw new RuntimeException( $message ); } ); $errorReporter->method( 'dieError' ) - ->willReturnCallback( function ( $description, $message ) { + ->willReturnCallback( static function ( $description, $message ) { throw new RuntimeException( $message ); } ); diff --git a/repo/tests/phpunit/includes/Api/WikibaseApiTestCase.php b/repo/tests/phpunit/includes/Api/WikibaseApiTestCase.php index 9216554..ee842e9 100644 --- a/repo/tests/phpunit/includes/Api/WikibaseApiTestCase.php +++ b/repo/tests/phpunit/includes/Api/WikibaseApiTestCase.php @@ -165,7 +165,7 @@ abstract class WikibaseApiTestCase extends ApiTestCase { 'normalizer-factory-callback' => function (): DataValueNormalizer { $normalizer = $this->createMock( DataValueNormalizer::class ); $normalizer->method( 'normalize' ) - ->willReturnCallback( function ( StringValue $value ): StringValue { + ->willReturnCallback( static function ( StringValue $value ): StringValue { return new StringValue( strtoupper( $value->getValue() ) ); } ); return $normalizer; diff --git a/repo/tests/phpunit/includes/BuilderBasedDataTypeValidatorFactoryTest.php b/repo/tests/phpunit/includes/BuilderBasedDataTypeValidatorFactoryTest.php index 1abe835..7f64aaa 100644 --- a/repo/tests/phpunit/includes/BuilderBasedDataTypeValidatorFactoryTest.php +++ b/repo/tests/phpunit/includes/BuilderBasedDataTypeValidatorFactoryTest.php @@ -30,7 +30,7 @@ class BuilderBasedDataTypeValidatorFactoryTest extends \PHPUnit\Framework\TestCa } public function testInvalidValidatorsArray() { - $factory = new BuilderBasedDataTypeValidatorFactory( [ 'id' => function() { + $factory = new BuilderBasedDataTypeValidatorFactory( [ 'id' => static function() { return 'invalid'; } ] ); $this->expectException( PostconditionException::class ); @@ -38,14 +38,14 @@ class BuilderBasedDataTypeValidatorFactoryTest extends \PHPUnit\Framework\TestCa } public function testEmptyValidatorsArray() { - $factory = new BuilderBasedDataTypeValidatorFactory( [ 'id' => function() { + $factory = new BuilderBasedDataTypeValidatorFactory( [ 'id' => static function() { return []; } ] ); $this->assertSame( [], $factory->getValidators( 'id' ) ); } public function testInvalidValidatorObject() { - $factory = new BuilderBasedDataTypeValidatorFactory( [ 'id' => function() { + $factory = new BuilderBasedDataTypeValidatorFactory( [ 'id' => static function() { return [ 'invalid' ]; } ] ); $this->expectException( PostconditionException::class ); @@ -55,7 +55,7 @@ class BuilderBasedDataTypeValidatorFactoryTest extends \PHPUnit\Framework\TestCa public function testGetValidators() { $validators = [ new CompositeValidator( [] ) ]; $factory = new BuilderBasedDataTypeValidatorFactory( [ - 'id' => function() use ( $validators ) { + 'id' => static function() use ( $validators ) { return $validators; }, ] ); diff --git a/repo/tests/phpunit/includes/ChangeModification/DispatchChangeVisibilityNotificationJobTest.php b/repo/tests/phpunit/includes/ChangeModification/DispatchChangeVisibilityNotificationJobTest.php index f0bab6c..08ed1fb 100644 --- a/repo/tests/phpunit/includes/ChangeModification/DispatchChangeVisibilityNotificationJobTest.php +++ b/repo/tests/phpunit/includes/ChangeModification/DispatchChangeVisibilityNotificationJobTest.php @@ -225,7 +225,7 @@ class DispatchChangeVisibilityNotificationJobTest extends MediaWikiIntegrationTe ->willReturnCallback( function ( string $wikiId ) use ( &$actualJobs ) { $jobQueueGroup = $this->createMock( JobQueueGroup::class ); $jobQueueGroup->method( 'push' ) - ->willReturnCallback( function ( array $jobs ) use ( $wikiId, &$actualJobs ) { + ->willReturnCallback( static function ( array $jobs ) use ( $wikiId, &$actualJobs ) { foreach ( $jobs as $job ) { $actualJobs[$wikiId][] = $job->getParams(); } @@ -241,7 +241,7 @@ class DispatchChangeVisibilityNotificationJobTest extends MediaWikiIntegrationTe $entityIdLookup = $this->createMock( EntityIdLookup::class ); $entityIdLookup->expects( $this->once() ) ->method( 'getEntityIdForTitle' ) - ->willReturnCallback( function ( Title $title ): EntityId { + ->willReturnCallback( static function ( Title $title ): EntityId { return ( new BasicEntityIdParser() )->parse( $title->getText() ); } ); diff --git a/repo/tests/phpunit/includes/ChangeOp/ChangeOpTestMockProvider.php b/repo/tests/phpunit/includes/ChangeOp/ChangeOpTestMockProvider.php index 5977075..488790b 100644 --- a/repo/tests/phpunit/includes/ChangeOp/ChangeOpTestMockProvider.php +++ b/repo/tests/phpunit/includes/ChangeOp/ChangeOpTestMockProvider.php @@ -162,7 +162,7 @@ class ChangeOpTestMockProvider { $mock = $this->createMock( DataTypeFactory::class ); $mock->method( 'getType' ) - ->willReturnCallback( function( $id ) use ( $types ) { + ->willReturnCallback( static function( $id ) use ( $types ) { if ( !isset( $types[$id] ) ) { throw new OutOfBoundsException( "No such type: $id" ); } @@ -192,7 +192,7 @@ class ChangeOpTestMockProvider { $mock = $this->createMock( DataTypeValidatorFactory::class ); $mock->method( 'getValidators' ) - ->willReturnCallback( function( $id ) use ( $validators ) { + ->willReturnCallback( static function( $id ) use ( $validators ) { return $validators; } ); @@ -208,7 +208,7 @@ class ChangeOpTestMockProvider { public function getMockTermValidator() { $mock = $this->createMock( ValueValidator::class ); $mock->method( 'validate' ) - ->willReturnCallback( function( $text ) { + ->willReturnCallback( static function( $text ) { if ( $text === 'INVALID' ) { $error = Error::newError( 'Invalid', '', 'test-invalid' ); return Result::newError( [ $error ] ); @@ -248,7 +248,7 @@ class ChangeOpTestMockProvider { $mock = $this->createMock( SiteLinkConflictLookup::class ); $mock->method( 'getConflictsForItem' ) - ->willReturnCallback( function ( ItemId $itemId, SiteLinkList $siteLinkList ) { + ->willReturnCallback( static function ( ItemId $itemId, SiteLinkList $siteLinkList ) { $conflicts = []; foreach ( $siteLinkList->toArray() as $link ) { diff --git a/repo/tests/phpunit/includes/ChangeOp/ChangeOpsMergeTest.php b/repo/tests/phpunit/includes/ChangeOp/ChangeOpsMergeTest.php index d3f7143..dd1688a 100644 --- a/repo/tests/phpunit/includes/ChangeOp/ChangeOpsMergeTest.php +++ b/repo/tests/phpunit/includes/ChangeOp/ChangeOpsMergeTest.php @@ -74,7 +74,7 @@ class ChangeOpsMergeTest extends MediaWikiIntegrationTestCase { // A validator which makes sure that no site link is for page 'DUPE' $siteLinkUniquenessValidator = $this->createMock( EntityValidator::class ); $siteLinkUniquenessValidator->method( 'validateEntity' ) - ->willReturnCallback( function( Item $item ) { + ->willReturnCallback( static function( Item $item ) { foreach ( $item->getSiteLinkList()->toArray() as $siteLink ) { if ( $siteLink->getPageName() === 'DUPE' ) { return Result::newError( [ Error::newError( 'SiteLink conflict' ) ] ); diff --git a/repo/tests/phpunit/includes/ChangeOp/ChangeOpsTest.php b/repo/tests/phpunit/includes/ChangeOp/ChangeOpsTest.php index 584dbf5..829f198 100644 --- a/repo/tests/phpunit/includes/ChangeOp/ChangeOpsTest.php +++ b/repo/tests/phpunit/includes/ChangeOp/ChangeOpsTest.php @@ -115,7 +115,7 @@ class ChangeOpsTest extends \PHPUnit\Framework\TestCase { $newLabel = 'newLabel'; $newDescription = 'newDescription'; - $changeOpsFactory = function ( self $self ) use ( $language, $newLabel, $newDescription ): ChangeOps { + $changeOpsFactory = static function ( self $self ) use ( $language, $newLabel, $newDescription ): ChangeOps { $validatorFactory = $self->getTermValidatorFactory(); $changeOps = new ChangeOps(); $changeOps->add( new ChangeOpLabel( $language, $newLabel, $validatorFactory ) ); @@ -193,14 +193,14 @@ class ChangeOpsTest extends \PHPUnit\Framework\TestCase { $changeOp = $this->createMock( ChangeOp::class ); $changeOp->method( 'validate' ) - ->willReturnCallback( function( Item $item ) { + ->willReturnCallback( static function( Item $item ) { // Fail when the label is already set (by a previous apply call). return $item->getFingerprint()->hasLabel( 'en' ) ? Result::newError( [] ) : Result::newSuccess(); } ); $changeOp->method( 'apply' ) - ->willReturnCallback( function( Item $item ) { + ->willReturnCallback( static function( Item $item ) { $item->setLabel( 'en', 'Label' ); } ); diff --git a/repo/tests/phpunit/includes/ChangeOp/Deserialization/AliasChangeOpDeserializationTester.php b/repo/tests/phpunit/includes/ChangeOp/Deserialization/AliasChangeOpDeserializationTester.php index dd36732..b81e145 100644 --- a/repo/tests/phpunit/includes/ChangeOp/Deserialization/AliasChangeOpDeserializationTester.php +++ b/repo/tests/phpunit/includes/ChangeOp/Deserialization/AliasChangeOpDeserializationTester.php @@ -51,7 +51,7 @@ trait AliasChangeOpDeserializationTester { $entity = $this->getEntityWithExistingAliases(); $existingAliases = $entity->getAliasGroups()->getByLanguage( 'en' )->getAliases(); $changeOp = $this->getChangeOpDeserializer()->createEntityChangeOp( [ - 'aliases' => array_map( function( $alias ) { + 'aliases' => array_map( static function( $alias ) { return [ 'language' => 'en', 'value' => $alias, 'remove' => '' ]; }, $existingAliases ), ] ); diff --git a/repo/tests/phpunit/includes/ChangeOp/Deserialization/FingerprintChangeOpDeserializerTest.php b/repo/tests/phpunit/includes/ChangeOp/Deserialization/FingerprintChangeOpDeserializerTest.php index 88ef964..c78058b 100644 --- a/repo/tests/phpunit/includes/ChangeOp/Deserialization/FingerprintChangeOpDeserializerTest.php +++ b/repo/tests/phpunit/includes/ChangeOp/Deserialization/FingerprintChangeOpDeserializerTest.php @@ -31,7 +31,7 @@ class FingerprintChangeOpDeserializerTest extends \PHPUnit\Framework\TestCase { private $aliasesChangeOpDeserializerMock; protected function setUp(): void { - $createNullChangeOpCallback = function ( $changeRequest ) { + $createNullChangeOpCallback = static function ( $changeRequest ) { return new NullChangeOp(); }; diff --git a/repo/tests/phpunit/includes/ChangeOp/Deserialization/SiteLinkBadgeChangeOpSerializationValidatorTest.php b/repo/tests/phpunit/includes/ChangeOp/Deserialization/SiteLinkBadgeChangeOpSerializationValidatorTest.php index 335ed6d..0776530 100644 --- a/repo/tests/phpunit/includes/ChangeOp/Deserialization/SiteLinkBadgeChangeOpSerializationValidatorTest.php +++ b/repo/tests/phpunit/includes/ChangeOp/Deserialization/SiteLinkBadgeChangeOpSerializationValidatorTest.php @@ -33,7 +33,7 @@ class SiteLinkBadgeChangeOpSerializationValidatorTest extends \PHPUnit\Framework ); ChangeOpDeserializationAssert::assertThrowsChangeOpDeserializationException( - function() use ( $validator, $serialization ) { + static function() use ( $validator, $serialization ) { $validator->validateBadgeSerialization( $serialization ); }, 'not-recognized-string' @@ -58,7 +58,7 @@ class SiteLinkBadgeChangeOpSerializationValidatorTest extends \PHPUnit\Framework ); ChangeOpDeserializationAssert::assertThrowsChangeOpDeserializationException( - function() use ( $validator, $serialization ) { + static function() use ( $validator, $serialization ) { $validator->validateBadgeSerialization( $serialization ); }, 'invalid-entity-id' @@ -75,7 +75,7 @@ class SiteLinkBadgeChangeOpSerializationValidatorTest extends \PHPUnit\Framework ); ChangeOpDeserializationAssert::assertThrowsChangeOpDeserializationException( - function() use ( $validator, $invalidBadgeItemId ) { + static function() use ( $validator, $invalidBadgeItemId ) { $validator->validateBadgeSerialization( [ $invalidBadgeItemId ] ); }, 'not-badge' @@ -95,7 +95,7 @@ class SiteLinkBadgeChangeOpSerializationValidatorTest extends \PHPUnit\Framework ); ChangeOpDeserializationAssert::assertThrowsChangeOpDeserializationException( - function() use ( $validator, $badgeItemId ) { + static function() use ( $validator, $badgeItemId ) { $validator->validateBadgeSerialization( [ $badgeItemId ] ); }, 'no-such-entity' @@ -119,7 +119,7 @@ class SiteLinkBadgeChangeOpSerializationValidatorTest extends \PHPUnit\Framework ); ChangeOpDeserializationAssert::assertThrowsChangeOpDeserializationException( - function() use ( $validator, $badgeItemId ) { + static function() use ( $validator, $badgeItemId ) { $validator->validateBadgeSerialization( [ $badgeItemId ] ); }, 'no-such-entity' diff --git a/repo/tests/phpunit/includes/ChangeOp/Deserialization/SiteLinksChangeOpDeserializerTest.php b/repo/tests/phpunit/includes/ChangeOp/Deserialization/SiteLinksChangeOpDeserializerTest.php index b9e481a..351ca2b 100644 --- a/repo/tests/phpunit/includes/ChangeOp/Deserialization/SiteLinksChangeOpDeserializerTest.php +++ b/repo/tests/phpunit/includes/ChangeOp/Deserialization/SiteLinksChangeOpDeserializerTest.php @@ -67,7 +67,7 @@ class SiteLinksChangeOpDeserializerTest extends \PHPUnit\Framework\TestCase { $deserializer = $this->newSiteLinksChangeOpDeserializer(); ChangeOpDeserializationAssert::assertThrowsChangeOpDeserializationException( - function() use ( $deserializer ) { + static function() use ( $deserializer ) { $deserializer->createEntityChangeOp( [ 'sitelinks' => 'foo' ] ); }, 'not-recognized-array' @@ -91,7 +91,7 @@ class SiteLinksChangeOpDeserializerTest extends \PHPUnit\Framework\TestCase { $deserializer = $this->newSiteLinksChangeOpDeserializer(); ChangeOpDeserializationAssert::assertThrowsChangeOpDeserializationException( - function() use ( $deserializer, $serialization ) { + static function() use ( $deserializer, $serialization ) { $deserializer->createEntityChangeOp( [ 'sitelinks' => [ self::SITE_ID => $serialization ] ] ); }, $expectedError @@ -102,7 +102,7 @@ class SiteLinksChangeOpDeserializerTest extends \PHPUnit\Framework\TestCase { $deserializer = $this->newSiteLinksChangeOpDeserializer(); ChangeOpDeserializationAssert::assertThrowsChangeOpDeserializationException( - function() use ( $deserializer ) { + static function() use ( $deserializer ) { $deserializer->createEntityChangeOp( [ 'sitelinks' => [ self::SITE_ID => [ 'site' => 'someotherwiki' ] ] ] ); }, 'inconsistent-site' @@ -113,7 +113,7 @@ class SiteLinksChangeOpDeserializerTest extends \PHPUnit\Framework\TestCase { $deserializer = $this->newSiteLinksChangeOpDeserializer(); ChangeOpDeserializationAssert::assertThrowsChangeOpDeserializationException( - function() use ( $deserializer ) { + static function() use ( $deserializer ) { $deserializer->createEntityChangeOp( [ 'sitelinks' => [ 'someotherwiki' => [ 'site' => 'someotherwiki' ] ] ] ); }, 'not-recognized-site' @@ -140,7 +140,7 @@ class SiteLinksChangeOpDeserializerTest extends \PHPUnit\Framework\TestCase { ); ChangeOpDeserializationAssert::assertThrowsChangeOpDeserializationException( - function() use ( $deserializer ) { + static function() use ( $deserializer ) { $deserializer->createEntityChangeOp( [ 'sitelinks' => [ self::SITE_ID => [ 'site' => self::SITE_ID, 'badges' => [ 'BAD' ] ] ] ] ); @@ -353,7 +353,7 @@ class SiteLinksChangeOpDeserializerTest extends \PHPUnit\Framework\TestCase { $deserializer = $this->newSiteLinksChangeOpDeserializer( $item ); ChangeOpDeserializationAssert::assertThrowsChangeOpDeserializationException( - function () use ( $deserializer, $item ) { + static function () use ( $deserializer, $item ) { $deserializer->createEntityChangeOp( [ 'id' => $item->getId()->getSerialization(), diff --git a/repo/tests/phpunit/includes/ChangeOp/EntityChangeOpProviderTest.php b/repo/tests/phpunit/includes/ChangeOp/EntityChangeOpProviderTest.php index 746b4e9..74e6ee5 100644 --- a/repo/tests/phpunit/includes/ChangeOp/EntityChangeOpProviderTest.php +++ b/repo/tests/phpunit/includes/ChangeOp/EntityChangeOpProviderTest.php @@ -22,7 +22,7 @@ class EntityChangeOpProviderTest extends \PHPUnit\Framework\TestCase { return [ 'not a callback as a value' => [ [ 'entity-type' => 'foo' ] ], 'not a string as a key' => [ [ - 100 => function() { + 100 => static function() { }, ] ], ]; @@ -49,7 +49,7 @@ class EntityChangeOpProviderTest extends \PHPUnit\Framework\TestCase { $deserializer = $this->getChangeOpDeserializer(); $changeOpProvider = new EntityChangeOpProvider( [ - 'entity-type' => function() use ( $deserializer ) { + 'entity-type' => static function() use ( $deserializer ) { return $deserializer; }, ] ); @@ -61,7 +61,7 @@ class EntityChangeOpProviderTest extends \PHPUnit\Framework\TestCase { public function testGivenCallbackNotReturningChangeOpDeserializer_exceptionIsThrown() { $changeOpProvider = new EntityChangeOpProvider( [ - 'entity-type' => function() { + 'entity-type' => static function() { return (object)[]; }, ] ); @@ -75,7 +75,7 @@ class EntityChangeOpProviderTest extends \PHPUnit\Framework\TestCase { $deserializer = $this->getChangeOpDeserializer(); $changeOpProvider = new EntityChangeOpProvider( [ - 'entity-type' => function() use ( $deserializer ) { + 'entity-type' => static function() use ( $deserializer ) { return $deserializer; }, ] ); diff --git a/repo/tests/phpunit/includes/Content/ContentHandlerEntityIdLookupTest.php b/repo/tests/phpunit/includes/Content/ContentHandlerEntityIdLookupTest.php index 12e1e52..146d102 100644 --- a/repo/tests/phpunit/includes/Content/ContentHandlerEntityIdLookupTest.php +++ b/repo/tests/phpunit/includes/Content/ContentHandlerEntityIdLookupTest.php @@ -56,10 +56,10 @@ class ContentHandlerEntityIdLookupTest extends MediaWikiIntegrationTestCase { 'property' => PropertyContent::CONTENT_MODEL_ID, ], [ - 'item' => function() { + 'item' => static function() { return WikibaseRepo::getItemHandler(); }, - 'property' => function() { + 'property' => static function() { return WikibaseRepo::getPropertyHandler(); }, ] diff --git a/repo/tests/phpunit/includes/Content/ContentHandlerEntityTitleLookupTest.php b/repo/tests/phpunit/includes/Content/ContentHandlerEntityTitleLookupTest.php index d9705ba..b271ea9 100644 --- a/repo/tests/phpunit/includes/Content/ContentHandlerEntityTitleLookupTest.php +++ b/repo/tests/phpunit/includes/Content/ContentHandlerEntityTitleLookupTest.php @@ -49,10 +49,10 @@ class ContentHandlerEntityTitleLookupTest extends MediaWikiIntegrationTestCase { 'property' => PropertyContent::CONTENT_MODEL_ID, ], [ - 'item' => function() { + 'item' => static function() { return WikibaseRepo::getItemHandler(); }, - 'property' => function() { + 'property' => static function() { return WikibaseRepo::getPropertyHandler(); }, ] diff --git a/repo/tests/phpunit/includes/Content/DataUpdateAdapterTest.php b/repo/tests/phpunit/includes/Content/DataUpdateAdapterTest.php index a671626..397ed90 100644 --- a/repo/tests/phpunit/includes/Content/DataUpdateAdapterTest.php +++ b/repo/tests/phpunit/includes/Content/DataUpdateAdapterTest.php @@ -23,7 +23,7 @@ class DataUpdateAdapterTest extends \PHPUnit\Framework\TestCase { $reporter->expects( $this->once() ) ->method( 'reportMessage' ); - $update = new DataUpdateAdapter( function() { + $update = new DataUpdateAdapter( static function() { throw new RuntimeException( 'Test' ); } ); $update->setExceptionHandler( new ReportingExceptionHandler( $reporter ) ); @@ -38,7 +38,7 @@ class DataUpdateAdapterTest extends \PHPUnit\Framework\TestCase { $reporter->expects( $this->once() ) ->method( 'reportMessage' ); - $update = new DataUpdateAdapter( function() { + $update = new DataUpdateAdapter( static function() { throw new DBError( null, 'db error' ); } ); $update->setExceptionHandler( new ReportingExceptionHandler( $reporter ) ); diff --git a/repo/tests/phpunit/includes/Content/EntityContentFactoryTest.php b/repo/tests/phpunit/includes/Content/EntityContentFactoryTest.php index f57ae82..8d4236b 100644 --- a/repo/tests/phpunit/includes/Content/EntityContentFactoryTest.php +++ b/repo/tests/phpunit/includes/Content/EntityContentFactoryTest.php @@ -116,10 +116,10 @@ class EntityContentFactoryTest extends MediaWikiIntegrationTestCase { 'property' => PropertyContent::CONTENT_MODEL_ID, ], [ - 'item' => function() { + 'item' => static function() { return WikibaseRepo::getItemHandler(); }, - 'property' => function() { + 'property' => static function() { return WikibaseRepo::getPropertyHandler(); }, ] diff --git a/repo/tests/phpunit/includes/Content/EntityContentTestCase.php b/repo/tests/phpunit/includes/Content/EntityContentTestCase.php index 291bb9e..7794ab1 100644 --- a/repo/tests/phpunit/includes/Content/EntityContentTestCase.php +++ b/repo/tests/phpunit/includes/Content/EntityContentTestCase.php @@ -175,7 +175,7 @@ abstract class EntityContentTestCase extends MediaWikiIntegrationTestCase { ], ], 'labels' => [ - function ( self $self ) { + static function ( self $self ) { $labeledEntityContent = $self->newBlank(); $self->setLabel( $labeledEntityContent->getEntity(), 'de', 'xyz' ); return $labeledEntityContent; diff --git a/repo/tests/phpunit/includes/Content/ItemContentTest.php b/repo/tests/phpunit/includes/Content/ItemContentTest.php index a578f42..0cbc813 100644 --- a/repo/tests/phpunit/includes/Content/ItemContentTest.php +++ b/repo/tests/phpunit/includes/Content/ItemContentTest.php @@ -95,7 +95,7 @@ class ItemContentTest extends EntityContentTestCase { $propertyHolder = new EntityInstanceHolder( Property::newFromType( 'string' ) ); - $badTitleFactory = function ( self $self ) { + $badTitleFactory = static function ( self $self ) { $badTitle = $self->createMock( Title::class ); $badTitle->method( 'getContentModel' ) ->willReturn( 'bad content model' ); @@ -372,7 +372,7 @@ class ItemContentTest extends EntityContentTestCase { ); $cases['same redir'] = [ - function ( self $self ) use ( $q10 ) { + static function ( self $self ) use ( $q10 ) { $redir = $self->newRedirect( $q10, new ItemId( 'Q17' ) ); return [ $redir, $redir ]; }, @@ -474,7 +474,7 @@ class ItemContentTest extends EntityContentTestCase { $labels1->getItem()->setLabel( 'en', 'Foo' ); $cases['same redirect'] = [ - function ( self $self ) { + static function ( self $self ) { $redir = $self->newRedirect( new ItemId( 'Q5' ), new ItemId( 'Q7' ) ); return [ $redir, $redir ]; }, diff --git a/repo/tests/phpunit/includes/Diff/BasicEntityDiffVisualizerTest.php b/repo/tests/phpunit/includes/Diff/BasicEntityDiffVisualizerTest.php index e94ca69..fec9069 100644 --- a/repo/tests/phpunit/includes/Diff/BasicEntityDiffVisualizerTest.php +++ b/repo/tests/phpunit/includes/Diff/BasicEntityDiffVisualizerTest.php @@ -93,7 +93,7 @@ class BasicEntityDiffVisualizerTest extends MediaWikiIntegrationTestCase { $mock = $this->createMock( MessageLocalizer::class ); $mock->method( 'msg' ) - ->willReturnCallback( function ( $key ) { + ->willReturnCallback( static function ( $key ) { return new RawMessage( "($key)" ); } ); diff --git a/repo/tests/phpunit/includes/Diff/ClaimDifferenceVisualizerTest.php b/repo/tests/phpunit/includes/Diff/ClaimDifferenceVisualizerTest.php index 541399b..d7c8789 100644 --- a/repo/tests/phpunit/includes/Diff/ClaimDifferenceVisualizerTest.php +++ b/repo/tests/phpunit/includes/Diff/ClaimDifferenceVisualizerTest.php @@ -37,23 +37,23 @@ class ClaimDifferenceVisualizerTest extends MediaWikiIntegrationTestCase { $instance = $this->createMock( DifferencesSnakVisualizer::class ); $instance->method( 'getPropertyAndDetailedValue' ) - ->willReturnCallback( function( PropertyValueSnak $snak ) { + ->willReturnCallback( static function( PropertyValueSnak $snak ) { return $snak->getPropertyId()->getSerialization() . ': ' . $snak->getDataValue()->getValue() . ' (DETAILED)'; } ); $instance->method( 'getDetailedValue' ) - ->willReturnCallback( function( ?PropertyValueSnak $snak ) { + ->willReturnCallback( static function( ?PropertyValueSnak $snak ) { return $snak === null ? null : $snak->getDataValue()->getValue() . ' (DETAILED)'; } ); $instance->method( 'getPropertyHeader' ) - ->willReturnCallback( function( Snak $snak ) { + ->willReturnCallback( static function( Snak $snak ) { return 'property / ' . $snak->getPropertyId()->getSerialization(); } ); $instance->method( 'getPropertyAndValueHeader' ) - ->willReturnCallback( function( PropertyValueSnak $snak ) { + ->willReturnCallback( static function( PropertyValueSnak $snak ) { return 'property / ' . $snak->getPropertyId()->getSerialization() . ': ' . $snak->getDataValue()->getValue(); } ); diff --git a/repo/tests/phpunit/includes/Diff/DispatchingEntityDiffVisualizerTest.php b/repo/tests/phpunit/includes/Diff/DispatchingEntityDiffVisualizerTest.php index c532b5e..18d0310 100644 --- a/repo/tests/phpunit/includes/Diff/DispatchingEntityDiffVisualizerTest.php +++ b/repo/tests/phpunit/includes/Diff/DispatchingEntityDiffVisualizerTest.php @@ -34,10 +34,10 @@ class DispatchingEntityDiffVisualizerTest extends \PHPUnit\Framework\TestCase { ->willReturn( 'PrOPERTY DIFF' ); $factory = $this->newFactory( [ - 'item' => function () use ( $itemVisualizer ) { + 'item' => static function () use ( $itemVisualizer ) { return $itemVisualizer; }, - 'property' => function () use ( $propertyVisualizer ) { + 'property' => static function () use ( $propertyVisualizer ) { return $propertyVisualizer; }, ] ); diff --git a/repo/tests/phpunit/includes/Diff/EntityDiffVisualizerFactoryTest.php b/repo/tests/phpunit/includes/Diff/EntityDiffVisualizerFactoryTest.php index dc3c02d..609f597 100644 --- a/repo/tests/phpunit/includes/Diff/EntityDiffVisualizerFactoryTest.php +++ b/repo/tests/phpunit/includes/Diff/EntityDiffVisualizerFactoryTest.php @@ -44,7 +44,7 @@ class EntityDiffVisualizerFactoryTest extends \PHPUnit\Framework\TestCase { $dummyVisualizer = $this->createMock( EntityDiffVisualizer::class ); $factory = $this->newFactory( [ - 'item' => function () use ( $dummyVisualizer ) { + 'item' => static function () use ( $dummyVisualizer ) { return $dummyVisualizer; }, ] ); @@ -54,7 +54,7 @@ class EntityDiffVisualizerFactoryTest extends \PHPUnit\Framework\TestCase { public function testGivenInstantiatorDoesReturnDiffVisualizer_factoryThrowsException() { $factory = $this->newFactory( [ - 'item' => function () { + 'item' => static function () { return 'WOOO'; }, ] ); @@ -76,7 +76,7 @@ class EntityDiffVisualizerFactoryTest extends \PHPUnit\Framework\TestCase { public static function provideInvalidConstructorArgs(): iterable { return [ [ 'non-string key' => [ - 123 => function () { + 123 => static function () { throw new \Exception( 'this should never be called' ); }, ] ], diff --git a/repo/tests/phpunit/includes/Diff/ItemDiffVisualizerTest.php b/repo/tests/phpunit/includes/Diff/ItemDiffVisualizerTest.php index 3bf0992..b5aa959 100644 --- a/repo/tests/phpunit/includes/Diff/ItemDiffVisualizerTest.php +++ b/repo/tests/phpunit/includes/Diff/ItemDiffVisualizerTest.php @@ -87,7 +87,7 @@ class ItemDiffVisualizerTest extends MediaWikiIntegrationTestCase { $mock = $this->createMock( MessageLocalizer::class ); $mock->method( 'msg' ) - ->willReturnCallback( function ( $key ) { + ->willReturnCallback( static function ( $key ) { return new RawMessage( "($key)" ); } ); diff --git a/repo/tests/phpunit/includes/Dumpers/JsonDataTypeInjectorTest.php b/repo/tests/phpunit/includes/Dumpers/JsonDataTypeInjectorTest.php index c7e7692..dc79232 100644 --- a/repo/tests/phpunit/includes/Dumpers/JsonDataTypeInjectorTest.php +++ b/repo/tests/phpunit/includes/Dumpers/JsonDataTypeInjectorTest.php @@ -124,7 +124,7 @@ class JsonDataTypeInjectorTest extends TestCase { private function getMockPropertyDataTypeLookup() { $mockDataTypeLookup = $this->createMock( PropertyDataTypeLookup::class ); $mockDataTypeLookup->method( 'getDataTypeIdForProperty' ) - ->willReturnCallback( function( PropertyId $id ) { + ->willReturnCallback( static function( PropertyId $id ) { return 'DtIdFor_' . $id->getSerialization(); } ); return $mockDataTypeLookup; diff --git a/repo/tests/phpunit/includes/Dumpers/JsonDumpGeneratorTest.php b/repo/tests/phpunit/includes/Dumpers/JsonDumpGeneratorTest.php index a7a16da..99d05ae 100644 --- a/repo/tests/phpunit/includes/Dumpers/JsonDumpGeneratorTest.php +++ b/repo/tests/phpunit/includes/Dumpers/JsonDumpGeneratorTest.php @@ -116,7 +116,7 @@ class JsonDumpGeneratorTest extends \PHPUnit\Framework\TestCase { $entityRevisionLookup = $this->createMock( EntityRevisionLookup::class ); $entityRevisionLookup->method( 'getEntityRevision' ) - ->willReturnCallback( function( EntityId $id ) use ( $entityRevisions, $missingIds, $redirectedIds ) { + ->willReturnCallback( static function( EntityId $id ) use ( $entityRevisions, $missingIds, $redirectedIds ) { if ( in_array( $id, $missingIds ) ) { return null; } @@ -271,7 +271,7 @@ class JsonDumpGeneratorTest extends \PHPUnit\Framework\TestCase { private function getEntityRevisionLookupThrows( Exception $ex ) { $entityRevisionLookup = $this->createMock( EntityRevisionLookup::class ); $entityRevisionLookup->method( 'getEntityRevision' ) - ->willReturnCallback( function( EntityId $id ) use ( $ex ) { + ->willReturnCallback( static function( EntityId $id ) use ( $ex ) { throw $ex; } ); @@ -382,7 +382,7 @@ class JsonDumpGeneratorTest extends \PHPUnit\Framework\TestCase { $actualIds = array_merge( $actualIds, $shardIds ); } - $expectedIds = array_map( function( EntityId $id ) { + $expectedIds = array_map( static function( EntityId $id ) { return $id->getSerialization(); }, $ids ); diff --git a/repo/tests/phpunit/includes/Dumpers/RdfDumpGeneratorTest.php b/repo/tests/phpunit/includes/Dumpers/RdfDumpGeneratorTest.php index 22226e2..91f7856 100644 --- a/repo/tests/phpunit/includes/Dumpers/RdfDumpGeneratorTest.php +++ b/repo/tests/phpunit/includes/Dumpers/RdfDumpGeneratorTest.php @@ -235,7 +235,7 @@ class RdfDumpGeneratorTest extends MediaWikiIntegrationTestCase { */ private function getStubRdfBuilderFactoryCallbacks(): array { return [ - 'property' => function( + 'property' => static function( RdfVocabulary $vocabulary, RdfWriter $writer ) { @@ -280,7 +280,7 @@ class RdfDumpGeneratorTest extends MediaWikiIntegrationTestCase { $entityRevisionLookup = $this->createMock( EntityRevisionLookup::class ); $entityRevisionLookup->method( 'getEntityRevision' ) - ->willReturnCallback( function( EntityId $id ) use ( $entityRevisions, $redirects ) { + ->willReturnCallback( static function( EntityId $id ) use ( $entityRevisions, $redirects ) { $key = $id->getSerialization(); if ( isset( $redirects[$key] ) ) { diff --git a/repo/tests/phpunit/includes/EntityReferenceExtractors/EntityReferenceExtractorDelegatorTest.php b/repo/tests/phpunit/includes/EntityReferenceExtractors/EntityReferenceExtractorDelegatorTest.php index 7e28b81..eb79ca9 100644 --- a/repo/tests/phpunit/includes/EntityReferenceExtractors/EntityReferenceExtractorDelegatorTest.php +++ b/repo/tests/phpunit/includes/EntityReferenceExtractors/EntityReferenceExtractorDelegatorTest.php @@ -41,7 +41,7 @@ class EntityReferenceExtractorDelegatorTest extends TestCase { 'property' => function () { $this->fail( 'This should not be called' ); }, - 'item' => function () use ( $mockEntityReferenceExtractor ) { + 'item' => static function () use ( $mockEntityReferenceExtractor ) { return $mockEntityReferenceExtractor; }, ], $this->createMock( StatementEntityReferenceExtractor::class ) ); @@ -82,7 +82,7 @@ class EntityReferenceExtractorDelegatorTest extends TestCase { return [ [ [ 'string', 'string' ] ], [ [ 1, 2, 3 ] ], - [ [ function () { + [ [ static function () { }, null ] ], ]; } diff --git a/repo/tests/phpunit/includes/EntityReferenceExtractors/StatementEntityReferenceExtractorTest.php b/repo/tests/phpunit/includes/EntityReferenceExtractors/StatementEntityReferenceExtractorTest.php index dc5a3bc..9e81e16 100644 --- a/repo/tests/phpunit/includes/EntityReferenceExtractors/StatementEntityReferenceExtractorTest.php +++ b/repo/tests/phpunit/includes/EntityReferenceExtractors/StatementEntityReferenceExtractorTest.php @@ -106,7 +106,7 @@ class StatementEntityReferenceExtractorTest extends TestCase { private function getMockEntityIdParser() { $entityIdParser = $this->createMock( SuffixEntityIdParser::class ); $entityIdParser->method( 'parse' ) - ->willReturnCallback( function ( $id ) { + ->willReturnCallback( static function ( $id ) { return new ItemId( substr( $id, strlen( self::UNIT_PREFIX ) ) ); diff --git a/repo/tests/phpunit/includes/EntityTypesTest.php b/repo/tests/phpunit/includes/EntityTypesTest.php index 7f05768..03a9e1e 100644 --- a/repo/tests/phpunit/includes/EntityTypesTest.php +++ b/repo/tests/phpunit/includes/EntityTypesTest.php @@ -26,7 +26,7 @@ class EntityTypesTest extends \PHPUnit\Framework\TestCase { public static function provideEntityTypes() { return array_map( - function( $entityType ) { + static function( $entityType ) { return [ $entityType ]; }, array_keys( self::getRegistry() ) diff --git a/repo/tests/phpunit/includes/FederatedProperties/Api/RemoveClaimsTest.php b/repo/tests/phpunit/includes/FederatedProperties/Api/RemoveClaimsTest.php index 252a425..f5154bd 100644 --- a/repo/tests/phpunit/includes/FederatedProperties/Api/RemoveClaimsTest.php +++ b/repo/tests/phpunit/includes/FederatedProperties/Api/RemoveClaimsTest.php @@ -47,7 +47,7 @@ class RemoveClaimsTest extends FederatedPropertiesApiTestCase { $params = [ 'action' => 'wbremoveclaims', - 'claim' => implode( '|', array_map( function( $statement ) { + 'claim' => implode( '|', array_map( static function( $statement ) { return $statement->getGuid(); }, $statements ) ), ]; diff --git a/repo/tests/phpunit/includes/FederatedProperties/Api/RemoveQualifiersTest.php b/repo/tests/phpunit/includes/FederatedProperties/Api/RemoveQualifiersTest.php index d17ef25..501396b 100644 --- a/repo/tests/phpunit/includes/FederatedProperties/Api/RemoveQualifiersTest.php +++ b/repo/tests/phpunit/includes/FederatedProperties/Api/RemoveQualifiersTest.php @@ -43,7 +43,7 @@ class RemoveQualifiersTest extends FederatedPropertiesApiTestCase { $entity->getStatements()->addStatement( $statement ); $hashes = array_map( - function( Snak $qualifier ) { + static function( Snak $qualifier ) { return $qualifier->getHash(); }, iterator_to_array( $statement->getQualifiers() ) diff --git a/repo/tests/phpunit/includes/FederatedProperties/ApiEntitySearchHelperTest.php b/repo/tests/phpunit/includes/FederatedProperties/ApiEntitySearchHelperTest.php index 7d780d0..29c058d 100644 --- a/repo/tests/phpunit/includes/FederatedProperties/ApiEntitySearchHelperTest.php +++ b/repo/tests/phpunit/includes/FederatedProperties/ApiEntitySearchHelperTest.php @@ -223,7 +223,7 @@ class ApiEntitySearchHelperTest extends TestCase { } private function getResponseDataForId( array $searchResponses, $resultId ) { - $searchResponses = array_filter( $searchResponses, function ( $response ) use ( $resultId ) { + $searchResponses = array_filter( $searchResponses, static function ( $response ) use ( $resultId ) { return $response->id === $resultId; } ); if ( count( $searchResponses ) > 1 ) { diff --git a/repo/tests/phpunit/includes/FederatedProperties/ParserOutput/FederatedPropertiesPrefetchingEntityParserOutputGeneratorDecoratorTest.php b/repo/tests/phpunit/includes/FederatedProperties/ParserOutput/FederatedPropertiesPrefetchingEntityParserOutputGeneratorDecoratorTest.php index e6d436c..7e8524e 100644 --- a/repo/tests/phpunit/includes/FederatedProperties/ParserOutput/FederatedPropertiesPrefetchingEntityParserOutputGeneratorDecoratorTest.php +++ b/repo/tests/phpunit/includes/FederatedProperties/ParserOutput/FederatedPropertiesPrefetchingEntityParserOutputGeneratorDecoratorTest.php @@ -83,10 +83,10 @@ class FederatedPropertiesPrefetchingEntityParserOutputGeneratorDecoratorTest ext ) use ( $expectedIds ) { - $expectedIdStrings = array_map( function( EntityId $id ) { + $expectedIdStrings = array_map( static function( EntityId $id ) { return $id->getSerialization(); }, $expectedIds ); - $entityIdStrings = array_map( function( EntityId $id ) { + $entityIdStrings = array_map( static function( EntityId $id ) { return $id->getSerialization(); }, $entityIds ); diff --git a/repo/tests/phpunit/includes/Hooks/DifferenceEngineViewHeaderHookHandlerTest.php b/repo/tests/phpunit/includes/Hooks/DifferenceEngineViewHeaderHookHandlerTest.php index 3bea232..3b66032 100644 --- a/repo/tests/phpunit/includes/Hooks/DifferenceEngineViewHeaderHookHandlerTest.php +++ b/repo/tests/phpunit/includes/Hooks/DifferenceEngineViewHeaderHookHandlerTest.php @@ -170,12 +170,12 @@ class DifferenceEngineViewHeaderHookHandlerTest extends TestCase { } private function getRevisionRecords() { - $availableProperties = array_map( function( $snak ) { + $availableProperties = array_map( static function( $snak ) { return $snak->getPropertyId(); }, $this->entity->getStatements()->getAllSnaks() ); $i = 100; - $rows = array_map( function ( $prop ) use ( &$i ) { + $rows = array_map( static function ( $prop ) use ( &$i ) { $i++; $object = new MutableRevisionRecord( Title::newFromTextThrow( $prop->getSerialization() ) ); $object->setComment( new CommentStoreComment( diff --git a/repo/tests/phpunit/includes/Hooks/EditFilterHookRunnerTest.php b/repo/tests/phpunit/includes/Hooks/EditFilterHookRunnerTest.php index 84e90c8..9a7dc0b 100644 --- a/repo/tests/phpunit/includes/Hooks/EditFilterHookRunnerTest.php +++ b/repo/tests/phpunit/includes/Hooks/EditFilterHookRunnerTest.php @@ -40,7 +40,7 @@ class EditFilterHookRunnerTest extends MediaWikiIntegrationTestCase { $entityTitleLookup = $this->createMock( EntityTitleStoreLookup::class ); $entityTitleLookup->method( 'getTitleForId' ) - ->willReturnCallback( function( EntityId $id ) { + ->willReturnCallback( static function( EntityId $id ) { return Title::newFromTextThrow( $id->getSerialization(), NS_MAIN ); } ); diff --git a/repo/tests/phpunit/includes/Hooks/Formatters/EntityLinkFormatterFactoryTest.php b/repo/tests/phpunit/includes/Hooks/Formatters/EntityLinkFormatterFactoryTest.php index 4277bff..3e7ce64 100644 --- a/repo/tests/phpunit/includes/Hooks/Formatters/EntityLinkFormatterFactoryTest.php +++ b/repo/tests/phpunit/includes/Hooks/Formatters/EntityLinkFormatterFactoryTest.php @@ -94,7 +94,7 @@ class EntityLinkFormatterFactoryTest extends MediaWikiIntegrationTestCase { [ [ 'asdf' ] ], [ [ 1, 2, 3 ] ], [ [ - 'foo' => function () { + 'foo' => static function () { }, 'bar' => null, ] ], diff --git a/repo/tests/phpunit/includes/Hooks/HtmlPageLinkRendererEndHookHandlerTestBase.php b/repo/tests/phpunit/includes/Hooks/HtmlPageLinkRendererEndHookHandlerTestBase.php index 722b005..c8d851e 100644 --- a/repo/tests/phpunit/includes/Hooks/HtmlPageLinkRendererEndHookHandlerTestBase.php +++ b/repo/tests/phpunit/includes/Hooks/HtmlPageLinkRendererEndHookHandlerTestBase.php @@ -125,10 +125,10 @@ abstract class HtmlPageLinkRendererEndHookHandlerTestBase extends MediaWikiLangT $languageFactory = $this->getServiceContainer()->getLanguageFactory(); return new EntityLinkFormatterFactory( $titleTextLookup, $languageFactory, [ - 'item' => function( $language ) use ( $titleTextLookup, $languageFactory ) { + 'item' => static function( $language ) use ( $titleTextLookup, $languageFactory ) { return new DefaultEntityLinkFormatter( $language, $titleTextLookup, $languageFactory ); }, - 'property' => function( $language ) use ( $titleTextLookup, $languageFactory ) { + 'property' => static function( $language ) use ( $titleTextLookup, $languageFactory ) { return new DefaultEntityLinkFormatter( $language, $titleTextLookup, $languageFactory ); }, ] ); @@ -179,7 +179,7 @@ abstract class HtmlPageLinkRendererEndHookHandlerTestBase extends MediaWikiLangT $termLookup = $this->createMock( TermLookup::class ); $termLookup->method( 'getLabels' ) - ->willReturnCallback( function ( EntityId $id ) { + ->willReturnCallback( static function ( EntityId $id ) { switch ( $id->getSerialization() ) { case self::ITEM_WITH_LABEL: case self::ITEM_LABEL_NO_DESCRIPTION: @@ -198,7 +198,7 @@ abstract class HtmlPageLinkRendererEndHookHandlerTestBase extends MediaWikiLangT } ); $termLookup->method( 'getDescriptions' ) - ->willReturnCallback( function ( EntityId $id ) { + ->willReturnCallback( static function ( EntityId $id ) { switch ( $id->getSerialization() ) { case self::ITEM_WITH_LABEL: return [ 'en' => self::DUMMY_DESCRIPTION ]; @@ -234,7 +234,7 @@ abstract class HtmlPageLinkRendererEndHookHandlerTestBase extends MediaWikiLangT private function getInterwikiLookup() { $lookup = $this->createMock( InterwikiLookup::class ); $lookup->method( 'isValidInterwiki' ) - ->willReturnCallback( function( $interwiki ) { + ->willReturnCallback( static function( $interwiki ) { return $interwiki === self::FOREIGN_REPO_PREFIX; } ); return $lookup; diff --git a/repo/tests/phpunit/includes/Hooks/LabelPrefetchHookHandlerTest.php b/repo/tests/phpunit/includes/Hooks/LabelPrefetchHookHandlerTest.php index bce5cc6..3243550 100644 --- a/repo/tests/phpunit/includes/Hooks/LabelPrefetchHookHandlerTest.php +++ b/repo/tests/phpunit/includes/Hooks/LabelPrefetchHookHandlerTest.php @@ -123,10 +123,10 @@ class LabelPrefetchHookHandlerTest extends TestCase { $expectedTermTypes, $expectedLanguageCodes ) { - $expectedIdStrings = array_map( function( EntityId $id ) { + $expectedIdStrings = array_map( static function( EntityId $id ) { return $id->getSerialization(); }, $expectedIds ); - $entityIdStrings = array_map( function( EntityId $id ) { + $entityIdStrings = array_map( static function( EntityId $id ) { return $id->getSerialization(); }, $entityIds ); diff --git a/repo/tests/phpunit/includes/Hooks/PageHistoryPagerHookHandlerTest.php b/repo/tests/phpunit/includes/Hooks/PageHistoryPagerHookHandlerTest.php index b6d14ff..831d4e7 100644 --- a/repo/tests/phpunit/includes/Hooks/PageHistoryPagerHookHandlerTest.php +++ b/repo/tests/phpunit/includes/Hooks/PageHistoryPagerHookHandlerTest.php @@ -90,12 +90,12 @@ class PageHistoryPagerHookHandlerTest extends TestCase { } private function setupResultWithSummaries( StatementList $statementList ) { - $availableProperties = array_map( function( $snak ) { + $availableProperties = array_map( static function( $snak ) { return $snak->getPropertyId(); }, $statementList->getAllSnaks() ); $i = 0; - $summaries = array_map( function ( $prop ) use ( &$i ) { + $summaries = array_map( static function ( $prop ) use ( &$i ) { $i++; $object = (object)[ 'rev_comment_text' => "/* wbsetclaim-update:1||1 */ [[Property:{$prop->getSerialization()}]]: foo [[Q$i]] bar.", diff --git a/repo/tests/phpunit/includes/Hooks/RecentChangeSaveHookHandlerTest.php b/repo/tests/phpunit/includes/Hooks/RecentChangeSaveHookHandlerTest.php index d906598..69eeac9 100644 --- a/repo/tests/phpunit/includes/Hooks/RecentChangeSaveHookHandlerTest.php +++ b/repo/tests/phpunit/includes/Hooks/RecentChangeSaveHookHandlerTest.php @@ -52,7 +52,7 @@ class RecentChangeSaveHookHandlerTest extends MediaWikiIntegrationTestCase { $this->changeHolder = new ChangeHolder(); $this->changeStore = $this->createStub( ChangeStore::class ); - $this->changeStore->method( 'saveChange' )->willReturnCallback( function ( $change ) { + $this->changeStore->method( 'saveChange' )->willReturnCallback( static function ( $change ) { $change->setField( 'id', 123 ); } ); $this->centralIdLookup = null; // CentralIdLookupFactory::getNonLocalLookup() may return null in the hook's factory function @@ -308,7 +308,7 @@ class RecentChangeSaveHookHandlerTest extends MediaWikiIntegrationTestCase { private function newStubRecentChangeWithAttributes( array $attributes ): RecentChange { $rc = $this->createStub( RecentChange::class ); $rc->method( 'getAttribute' ) - ->willReturnCallback( function ( $key ) use ( $attributes ) { + ->willReturnCallback( static function ( $key ) use ( $attributes ) { return $attributes[$key] ?? null; } ); diff --git a/repo/tests/phpunit/includes/Hooks/ShowSearchHitHandlerTest.php b/repo/tests/phpunit/includes/Hooks/ShowSearchHitHandlerTest.php index daa3e7a..cc2bfe9 100644 --- a/repo/tests/phpunit/includes/Hooks/ShowSearchHitHandlerTest.php +++ b/repo/tests/phpunit/includes/Hooks/ShowSearchHitHandlerTest.php @@ -51,7 +51,7 @@ class ShowSearchHitHandlerTest extends MediaWikiIntegrationTestCase { $searchPage = $this->createMock( SpecialSearch::class ); $searchPage->method( 'msg' ) ->willReturnCallback( - function ( ...$args ) { + static function ( ...$args ) { return new RawMessage( implode( ",", $args ) ); } ); @@ -123,7 +123,7 @@ class ShowSearchHitHandlerTest extends MediaWikiIntegrationTestCase { $entityIdLookup = $this->createMock( EntityIdLookup::class ); $entityIdLookup->method( 'getEntityIdForTitle' ) - ->willReturnCallback( function( Title $title ) { + ->willReturnCallback( static function( Title $title ) { if ( preg_match( '/^Q(\d+)$/', $title->getText(), $m ) ) { return new ItemId( $m[0] ); } @@ -171,7 +171,7 @@ class ShowSearchHitHandlerTest extends MediaWikiIntegrationTestCase { $mock->method( 'getFetchLanguageCodes' ) ->willReturn( $languages ); $mock->method( 'extractPreferredValue' ) - ->willReturnCallback( function ( $sourceData ) use ( $languages ) { + ->willReturnCallback( static function ( $sourceData ) use ( $languages ) { foreach ( $languages as $language ) { if ( isset( $sourceData[$language] ) ) { return [ 'language' => $language, 'value' => $sourceData[$language] ]; @@ -190,7 +190,7 @@ class ShowSearchHitHandlerTest extends MediaWikiIntegrationTestCase { $entityLookup = $this->createMock( EntityLookup::class ); if ( isset( $entities ) ) { $entityLookup->method( 'getEntity' ) - ->willReturnCallback( function ( ItemId $id ) use ( $entities ) { + ->willReturnCallback( static function ( ItemId $id ) use ( $entities ) { $key = $id->getSerialization(); return $entities[$key]; } ); diff --git a/repo/tests/phpunit/includes/Hooks/SummaryParsingPrefetchHelperTest.php b/repo/tests/phpunit/includes/Hooks/SummaryParsingPrefetchHelperTest.php index 4ff1ea2..40dc9a1 100644 --- a/repo/tests/phpunit/includes/Hooks/SummaryParsingPrefetchHelperTest.php +++ b/repo/tests/phpunit/includes/Hooks/SummaryParsingPrefetchHelperTest.php @@ -61,7 +61,7 @@ class SummaryParsingPrefetchHelperTest extends TestCase { $this->assertSameSize( $expected, $actualOutput ); - $stringOutput = array_map( function ( $propId ) { + $stringOutput = array_map( static function ( $propId ) { return $propId->getSerialization(); }, $actualOutput ); diff --git a/repo/tests/phpunit/includes/IO/EntityIdReaderTest.php b/repo/tests/phpunit/includes/IO/EntityIdReaderTest.php index d473910..a210907 100644 --- a/repo/tests/phpunit/includes/IO/EntityIdReaderTest.php +++ b/repo/tests/phpunit/includes/IO/EntityIdReaderTest.php @@ -33,7 +33,7 @@ class EntityIdReaderTest extends \PHPUnit\Framework\TestCase { } protected function getIdStrings( array $entityIds ) { - return array_map( function( EntityId $id ) { + return array_map( static function( EntityId $id ) { return $id->getSerialization(); }, $entityIds ); } diff --git a/repo/tests/phpunit/includes/Interactors/ItemMergeInteractorTest.php b/repo/tests/phpunit/includes/Interactors/ItemMergeInteractorTest.php index c9f07c3..a0e0e41 100644 --- a/repo/tests/phpunit/includes/Interactors/ItemMergeInteractorTest.php +++ b/repo/tests/phpunit/includes/Interactors/ItemMergeInteractorTest.php @@ -100,7 +100,7 @@ class ItemMergeInteractorTest extends MediaWikiIntegrationTestCase { private function getPermissionChecker(): EntityPermissionChecker { $permissionChecker = $this->createMock( EntityPermissionChecker::class ); - $callback = function ( User $user ) { + $callback = static function ( User $user ) { if ( $user->getName() === self::USER_NAME_WITHOUT_PERMISSION ) { return Status::newFatal( 'permissiondenied' ); } else { diff --git a/repo/tests/phpunit/includes/Interactors/RedirectCreationInteractorTest.php b/repo/tests/phpunit/includes/Interactors/RedirectCreationInteractorTest.php index fc0e835..610ffeb 100644 --- a/repo/tests/phpunit/includes/Interactors/RedirectCreationInteractorTest.php +++ b/repo/tests/phpunit/includes/Interactors/RedirectCreationInteractorTest.php @@ -72,7 +72,7 @@ class RedirectCreationInteractorTest extends \PHPUnit\Framework\TestCase { $permissionChecker = $this->createMock( EntityPermissionChecker::class ); $permissionChecker->method( 'getPermissionStatusForEntityId' ) - ->willReturnCallback( function( User $user ) { + ->willReturnCallback( static function( User $user ) { $userWithoutPermissionName = 'UserWithoutPermission'; if ( $user->getName() === $userWithoutPermissionName ) { diff --git a/repo/tests/phpunit/includes/Interactors/TokenCheckInteractorTest.php b/repo/tests/phpunit/includes/Interactors/TokenCheckInteractorTest.php index b9a0218..9e27294 100644 --- a/repo/tests/phpunit/includes/Interactors/TokenCheckInteractorTest.php +++ b/repo/tests/phpunit/includes/Interactors/TokenCheckInteractorTest.php @@ -27,7 +27,7 @@ class TokenCheckInteractorTest extends \PHPUnit\Framework\TestCase { $user = $this->createMock( User::class ); $user->method( 'matchEditToken' ) ->willReturnCallback( - function ( $token ) { + static function ( $token ) { return $token === 'VALID'; } ); diff --git a/repo/tests/phpunit/includes/LinkedData/EntityDataRequestHandlerTest.php b/repo/tests/phpunit/includes/LinkedData/EntityDataRequestHandlerTest.php index 9ebef21..f741a96 100644 --- a/repo/tests/phpunit/includes/LinkedData/EntityDataRequestHandlerTest.php +++ b/repo/tests/phpunit/includes/LinkedData/EntityDataRequestHandlerTest.php @@ -111,7 +111,7 @@ class EntityDataRequestHandlerTest extends MediaWikiIntegrationTestCase { $entityTitleStoreLookup = $this->createMock( EntityTitleStoreLookup::class ); $entityTitleStoreLookup->method( 'getTitleForId' ) - ->willReturnCallback( function( EntityId $id ) { + ->willReturnCallback( static function( EntityId $id ) { return Title::newFromTextThrow( $id->getEntityType() . ':' . $id->getSerialization() ); } ); diff --git a/repo/tests/phpunit/includes/LinkedData/EntityDataSerializationServiceTest.php b/repo/tests/phpunit/includes/LinkedData/EntityDataSerializationServiceTest.php index d47d1b8..d5ea0cc 100644 --- a/repo/tests/phpunit/includes/LinkedData/EntityDataSerializationServiceTest.php +++ b/repo/tests/phpunit/includes/LinkedData/EntityDataSerializationServiceTest.php @@ -96,7 +96,7 @@ class EntityDataSerializationServiceTest extends MediaWikiIntegrationTestCase { $entityTitleStoreLookup = $this->createMock( EntityTitleStoreLookup::class ); $entityTitleStoreLookup->method( 'getTitleForId' ) - ->willReturnCallback( function( EntityId $id ) { + ->willReturnCallback( static function( EntityId $id ) { return Title::newFromTextThrow( $id->getEntityType() . ':' . $id->getSerialization() ); } ); @@ -453,7 +453,7 @@ class EntityDataSerializationServiceTest extends MediaWikiIntegrationTestCase { private function getMockPropertyDataTypeLookup(): PropertyDataTypeLookup { $mockDataTypeLookup = $this->createMock( PropertyDataTypeLookup::class ); $mockDataTypeLookup->method( 'getDataTypeIdForProperty' ) - ->willReturnCallback( function( NumericPropertyId $id ) { + ->willReturnCallback( static function( NumericPropertyId $id ) { if ( $id->getSerialization() === 'P999' ) { throw new PropertyDataTypeLookupException( $id ); } diff --git a/repo/tests/phpunit/includes/LinkedData/EntityDataUriManagerTest.php b/repo/tests/phpunit/includes/LinkedData/EntityDataUriManagerTest.php index 71d54fb..db4e4f3 100644 --- a/repo/tests/phpunit/includes/LinkedData/EntityDataUriManagerTest.php +++ b/repo/tests/phpunit/includes/LinkedData/EntityDataUriManagerTest.php @@ -26,7 +26,7 @@ class EntityDataUriManagerTest extends MediaWikiIntegrationTestCase { protected function makeUriManager() { $titleLookup = $this->createMock( EntityTitleLookup::class ); $titleLookup->method( 'getTitleForId' ) - ->willReturnCallback( function( EntityId $id ) { + ->willReturnCallback( static function( EntityId $id ) { return Title::newFromTextThrow( $id->getEntityType() . ':' . $id->getSerialization() ); } ); diff --git a/repo/tests/phpunit/includes/Localizer/ChangeOpValidationExceptionLocalizerTest.php b/repo/tests/phpunit/includes/Localizer/ChangeOpValidationExceptionLocalizerTest.php index fbca0a4..a393a5c 100644 --- a/repo/tests/phpunit/includes/Localizer/ChangeOpValidationExceptionLocalizerTest.php +++ b/repo/tests/phpunit/includes/Localizer/ChangeOpValidationExceptionLocalizerTest.php @@ -72,7 +72,7 @@ class ChangeOpValidationExceptionLocalizerTest extends \PHPUnit\Framework\TestCa $mock = $this->createMock( ValueFormatter::class ); $mock->method( 'format' ) ->willReturnCallback( - function ( $param ) { + static function ( $param ) { if ( is_array( $param ) ) { $param = implode( '|', $param ); } diff --git a/repo/tests/phpunit/includes/Localizer/MessageParameterFormatterTest.php b/repo/tests/phpunit/includes/Localizer/MessageParameterFormatterTest.php index 96e1d33..2bd9a85 100644 --- a/repo/tests/phpunit/includes/Localizer/MessageParameterFormatterTest.php +++ b/repo/tests/phpunit/includes/Localizer/MessageParameterFormatterTest.php @@ -66,7 +66,7 @@ class MessageParameterFormatterTest extends \PHPUnit\Framework\TestCase { $mock = $this->createMock( ValueFormatter::class ); $mock->method( 'format' ) ->willReturnCallback( - function ( DataValue $param ) { + static function ( DataValue $param ) { $class = get_class( $param ); $value = $param->getArrayValue(); @@ -84,7 +84,7 @@ class MessageParameterFormatterTest extends \PHPUnit\Framework\TestCase { $mock = $this->createMock( EntityIdFormatter::class ); $mock->method( 'formatEntityId' ) ->willReturnCallback( - function ( EntityId $id ) { + static function ( EntityId $id ) { return '[[ENTITYID]]'; } ); diff --git a/repo/tests/phpunit/includes/Merge/StatementsMergerTest.php b/repo/tests/phpunit/includes/Merge/StatementsMergerTest.php index d5b8cc0..c84390b 100644 --- a/repo/tests/phpunit/includes/Merge/StatementsMergerTest.php +++ b/repo/tests/phpunit/includes/Merge/StatementsMergerTest.php @@ -151,7 +151,7 @@ class StatementsMergerTest extends TestCase { ]; yield 'source and target both not entities' => [ - function ( self $self ) { + static function ( self $self ) { $nonEntity = $self->createMock( StatementListProvider::class ); return [ $nonEntity, clone $nonEntity ]; }, diff --git a/repo/tests/phpunit/includes/ParserOutput/DispatchingEntityMetaTagsCreatorFactoryTest.php b/repo/tests/phpunit/includes/ParserOutput/DispatchingEntityMetaTagsCreatorFactoryTest.php index 63ec0c6..075b5eb 100644 --- a/repo/tests/phpunit/includes/ParserOutput/DispatchingEntityMetaTagsCreatorFactoryTest.php +++ b/repo/tests/phpunit/includes/ParserOutput/DispatchingEntityMetaTagsCreatorFactoryTest.php @@ -42,7 +42,7 @@ class DispatchingEntityMetaTagsCreatorFactoryTest extends TestCase { public function testNoEntityMetaTagsReturned() { $factory = new DispatchingEntityMetaTagsCreatorFactory( [ - 'dummy-entity-type' => function() { + 'dummy-entity-type' => static function() { return null; }, ] diff --git a/repo/tests/phpunit/includes/ParserOutput/DispatchingEntityViewFactoryTest.php b/repo/tests/phpunit/includes/ParserOutput/DispatchingEntityViewFactoryTest.php index d00298c..15747e3 100644 --- a/repo/tests/phpunit/includes/ParserOutput/DispatchingEntityViewFactoryTest.php +++ b/repo/tests/phpunit/includes/ParserOutput/DispatchingEntityViewFactoryTest.php @@ -46,7 +46,7 @@ class DispatchingEntityViewFactoryTest extends \PHPUnit\Framework\TestCase { public function testNoEntityViewReturned() { $factory = new DispatchingEntityViewFactory( [ - 'foo' => function() { + 'foo' => static function() { return null; }, ] diff --git a/repo/tests/phpunit/includes/ParserOutput/EntityParserOutputGeneratorTestBase.php b/repo/tests/phpunit/includes/ParserOutput/EntityParserOutputGeneratorTestBase.php index e22c6b7..8937716 100644 --- a/repo/tests/phpunit/includes/ParserOutput/EntityParserOutputGeneratorTestBase.php +++ b/repo/tests/phpunit/includes/ParserOutput/EntityParserOutputGeneratorTestBase.php @@ -49,7 +49,7 @@ class EntityParserOutputGeneratorTestBase extends MediaWikiIntegrationTestCase { $fallbackChain = $this->createMock( TermLanguageFallbackChain::class ); $fallbackChain->method( 'extractPreferredValue' ) - ->willReturnCallback( function( $labels ) { + ->willReturnCallback( static function( $labels ) { if ( array_key_exists( 'en', $labels ) ) { return [ 'value' => $labels['en'], @@ -172,7 +172,7 @@ class EntityParserOutputGeneratorTestBase extends MediaWikiIntegrationTestCase { $configBuilder = $this->createMock( ParserOutputJsConfigBuilder::class ); $configBuilder->method( 'build' ) - ->willReturnCallback( function( $ignore, $parserOutput ) { + ->willReturnCallback( static function( $ignore, $parserOutput ) { $parserOutput->setJsConfigVar( '<JS>', '<JS>' ); } ); @@ -186,7 +186,7 @@ class EntityParserOutputGeneratorTestBase extends MediaWikiIntegrationTestCase { $entityTitleLookup = $this->createMock( EntityTitleLookup::class ); $entityTitleLookup->method( 'getTitleForId' ) - ->willReturnCallback( function( EntityId $id ) { + ->willReturnCallback( static function( EntityId $id ) { return Title::makeTitle( NS_MAIN, $id->getEntityType() . ':' . $id->getSerialization() diff --git a/repo/tests/phpunit/includes/ParserOutput/ExternalLinksDataUpdaterTest.php b/repo/tests/phpunit/includes/ParserOutput/ExternalLinksDataUpdaterTest.php index dd75c7e..2f55cb1 100644 --- a/repo/tests/phpunit/includes/ParserOutput/ExternalLinksDataUpdaterTest.php +++ b/repo/tests/phpunit/includes/ParserOutput/ExternalLinksDataUpdaterTest.php @@ -26,7 +26,7 @@ class ExternalLinksDataUpdaterTest extends \PHPUnit\Framework\TestCase { private function newInstance() { $matcher = $this->createMock( PropertyDataTypeMatcher::class ); $matcher->method( 'isMatchingDataType' ) - ->willReturnCallback( function( PropertyId $id, $type ) { + ->willReturnCallback( static function( PropertyId $id, $type ) { return $id->getSerialization() === 'P1'; } ); @@ -53,7 +53,7 @@ class ExternalLinksDataUpdaterTest extends \PHPUnit\Framework\TestCase { $parserOutput = $this->createMock( ParserOutput::class ); $parserOutput->expects( $this->exactly( count( $expected ) ) ) ->method( 'addExternalLink' ) - ->willReturnCallback( function( $url ) use ( &$actual ) { + ->willReturnCallback( static function( $url ) use ( &$actual ) { $actual[] = $url; } ); diff --git a/repo/tests/phpunit/includes/ParserOutput/ImageLinksDataUpdaterTest.php b/repo/tests/phpunit/includes/ParserOutput/ImageLinksDataUpdaterTest.php index 8c4cff1..4dca313 100644 --- a/repo/tests/phpunit/includes/ParserOutput/ImageLinksDataUpdaterTest.php +++ b/repo/tests/phpunit/includes/ParserOutput/ImageLinksDataUpdaterTest.php @@ -28,7 +28,7 @@ class ImageLinksDataUpdaterTest extends \PHPUnit\Framework\TestCase { private function newInstance() { $matcher = $this->createMock( PropertyDataTypeMatcher::class ); $matcher->method( 'isMatchingDataType' ) - ->willReturnCallback( function( PropertyId $id, $type ) { + ->willReturnCallback( static function( PropertyId $id, $type ) { return $id->getSerialization() === 'P1'; } ); $repoGroup = $this->createMock( RepoGroup::class ); diff --git a/repo/tests/phpunit/includes/ParserOutput/ParserOutputJsConfigBuilderTest.php b/repo/tests/phpunit/includes/ParserOutput/ParserOutputJsConfigBuilderTest.php index 9abc0ac..f4f3b5d 100644 --- a/repo/tests/phpunit/includes/ParserOutput/ParserOutputJsConfigBuilderTest.php +++ b/repo/tests/phpunit/includes/ParserOutput/ParserOutputJsConfigBuilderTest.php @@ -51,7 +51,7 @@ class ParserOutputJsConfigBuilderTest extends MediaWikiIntegrationTestCase { ->expects( $this->atLeastOnce() ) ->method( 'setJsConfigVar' ) ->with( $this->anything(), $this->anything() ) - ->willReturnCallback( function( $name, $value ) use ( &$sawOnce, $expectedId ) { + ->willReturnCallback( static function( $name, $value ) use ( &$sawOnce, $expectedId ) { if ( $name === 'wbEntityId' && $value === $expectedId ) { $sawOnce = true; } diff --git a/repo/tests/phpunit/includes/ParserOutput/ReferencedEntitiesDataUpdaterTest.php b/repo/tests/phpunit/includes/ParserOutput/ReferencedEntitiesDataUpdaterTest.php index fec8644..bb4f42c 100644 --- a/repo/tests/phpunit/includes/ParserOutput/ReferencedEntitiesDataUpdaterTest.php +++ b/repo/tests/phpunit/includes/ParserOutput/ReferencedEntitiesDataUpdaterTest.php @@ -80,14 +80,14 @@ class ReferencedEntitiesDataUpdaterTest extends MediaWikiIntegrationTestCase { $parserOutput = $this->createMock( ParserOutput::class ); $parserOutput->expects( $this->exactly( count( $expectedEntityIds ) ) ) ->method( 'addLink' ) - ->willReturnCallback( function( Title $title ) use ( &$actual ) { + ->willReturnCallback( static function( Title $title ) use ( &$actual ) { $actual[] = $title->getText(); } ); $instance = $this->newInstance( $item, $expectedEntityIds ); $instance->updateParserOutput( $parserOutput, $item ); - $expectedEntityIdStrings = array_map( function ( EntityId $id ) { + $expectedEntityIdStrings = array_map( static function ( EntityId $id ) { return $id->getSerialization(); }, $expectedEntityIds ); $this->assertArrayEquals( $expectedEntityIdStrings, $actual ); diff --git a/repo/tests/phpunit/includes/ParserOutput/TextInjectorTest.php b/repo/tests/phpunit/includes/ParserOutput/TextInjectorTest.php index 65c0570..4d9ccf4 100644 --- a/repo/tests/phpunit/includes/ParserOutput/TextInjectorTest.php +++ b/repo/tests/phpunit/includes/ParserOutput/TextInjectorTest.php @@ -45,7 +45,7 @@ class TextInjectorTest extends \PHPUnit\Framework\TestCase { $expected = 'Good morning to you!'; - $actual = $injector->inject( $text, function ( ...$args ) { + $actual = $injector->inject( $text, static function ( ...$args ) { return implode( ' ', $args ); } ); diff --git a/repo/tests/phpunit/includes/Parsers/TimeParserFactoryTest.php b/repo/tests/phpunit/includes/Parsers/TimeParserFactoryTest.php index 8b7ab49..ccd39b9 100644 --- a/repo/tests/phpunit/includes/Parsers/TimeParserFactoryTest.php +++ b/repo/tests/phpunit/includes/Parsers/TimeParserFactoryTest.php @@ -30,7 +30,7 @@ class TimeParserFactoryTest extends \PHPUnit\Framework\TestCase { $monthNameProvider = $this->createMock( MonthNameProvider::class ); $monthNameProvider->method( 'getLocalizedMonthNames' ) - ->willReturnCallback( function( $languageCode ) { + ->willReturnCallback( static function( $languageCode ) { $monthNames = []; for ( $i = 1; $i <= 12; $i++ ) { $monthNames[$i] = $languageCode . 'Month' . $i; @@ -39,7 +39,7 @@ class TimeParserFactoryTest extends \PHPUnit\Framework\TestCase { } ); $monthNameProvider->method( 'getMonthNumbers' ) - ->willReturnCallback( function( $languageCode ) { + ->willReturnCallback( static function( $languageCode ) { $numbers = []; for ( $i = 1; $i <= 12; $i++ ) { $numbers[$languageCode . 'Month' . $i] = $i; diff --git a/repo/tests/phpunit/includes/PropertyDataTypeChangerTest.php b/repo/tests/phpunit/includes/PropertyDataTypeChangerTest.php index 71cf525..9a28212 100644 --- a/repo/tests/phpunit/includes/PropertyDataTypeChangerTest.php +++ b/repo/tests/phpunit/includes/PropertyDataTypeChangerTest.php @@ -127,7 +127,7 @@ class PropertyDataTypeChangerTest extends \PHPUnit\Framework\TestCase { 0, LookupConstants::LATEST_FROM_MASTER ) - ->willReturnCallback( function( NumericPropertyId $propertyId ) { + ->willReturnCallback( static function( NumericPropertyId $propertyId ) { if ( $propertyId->getSerialization() === 'P42' ) { $property = new Property( new NumericPropertyId( 'P42' ), diff --git a/repo/tests/phpunit/includes/PropertyServicesTest.php b/repo/tests/phpunit/includes/PropertyServicesTest.php index 07d44af..7f3fe1b 100644 --- a/repo/tests/phpunit/includes/PropertyServicesTest.php +++ b/repo/tests/phpunit/includes/PropertyServicesTest.php @@ -25,10 +25,10 @@ class PropertyServicesTest extends TestCase { $serviceName = 'some-service'; $definitions = [ $serviceName => [ - ApiEntitySource::TYPE => function () { + ApiEntitySource::TYPE => static function () { return 'api service'; }, - DatabaseEntitySource::TYPE => function () { + DatabaseEntitySource::TYPE => static function () { return 'db service'; }, ], diff --git a/repo/tests/phpunit/includes/Rdf/FullStatementRdfBuilderTest.php b/repo/tests/phpunit/includes/Rdf/FullStatementRdfBuilderTest.php index 4402242..ed013d5 100644 --- a/repo/tests/phpunit/includes/Rdf/FullStatementRdfBuilderTest.php +++ b/repo/tests/phpunit/includes/Rdf/FullStatementRdfBuilderTest.php @@ -75,7 +75,7 @@ class FullStatementRdfBuilderTest extends \MediaWikiIntegrationTestCase { $mentionTracker = $this->createMock( EntityMentionListener::class ); $mentionTracker->method( 'propertyMentioned' ) - ->willReturnCallback( function( EntityId $id ) use ( &$mentioned ) { + ->willReturnCallback( static function( EntityId $id ) use ( &$mentioned ) { $key = $id->getSerialization(); $mentioned[$key] = $id; } ); @@ -122,7 +122,7 @@ class FullStatementRdfBuilderTest extends \MediaWikiIntegrationTestCase { public static function provideAddEntity() { $props = array_map( - function ( $data ) { + static function ( $data ) { /** @var PropertyId $propertyId */ $propertyId = $data[0]; return $propertyId->getSerialization(); @@ -172,7 +172,7 @@ class FullStatementRdfBuilderTest extends \MediaWikiIntegrationTestCase { public static function provideAddEntityTestCasesWhenPropertiesFromOtherWikibase() { $props = array_map( - function ( $data ) { + static function ( $data ) { /** @var PropertyId $propertyId */ $propertyId = $data[0]; return $propertyId->getSerialization(); diff --git a/repo/tests/phpunit/includes/Rdf/NTriplesRdfTestHelper.php b/repo/tests/phpunit/includes/Rdf/NTriplesRdfTestHelper.php index e2b5aea..2b1f4ca 100644 --- a/repo/tests/phpunit/includes/Rdf/NTriplesRdfTestHelper.php +++ b/repo/tests/phpunit/includes/Rdf/NTriplesRdfTestHelper.php @@ -72,7 +72,7 @@ class NTriplesRdfTestHelper { if ( $this->allBlanksEqual ) { $nTriples = array_map( - function ( $line ) { + static function ( $line ) { return preg_replace( '/_:\w+/', '_:#####', $line ); }, $nTriples diff --git a/repo/tests/phpunit/includes/Rdf/PropertyStubRdfBuilderTest.php b/repo/tests/phpunit/includes/Rdf/PropertyStubRdfBuilderTest.php index c9016b2..1f185ce 100644 --- a/repo/tests/phpunit/includes/Rdf/PropertyStubRdfBuilderTest.php +++ b/repo/tests/phpunit/includes/Rdf/PropertyStubRdfBuilderTest.php @@ -85,7 +85,7 @@ class PropertyStubRdfBuilderTest extends MediaWikiIntegrationTestCase { private function getPropertyDataTypeLookup(): PropertyDataTypeLookup { $mockDataTypeLookup = $this->createMock( PropertyDataTypeLookup::class ); $mockDataTypeLookup->method( 'getDataTypeIdForProperty' ) - ->willReturnCallback( function( NumericPropertyId $id ) { + ->willReturnCallback( static function( NumericPropertyId $id ) { return 'string'; } ); return $mockDataTypeLookup; diff --git a/repo/tests/phpunit/includes/Rdf/RdfBuilderTest.php b/repo/tests/phpunit/includes/Rdf/RdfBuilderTest.php index 2926269..911d46e 100644 --- a/repo/tests/phpunit/includes/Rdf/RdfBuilderTest.php +++ b/repo/tests/phpunit/includes/Rdf/RdfBuilderTest.php @@ -153,7 +153,7 @@ class RdfBuilderTest extends MediaWikiIntegrationTestCase { $fullStatementRdfBuilderFactory ); }, - 'property' => function( + 'property' => static function( $flavorFlags, RdfVocabulary $vocabulary, RdfWriter $writer, diff --git a/repo/tests/phpunit/includes/Rdf/SnakRdfBuilderTest.php b/repo/tests/phpunit/includes/Rdf/SnakRdfBuilderTest.php index 4e8d383..e3a1880 100644 --- a/repo/tests/phpunit/includes/Rdf/SnakRdfBuilderTest.php +++ b/repo/tests/phpunit/includes/Rdf/SnakRdfBuilderTest.php @@ -62,7 +62,7 @@ class SnakRdfBuilderTest extends \PHPUnit\Framework\TestCase { ): SnakRdfBuilder { $mentionTracker = $this->createMock( EntityMentionListener::class ); $mentionTracker->method( 'propertyMentioned' ) - ->willReturnCallback( function( EntityId $id ) use ( &$mentioned ) { + ->willReturnCallback( static function( EntityId $id ) use ( &$mentioned ) { $key = $id->getSerialization(); $mentioned[$key] = $id; } ); diff --git a/repo/tests/phpunit/includes/Rdf/Values/ExternalIdentifierRdfBuilderTest.php b/repo/tests/phpunit/includes/Rdf/Values/ExternalIdentifierRdfBuilderTest.php index d9eb413..1ac30cb 100644 --- a/repo/tests/phpunit/includes/Rdf/Values/ExternalIdentifierRdfBuilderTest.php +++ b/repo/tests/phpunit/includes/Rdf/Values/ExternalIdentifierRdfBuilderTest.php @@ -39,7 +39,7 @@ class ExternalIdentifierRdfBuilderTest extends \PHPUnit\Framework\TestCase { public function testAddValue() { $uriPatternProvider = $this->createMock( PropertyInfoProvider::class ); $uriPatternProvider->method( 'getPropertyInfo' ) - ->willReturnCallback( function( NumericPropertyId $id ) { + ->willReturnCallback( static function( NumericPropertyId $id ) { return $id->getSerialization() === 'P1' ? 'http://xyzzy.test/vocab/$1' : null; } ); diff --git a/repo/tests/phpunit/includes/RepoHooksTest.php b/repo/tests/phpunit/includes/RepoHooksTest.php index e750fab..e8e3867 100644 --- a/repo/tests/phpunit/includes/RepoHooksTest.php +++ b/repo/tests/phpunit/includes/RepoHooksTest.php @@ -137,7 +137,7 @@ class RepoHooksTest extends MediaWikiIntegrationTestCase { $this->overrideMwServices( null, - [ 'WikibaseRepo.MobileSite' => function () { + [ 'WikibaseRepo.MobileSite' => static function () { return true; } ] ); @@ -319,10 +319,10 @@ XML $importer = $this->getServiceContainer()->getWikiImporterFactory() ->getWikiImporter( $source, $this->getTestSysop()->getAuthority() ); - $importer->setNoticeCallback( function() { + $importer->setNoticeCallback( static function() { // Do nothing for now. Could collect and compare notices. } ); - $importer->setPageOutCallback( function() { + $importer->setPageOutCallback( static function() { } ); if ( $expectedException !== null ) { @@ -342,7 +342,7 @@ XML $parserOutput = $this->createMock( ParserOutput::class ); $parserOutput->expects( $this->exactly( 6 ) ) ->method( 'getExtensionData' ) - ->willReturnCallback( function ( $key ) use ( $altLinks ) { + ->willReturnCallback( static function ( $key ) use ( $altLinks ) { if ( $key === 'wikibase-alternate-links' ) { return $altLinks; } else { @@ -392,7 +392,7 @@ XML $pOpts = ParserOptions::newFromAnon(); $used = []; - $pOpts->registerWatcher( function ( $opt ) use ( &$used ) { + $pOpts->registerWatcher( static function ( $opt ) use ( &$used ) { $used[$opt] = true; } ); diff --git a/repo/tests/phpunit/includes/Specials/HTMLForm/HTMLAliasesFieldTest.php b/repo/tests/phpunit/includes/Specials/HTMLForm/HTMLAliasesFieldTest.php index ea47953..d95ab5a 100644 --- a/repo/tests/phpunit/includes/Specials/HTMLForm/HTMLAliasesFieldTest.php +++ b/repo/tests/phpunit/includes/Specials/HTMLForm/HTMLAliasesFieldTest.php @@ -21,7 +21,7 @@ class HTMLAliasesFieldTest extends MediaWikiIntegrationTestCase { $this->createField( [ 'fieldname' => 'some-name', - 'filter-callback' => function () { + 'filter-callback' => static function () { }, ] ); diff --git a/repo/tests/phpunit/includes/Specials/HTMLForm/HTMLItemReferenceFieldTest.php b/repo/tests/phpunit/includes/Specials/HTMLForm/HTMLItemReferenceFieldTest.php index 086151f..0fb5d9a 100644 --- a/repo/tests/phpunit/includes/Specials/HTMLForm/HTMLItemReferenceFieldTest.php +++ b/repo/tests/phpunit/includes/Specials/HTMLForm/HTMLItemReferenceFieldTest.php @@ -73,7 +73,7 @@ class HTMLItemReferenceFieldTest extends MediaWikiIntegrationTestCase { $this->givenItemExists( $existingItemId = 'Q1' ); $field = $this->createField( [ - 'validation-callback' => function () { + 'validation-callback' => static function () { return wfMessage( 'some-message' ); }, ] diff --git a/repo/tests/phpunit/includes/Specials/SpecialAvailableBadgesTest.php b/repo/tests/phpunit/includes/Specials/SpecialAvailableBadgesTest.php index c8761d0..8947510 100644 --- a/repo/tests/phpunit/includes/Specials/SpecialAvailableBadgesTest.php +++ b/repo/tests/phpunit/includes/Specials/SpecialAvailableBadgesTest.php @@ -33,7 +33,7 @@ class SpecialAvailableBadgesTest extends SpecialPageTestBase { $entityTitleLookup = $this->createMock( EntityTitleLookup::class ); $entityTitleLookup->method( 'getTitleForId' ) - ->willReturnCallback( function ( ItemId $itemId ) { + ->willReturnCallback( static function ( ItemId $itemId ) { return Title::makeTitle( 0, $itemId->getSerialization() ); } ); diff --git a/repo/tests/phpunit/includes/Specials/SpecialEntityDataTest.php b/repo/tests/phpunit/includes/Specials/SpecialEntityDataTest.php index 807f310..f058b03 100644 --- a/repo/tests/phpunit/includes/Specials/SpecialEntityDataTest.php +++ b/repo/tests/phpunit/includes/Specials/SpecialEntityDataTest.php @@ -71,7 +71,7 @@ class SpecialEntityDataTest extends SpecialPageTestBase { $entityTitleStoreLookup = $this->createMock( EntityTitleStoreLookup::class ); $entityTitleStoreLookup->method( 'getTitleForId' ) - ->willReturnCallback( function( EntityId $id ) { + ->willReturnCallback( static function( EntityId $id ) { return Title::newFromTextThrow( $id->getEntityType() . ':' . $id->getSerialization() ); } ); diff --git a/repo/tests/phpunit/includes/Specials/SpecialGoToLinkedPageTest.php b/repo/tests/phpunit/includes/Specials/SpecialGoToLinkedPageTest.php index f51b32c..525f41f 100644 --- a/repo/tests/phpunit/includes/Specials/SpecialGoToLinkedPageTest.php +++ b/repo/tests/phpunit/includes/Specials/SpecialGoToLinkedPageTest.php @@ -38,7 +38,7 @@ class SpecialGoToLinkedPageTest extends SpecialPageTestBase { $mock = $this->createMock( SiteLinkLookup::class ); $mock->method( 'getLinks' ) - ->willReturnCallback( function( $itemIds, $siteIds ) { + ->willReturnCallback( static function( $itemIds, $siteIds ) { $result = [ [ '', 'TestPageName' ] ]; if ( $siteIds === [ 'dewiki' ] && $itemIds === [ 23 ] ) { return $result; @@ -64,7 +64,7 @@ class SpecialGoToLinkedPageTest extends SpecialPageTestBase { private function getEntityRedirectTargetLookup(): EntityRedirectTargetLookup { $mock = $this->createMock( EntityRedirectTargetLookup::class ); $mock->method( 'getRedirectForEntityId' ) - ->willReturnCallback( function( ItemId $id ) { + ->willReturnCallback( static function( ItemId $id ) { if ( $id->getSerialization() === 'Q24' ) { return new ItemId( 'Q23' ); } else { @@ -81,7 +81,7 @@ class SpecialGoToLinkedPageTest extends SpecialPageTestBase { private function getEntityIdParser() { $mock = $this->createMock( EntityIdParser::class ); $mock->method( 'parse' ) - ->willReturnCallback( function( $itemString ) { + ->willReturnCallback( static function( $itemString ) { try { return new ItemId( $itemString ); } catch ( InvalidArgumentException $ex ) { @@ -98,7 +98,7 @@ class SpecialGoToLinkedPageTest extends SpecialPageTestBase { private function getEntityLookup() { $mock = $this->createMock( EntityLookup::class ); $mock->method( 'hasEntity' ) - ->willReturnCallback( function( ItemId $itemId ) { + ->willReturnCallback( static function( ItemId $itemId ) { $id = $itemId->getSerialization(); return $id === 'Q23' || $id === 'Q24'; } ); diff --git a/repo/tests/phpunit/includes/Specials/SpecialItemByTitleTest.php b/repo/tests/phpunit/includes/Specials/SpecialItemByTitleTest.php index 62fffc0..a2615a8 100644 --- a/repo/tests/phpunit/includes/Specials/SpecialItemByTitleTest.php +++ b/repo/tests/phpunit/includes/Specials/SpecialItemByTitleTest.php @@ -47,7 +47,7 @@ class SpecialItemByTitleTest extends SpecialPageTestBase { $mock = $this->createMock( EntityTitleLookup::class ); $mock->method( 'getTitleForId' ) - ->willReturnCallback( function( EntityId $id ) { + ->willReturnCallback( static function( EntityId $id ) { return Title::makeTitle( NS_MAIN, $id->getSerialization() ); } ); @@ -73,7 +73,7 @@ class SpecialItemByTitleTest extends SpecialPageTestBase { $siteLinkLookup = $this->createMock( SiteLinkLookup::class ); $siteLinkLookup->method( 'getItemIdForLink' ) - ->willReturnCallback( function ( $wiki, $page ) { + ->willReturnCallback( static function ( $wiki, $page ) { if ( $wiki === self::EXISTING_WIKI && $page === self::EXISTING_PAGE ) { return new ItemId( self::EXISTING_ITEM_ID ); } else { diff --git a/repo/tests/phpunit/includes/Specials/SpecialItemDisambiguationTest.php b/repo/tests/phpunit/includes/Specials/SpecialItemDisambiguationTest.php index 4cb2b98..516f710 100644 --- a/repo/tests/phpunit/includes/Specials/SpecialItemDisambiguationTest.php +++ b/repo/tests/phpunit/includes/Specials/SpecialItemDisambiguationTest.php @@ -46,7 +46,7 @@ class SpecialItemDisambiguationTest extends SpecialPageTestBase { private function getMockItemDisambiguationFactory(): ItemDisambiguationFactory { $mock = $this->createMock( ItemDisambiguation::class ); $mock->method( 'getHTML' ) - ->willReturnCallback( function ( $searchResult ) { + ->willReturnCallback( static function ( $searchResult ) { return '<span class="mock-span" >ItemDisambiguationHTML-' . count( $searchResult ) . '</span>'; } ); @@ -81,7 +81,7 @@ class SpecialItemDisambiguationTest extends SpecialPageTestBase { } else { $mock->method( 'getRankedSearchResults' ) ->willReturnCallback( - function( $text, $lang, $entityType ) use ( $searchResults ) { + static function( $text, $lang, $entityType ) use ( $searchResults ) { if ( $lang !== 'fr' ) { throw new InvalidArgumentException( 'Not a valid language code' ); } diff --git a/repo/tests/phpunit/includes/Specials/SpecialListPropertiesTest.php b/repo/tests/phpunit/includes/Specials/SpecialListPropertiesTest.php index 9fb9596..70c4e3d 100644 --- a/repo/tests/phpunit/includes/Specials/SpecialListPropertiesTest.php +++ b/repo/tests/phpunit/includes/Specials/SpecialListPropertiesTest.php @@ -56,7 +56,7 @@ class SpecialListPropertiesTest extends SpecialPageTestBase { private function getFallbackLabelDescriptionLookup(): FallbackLabelDescriptionLookup { $lookup = $this->createMock( FallbackLabelDescriptionLookup::class ); $lookup->method( 'getLabel' ) - ->willReturnCallback( function( PropertyId $id ): TermFallback { + ->willReturnCallback( static function( PropertyId $id ): TermFallback { return new TermFallback( 'en', 'Property with label ' . $id->getSerialization(), diff --git a/repo/tests/phpunit/includes/Specials/SpecialMergeItemsTest.php b/repo/tests/phpunit/includes/Specials/SpecialMergeItemsTest.php index e292245..be1c26f 100644 --- a/repo/tests/phpunit/includes/Specials/SpecialMergeItemsTest.php +++ b/repo/tests/phpunit/includes/Specials/SpecialMergeItemsTest.php @@ -94,7 +94,7 @@ class SpecialMergeItemsTest extends SpecialPageTestBase { private function getEntityTitleLookup(): EntityTitleStoreLookup { $entityTitleLookup = $this->createMock( EntityTitleStoreLookup::class ); $entityTitleLookup->method( 'getTitleForId' ) - ->willReturnCallback( function( EntityId $entityId ) { + ->willReturnCallback( static function( EntityId $entityId ) { return Title::newFromTextThrow( $entityId->getSerialization() ); } ); @@ -113,7 +113,7 @@ class SpecialMergeItemsTest extends SpecialPageTestBase { $exceptionLocalizer = $this->createMock( ExceptionLocalizer::class ); $exceptionLocalizer->method( 'getExceptionMessage' ) - ->willReturnCallback( function( Exception $ex ) { + ->willReturnCallback( static function( Exception $ex ) { if ( $ex instanceof Error ) { throw $ex; } @@ -244,7 +244,7 @@ class SpecialMergeItemsTest extends SpecialPageTestBase { private function getPermissionCheckers(): EntityPermissionChecker { $permissionChecker = $this->createMock( EntityPermissionChecker::class ); - $callback = function ( User $user ) { + $callback = static function ( User $user ) { $name = 'UserWithoutPermission'; if ( $user->getName() === $name ) { return Status::newFatal( 'permissiondenied' ); diff --git a/repo/tests/phpunit/includes/Specials/SpecialNewItemTest.php b/repo/tests/phpunit/includes/Specials/SpecialNewItemTest.php index 42f7ef2..d1db78c 100644 --- a/repo/tests/phpunit/includes/Specials/SpecialNewItemTest.php +++ b/repo/tests/phpunit/includes/Specials/SpecialNewItemTest.php @@ -516,7 +516,7 @@ class SpecialNewItemTest extends SpecialNewEntityTestCase { $siteMock->setGlobalId( $existingSiteId ); $siteMock->setGroup( 'wikiblah' ); $siteMock->method( 'normalizePageName' ) - ->willReturnCallback( function ( $pageName, $followRedirect ) { + ->willReturnCallback( static function ( $pageName, $followRedirect ) { if ( $followRedirect === MediaWikiPageNameNormalizer::FOLLOW_REDIRECT ) { return "Redirect target of $pageName"; } else { @@ -551,7 +551,7 @@ class SpecialNewItemTest extends SpecialNewEntityTestCase { /** @var MockObject|ValueValidator $validatorMock */ $validatorMock = $this->createMock( ValueValidator::class ); $validatorMock->method( 'validate' )->willReturnCallback( - function ( $value ) { + static function ( $value ) { if ( $value === 'TOO_LONG_ERROR' ) { return Result::newError( [ Error::newError( 'This is the too long error', null, 'too-long' ) ] ); } diff --git a/repo/tests/phpunit/includes/Specials/SpecialNewPropertyTest.php b/repo/tests/phpunit/includes/Specials/SpecialNewPropertyTest.php index c936c7c..e7339e7 100644 --- a/repo/tests/phpunit/includes/Specials/SpecialNewPropertyTest.php +++ b/repo/tests/phpunit/includes/Specials/SpecialNewPropertyTest.php @@ -370,7 +370,7 @@ class SpecialNewPropertyTest extends SpecialNewEntityTestCase { /** @var MockObject|ValueValidator $validatorMock */ $validatorMock = $this->createMock( ValueValidator::class ); $validatorMock->method( 'validate' )->willReturnCallback( - function ( $value ) { + static function ( $value ) { if ( $value === 'TOO_LONG_ERROR' ) { return Result::newError( [ Error::newError( 'This is the too long error', null, 'too-long' ) ] ); } diff --git a/repo/tests/phpunit/includes/Specials/SpecialRedirectEntityTest.php b/repo/tests/phpunit/includes/Specials/SpecialRedirectEntityTest.php index 1695e66..3666c02 100644 --- a/repo/tests/phpunit/includes/Specials/SpecialRedirectEntityTest.php +++ b/repo/tests/phpunit/includes/Specials/SpecialRedirectEntityTest.php @@ -92,7 +92,7 @@ class SpecialRedirectEntityTest extends SpecialPageTestBase { protected function newSpecialPage(): SpecialRedirectEntity { $exceptionLocalizer = $this->createMock( ExceptionLocalizer::class ); $exceptionLocalizer->method( 'getExceptionMessage' ) - ->willReturnCallback( function( Exception $ex ) { + ->willReturnCallback( static function( Exception $ex ) { if ( $ex instanceof Error ) { throw $ex; } @@ -174,7 +174,7 @@ class SpecialRedirectEntityTest extends SpecialPageTestBase { $permissionChecker = $this->createMock( EntityPermissionChecker::class ); $permissionChecker->method( 'getPermissionStatusForEntityId' ) - ->willReturnCallback( function( User $user ) { + ->willReturnCallback( static function( User $user ) { $name = 'UserWithoutPermission'; if ( $user->getName() === $name ) { return Status::newFatal( 'permissiondenied' ); diff --git a/repo/tests/phpunit/includes/Specials/SpecialWikibaseRepoPageTestBase.php b/repo/tests/phpunit/includes/Specials/SpecialWikibaseRepoPageTestBase.php index 6ddd0aa..40d84f1 100644 --- a/repo/tests/phpunit/includes/Specials/SpecialWikibaseRepoPageTestBase.php +++ b/repo/tests/phpunit/includes/Specials/SpecialWikibaseRepoPageTestBase.php @@ -67,7 +67,7 @@ abstract class SpecialWikibaseRepoPageTestBase extends SpecialPageTestBase { $titleLookup = $this->createMock( EntityTitleStoreLookup::class ); $titleLookup->method( 'getTitleForId' ) - ->willReturnCallback( function( EntityId $id ) { + ->willReturnCallback( static function( EntityId $id ) { return Title::makeTitle( NS_MAIN, $id->getEntityType() . ':' . $id->getSerialization() ); } ); diff --git a/repo/tests/phpunit/includes/Store/CachingPrefetchingTermLookupTest.php b/repo/tests/phpunit/includes/Store/CachingPrefetchingTermLookupTest.php index e19fe3b..c585387 100644 --- a/repo/tests/phpunit/includes/Store/CachingPrefetchingTermLookupTest.php +++ b/repo/tests/phpunit/includes/Store/CachingPrefetchingTermLookupTest.php @@ -643,7 +643,7 @@ class CachingPrefetchingTermLookupTest extends TestCase { private function newStubRedirectResolvingRevisionLookup() { $revisionAndRedirectResolver = $this->createMock( RedirectResolvingLatestRevisionLookup::class ); $revisionAndRedirectResolver->method( 'lookupLatestRevisionResolvingRedirect' ) - ->willReturnCallback( function ( EntityId $id ) { + ->willReturnCallback( static function ( EntityId $id ) { return [ self::TEST_REVISION, $id ]; } ); diff --git a/repo/tests/phpunit/includes/Store/CachingPropertyInfoTest.php b/repo/tests/phpunit/includes/Store/CachingPropertyInfoTest.php index e09f8a8..b901ea4 100644 --- a/repo/tests/phpunit/includes/Store/CachingPropertyInfoTest.php +++ b/repo/tests/phpunit/includes/Store/CachingPropertyInfoTest.php @@ -44,7 +44,7 @@ class CachingPropertyInfoTest extends MediaWikiIntegrationTestCase { private function getEntityComposer() { return new EntityIdComposer( [ - Property::ENTITY_TYPE => function( $uniquePart ) { + Property::ENTITY_TYPE => static function( $uniquePart ) { return new NumericPropertyId( 'P' . $uniquePart ); }, ] ); diff --git a/repo/tests/phpunit/includes/Store/Sql/SqlEntityIdPagerFactoryTest.php b/repo/tests/phpunit/includes/Store/Sql/SqlEntityIdPagerFactoryTest.php index b17d28d..858b3c2 100644 --- a/repo/tests/phpunit/includes/Store/Sql/SqlEntityIdPagerFactoryTest.php +++ b/repo/tests/phpunit/includes/Store/Sql/SqlEntityIdPagerFactoryTest.php @@ -39,7 +39,7 @@ class SqlEntityIdPagerFactoryTest extends \PHPUnit\Framework\TestCase { $entityIdLookup = $this->createMock( EntityIdLookup::class ); $entityIdLookup->method( 'getEntityIdForTitle' ) - ->willReturnCallback( function ( Title $title ) { + ->willReturnCallback( static function ( Title $title ) { return new ItemId( $title->getText() ); } ); diff --git a/repo/tests/phpunit/includes/Store/Sql/SqlEntityIdPagerTest.php b/repo/tests/phpunit/includes/Store/Sql/SqlEntityIdPagerTest.php index 18c9917..9ab8b90 100644 --- a/repo/tests/phpunit/includes/Store/Sql/SqlEntityIdPagerTest.php +++ b/repo/tests/phpunit/includes/Store/Sql/SqlEntityIdPagerTest.php @@ -118,7 +118,7 @@ class SqlEntityIdPagerTest extends MediaWikiIntegrationTestCase { } private function getIdStrings( array $entities ) { - $ids = array_map( function ( $entity ) { + $ids = array_map( static function ( $entity ) { if ( $entity instanceof EntityDocument ) { $entity = $entity->getId(); } elseif ( $entity instanceof EntityRedirect ) { diff --git a/repo/tests/phpunit/includes/Store/Sql/SqlSiteLinkConflictLookupTest.php b/repo/tests/phpunit/includes/Store/Sql/SqlSiteLinkConflictLookupTest.php index c1b48af..97e3fda 100644 --- a/repo/tests/phpunit/includes/Store/Sql/SqlSiteLinkConflictLookupTest.php +++ b/repo/tests/phpunit/includes/Store/Sql/SqlSiteLinkConflictLookupTest.php @@ -81,7 +81,7 @@ class SqlSiteLinkConflictLookupTest extends MediaWikiIntegrationTestCase { private function newSqlSiteLinkConflictLookup() { $entityIdComposer = new EntityIdComposer( [ - 'item' => function ( $uniquePart ) { + 'item' => static function ( $uniquePart ) { return ItemId::newFromNumber( $uniquePart ); }, ] ); diff --git a/repo/tests/phpunit/includes/Store/Sql/WikiPageEntityMetaDataLookupTest.php b/repo/tests/phpunit/includes/Store/Sql/WikiPageEntityMetaDataLookupTest.php index ef4b716..f10763b 100644 --- a/repo/tests/phpunit/includes/Store/Sql/WikiPageEntityMetaDataLookupTest.php +++ b/repo/tests/phpunit/includes/Store/Sql/WikiPageEntityMetaDataLookupTest.php @@ -171,7 +171,7 @@ class WikiPageEntityMetaDataLookupTest extends MediaWikiIntegrationTestCase { $db->expects( $this->exactly( $selectCount ) ) ->method( 'select' ) - ->willReturnCallback( function( ...$args ) use ( $realDB ) { + ->willReturnCallback( static function( ...$args ) use ( $realDB ) { // Get the actual result $res = $realDB->select( ...$args ); diff --git a/repo/tests/phpunit/includes/Store/Sql/WikiPageEntityRedirectLookupTest.php b/repo/tests/phpunit/includes/Store/Sql/WikiPageEntityRedirectLookupTest.php index 4a74a80..b64e1eb 100644 --- a/repo/tests/phpunit/includes/Store/Sql/WikiPageEntityRedirectLookupTest.php +++ b/repo/tests/phpunit/includes/Store/Sql/WikiPageEntityRedirectLookupTest.php @@ -131,7 +131,7 @@ class WikiPageEntityRedirectLookupTest extends MediaWikiIntegrationTestCase { $entityTitleLookup = $this->createMock( EntityTitleStoreLookup::class ); $entityTitleLookup->method( 'getTitleForId' ) - ->willReturnCallback( function( EntityId $id ) { + ->willReturnCallback( static function( EntityId $id ) { return Title::makeTitle( NS_MAIN, $id->getSerialization() ); } ); @@ -142,7 +142,7 @@ class WikiPageEntityRedirectLookupTest extends MediaWikiIntegrationTestCase { $entityIdLookup = $this->createMock( EntityIdLookup::class ); $entityIdLookup->method( 'getEntityIdForTitle' ) - ->willReturnCallback( function( Title $title ) { + ->willReturnCallback( static function( Title $title ) { return new ItemId( $title->getText() ); } ); diff --git a/repo/tests/phpunit/includes/Store/Sql/WikiPageEntityStoreTest.php b/repo/tests/phpunit/includes/Store/Sql/WikiPageEntityStoreTest.php index 0115148..21123d4 100644 --- a/repo/tests/phpunit/includes/Store/Sql/WikiPageEntityStoreTest.php +++ b/repo/tests/phpunit/includes/Store/Sql/WikiPageEntityStoreTest.php @@ -135,10 +135,10 @@ class WikiPageEntityStoreTest extends MediaWikiIntegrationTestCase { 'custom-type' => 'wikibase-custom-type', ], [ - 'item' => function() { + 'item' => static function() { return WikibaseRepo::getItemHandler(); }, - 'property' => function() { + 'property' => static function() { return WikibaseRepo::getPropertyHandler(); }, 'custom-type' => function() { @@ -969,10 +969,10 @@ class WikiPageEntityStoreTest extends MediaWikiIntegrationTestCase { 'property' => PropertyContent::CONTENT_MODEL_ID, ], [ - 'item' => function() { + 'item' => static function() { return WikibaseRepo::getItemHandler(); }, - 'property' => function() { + 'property' => static function() { return WikibaseRepo::getPropertyHandler(); }, ] @@ -1042,7 +1042,7 @@ class WikiPageEntityStoreTest extends MediaWikiIntegrationTestCase { return $result->onRedirect( $shouldNotBeCalled ) ->onNonexistentEntity( $shouldNotBeCalled ) - ->onConcreteRevision( function ( $revId ) { + ->onConcreteRevision( static function ( $revId ) { return $revId; } ) ->map(); diff --git a/repo/tests/phpunit/includes/Store/TypeDispatchingEntityTitleStoreLookupTest.php b/repo/tests/phpunit/includes/Store/TypeDispatchingEntityTitleStoreLookupTest.php index fd2f53c..f2fbcd5 100644 --- a/repo/tests/phpunit/includes/Store/TypeDispatchingEntityTitleStoreLookupTest.php +++ b/repo/tests/phpunit/includes/Store/TypeDispatchingEntityTitleStoreLookupTest.php @@ -24,7 +24,7 @@ class TypeDispatchingEntityTitleStoreLookupTest extends \PHPUnit\Framework\TestC public function testGivenInvalidCallback_getTitleForIdFails() { $lookup = new TypeDispatchingEntityTitleStoreLookup( [ - 'property' => function ( EntityTitleStoreLookup $defaultService ) { + 'property' => static function ( EntityTitleStoreLookup $defaultService ) { return (object)[]; }, ], diff --git a/repo/tests/phpunit/includes/Store/WikiPageEntityRevisionLookupTest.php b/repo/tests/phpunit/includes/Store/WikiPageEntityRevisionLookupTest.php index b015171..0fd740f 100644 --- a/repo/tests/phpunit/includes/Store/WikiPageEntityRevisionLookupTest.php +++ b/repo/tests/phpunit/includes/Store/WikiPageEntityRevisionLookupTest.php @@ -502,7 +502,7 @@ class WikiPageEntityRevisionLookupTest extends EntityRevisionLookupTestCase { $entityId->method( '__toString' )->willReturn( $idString ); $entityId->method( 'getSerialization' )->willReturn( $idString ); $entityId->method( 'equals' )->willReturnCallback( - function ( EntityId $otherEntityId ) use ( $entityId ) { + static function ( EntityId $otherEntityId ) use ( $entityId ) { return $otherEntityId->getSerialization() === $entityId->getSerialization(); } ); diff --git a/repo/tests/phpunit/includes/Store/WikiPageEntityStorePermissionCheckerTest.php b/repo/tests/phpunit/includes/Store/WikiPageEntityStorePermissionCheckerTest.php index 2dfef31..aa7ff0b 100644 --- a/repo/tests/phpunit/includes/Store/WikiPageEntityStorePermissionCheckerTest.php +++ b/repo/tests/phpunit/includes/Store/WikiPageEntityStorePermissionCheckerTest.php @@ -562,7 +562,7 @@ class WikiPageEntityStorePermissionCheckerTest extends MediaWikiIntegrationTestC $lookup = $this->createMock( EntityTitleLookup::class ); $lookup->method( 'getTitleForId' ) - ->willReturnCallback( function( EntityId $id ) { + ->willReturnCallback( static function( EntityId $id ) { if ( $id->getSerialization() === self::EXISTING_ITEM_ID ) { return Title::newFromLinkTarget( new TitleValue( WB_NS_ITEM, 'Test_Item' ) ); } diff --git a/repo/tests/phpunit/includes/ValidatorBuildersTest.php b/repo/tests/phpunit/includes/ValidatorBuildersTest.php index 153fd62..d433281 100644 --- a/repo/tests/phpunit/includes/ValidatorBuildersTest.php +++ b/repo/tests/phpunit/includes/ValidatorBuildersTest.php @@ -78,7 +78,7 @@ class ValidatorBuildersTest extends \PHPUnit\Framework\TestCase { $pageNormalizer = $this->createMock( MediaWikiPageNameNormalizer::class ); $pageNormalizer->method( 'normalizePageName' ) - ->willReturnCallback( function( $pageName ) { + ->willReturnCallback( static function( $pageName ) { return strpos( $pageName, 'NOT-FOUND' ) === false ? $pageName : false; } ); @@ -90,7 +90,7 @@ class ValidatorBuildersTest extends \PHPUnit\Framework\TestCase { $fileNameLookup->method( 'lookupFileName' ) ->with( $this->isType( 'string' ) ) - ->willReturnCallback( function( $fileName ) { + ->willReturnCallback( static function( $fileName ) { return strpos( $fileName, 'NOT-FOUND' ) === false ? $fileName : null; } ); diff --git a/repo/tests/phpunit/includes/Validators/CommonsMediaExistsValidatorTest.php b/repo/tests/phpunit/includes/Validators/CommonsMediaExistsValidatorTest.php index 2ae4bef..f840125 100644 --- a/repo/tests/phpunit/includes/Validators/CommonsMediaExistsValidatorTest.php +++ b/repo/tests/phpunit/includes/Validators/CommonsMediaExistsValidatorTest.php @@ -26,7 +26,7 @@ class CommonsMediaExistsValidatorTest extends \PHPUnit\Framework\TestCase { $fileNameLookup->method( 'lookupFileName' ) ->with( $this->isType( 'string' ) ) - ->willReturnCallback( function( $fileName ) { + ->willReturnCallback( static function( $fileName ) { return strpos( $fileName, 'NOT-FOUND' ) === false ? $fileName : null; } ); diff --git a/repo/tests/phpunit/includes/Validators/FingerprintUniquenessValidatorTest.php b/repo/tests/phpunit/includes/Validators/FingerprintUniquenessValidatorTest.php index a28304a..e58881e 100644 --- a/repo/tests/phpunit/includes/Validators/FingerprintUniquenessValidatorTest.php +++ b/repo/tests/phpunit/includes/Validators/FingerprintUniquenessValidatorTest.php @@ -65,7 +65,7 @@ class FingerprintUniquenessValidatorTest extends TestCase { ], 'old label not in ChangeOpResult - no collisions detected' => [ - 'getLabelMock' => function () { + 'getLabelMock' => static function () { return 'old label'; }, 'getDescriptionMock' => null, @@ -83,7 +83,7 @@ class FingerprintUniquenessValidatorTest extends TestCase { 'old description not in ChangeOpResult - no collisions detected' => [ 'getLabelMock' => null, - 'getDescriptionMock' => function () { + 'getDescriptionMock' => static function () { return 'old description'; }, 'detectLabelAndDescriptionCollisionMock' => function ( $lang, $label, $description ) { diff --git a/repo/tests/phpunit/includes/Validators/InterWikiLinkExistsValidatorTest.php b/repo/tests/phpunit/includes/Validators/InterWikiLinkExistsValidatorTest.php index e903ee7..25f2783 100644 --- a/repo/tests/phpunit/includes/Validators/InterWikiLinkExistsValidatorTest.php +++ b/repo/tests/phpunit/includes/Validators/InterWikiLinkExistsValidatorTest.php @@ -28,7 +28,7 @@ class InterWikiLinkExistsValidatorTest extends \PHPUnit\Framework\TestCase { $pageNormalizer->method( 'normalizePageName' ) ->with( $this->isType( 'string' ), $this->anything() ) - ->willReturnCallback( function( $pageName ) { + ->willReturnCallback( static function( $pageName ) { return $pageName === self::EXISTING_PAGE ? $pageName : false; } ); diff --git a/repo/tests/phpunit/includes/Validators/SnakValidatorTest.php b/repo/tests/phpunit/includes/Validators/SnakValidatorTest.php index 945beb2..0d85273 100644 --- a/repo/tests/phpunit/includes/Validators/SnakValidatorTest.php +++ b/repo/tests/phpunit/includes/Validators/SnakValidatorTest.php @@ -72,7 +72,7 @@ class SnakValidatorTest extends \PHPUnit\Framework\TestCase { $this->validatorFactory = $this->createMock( DataTypeValidatorFactory::class ); $this->validatorFactory->method( 'getValidators' ) - ->willReturnCallback( function( $dataTypeId ) use ( + ->willReturnCallback( static function( $dataTypeId ) use ( $numericValidator, $alphabeticValidator, $lengthValidator diff --git a/repo/tests/phpunit/includes/Validators/StringLengthValidatorTest.php b/repo/tests/phpunit/includes/Validators/StringLengthValidatorTest.php index 1360526..e854d8a 100644 --- a/repo/tests/phpunit/includes/Validators/StringLengthValidatorTest.php +++ b/repo/tests/phpunit/includes/Validators/StringLengthValidatorTest.php @@ -55,7 +55,7 @@ class StringLengthValidatorTest extends \PHPUnit\Framework\TestCase { public function testWhenErrorCodePrefixIsPassedAndErrorIsTriggered() { $errorCodePrefix = '[PREFIX]'; $maxLength = 0; - $tooLongFunction = function() use ( $maxLength ) { + $tooLongFunction = static function() use ( $maxLength ) { return $maxLength + 1; }; diff --git a/repo/tests/phpunit/includes/Validators/ValidatorErrorLocalizerTest.php b/repo/tests/phpunit/includes/Validators/ValidatorErrorLocalizerTest.php index 8053074..f363667 100644 --- a/repo/tests/phpunit/includes/Validators/ValidatorErrorLocalizerTest.php +++ b/repo/tests/phpunit/includes/Validators/ValidatorErrorLocalizerTest.php @@ -27,7 +27,7 @@ class ValidatorErrorLocalizerTest extends \PHPUnit\Framework\TestCase { $mock = $this->createMock( ValueFormatter::class ); $mock->method( 'format' ) ->willReturnCallback( - function ( $param ) { + static function ( $param ) { if ( is_array( $param ) ) { $param = implode( '|', $param ); } diff --git a/repo/tests/phpunit/includes/ValueParserFactoryTest.php b/repo/tests/phpunit/includes/ValueParserFactoryTest.php index c9456f8..45ca511 100644 --- a/repo/tests/phpunit/includes/ValueParserFactoryTest.php +++ b/repo/tests/phpunit/includes/ValueParserFactoryTest.php @@ -35,7 +35,7 @@ class ValueParserFactoryTest extends \PHPUnit\Framework\TestCase { 'id' => 'not a callable', ] ], 'id is not a string' => [ [ - function () { + static function () { }, ] ], ]; @@ -49,7 +49,7 @@ class ValueParserFactoryTest extends \PHPUnit\Framework\TestCase { } public function testNewParser_withInvalidReturnValue() { - $factory = new ValueParserFactory( [ 'id' => function () { + $factory = new ValueParserFactory( [ 'id' => static function () { return 'invalid'; } ] ); @@ -72,7 +72,7 @@ class ValueParserFactoryTest extends \PHPUnit\Framework\TestCase { return [ [ [ - 'foo' => function() { + 'foo' => static function() { return new NullParser(); }, ], diff --git a/repo/tests/phpunit/maintenance/DumpJsonTest.php b/repo/tests/phpunit/maintenance/DumpJsonTest.php index 6f58732..5e83fbb 100644 --- a/repo/tests/phpunit/maintenance/DumpJsonTest.php +++ b/repo/tests/phpunit/maintenance/DumpJsonTest.php @@ -202,7 +202,7 @@ class DumpJsonTest extends MediaWikiIntegrationTestCase { private function getMockPropertyDataTypeLookup() { $mockDataTypeLookup = $this->createMock( PropertyDataTypeLookup::class ); $mockDataTypeLookup->method( 'getDataTypeIdForProperty' ) - ->willReturnCallback( function( PropertyId $id ) { + ->willReturnCallback( static function( PropertyId $id ) { if ( $id->getSerialization() === 'P999' ) { throw new PropertyDataTypeLookupException( $id ); } diff --git a/repo/tests/phpunit/maintenance/DumpRdfTest.php b/repo/tests/phpunit/maintenance/DumpRdfTest.php index fcd2d34..36d736b 100644 --- a/repo/tests/phpunit/maintenance/DumpRdfTest.php +++ b/repo/tests/phpunit/maintenance/DumpRdfTest.php @@ -283,7 +283,7 @@ class DumpRdfTest extends MediaWikiIntegrationTestCase { private function getMockPropertyDataTypeLookup(): PropertyDataTypeLookup { $mockDataTypeLookup = $this->createMock( PropertyDataTypeLookup::class ); $mockDataTypeLookup->method( 'getDataTypeIdForProperty' ) - ->willReturnCallback( function( NumericPropertyId $id ) { + ->willReturnCallback( static function( NumericPropertyId $id ) { if ( $id->getSerialization() === 'P999' ) { throw new PropertyDataTypeLookupException( $id ); } diff --git a/repo/tests/phpunit/unit/ServiceWiring/AllTypesEntityDeserializerTest.php b/repo/tests/phpunit/unit/ServiceWiring/AllTypesEntityDeserializerTest.php index d086b36..74ce799 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/AllTypesEntityDeserializerTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/AllTypesEntityDeserializerTest.php @@ -21,11 +21,11 @@ class AllTypesEntityDeserializerTest extends ServiceWiringTestCase { private function makeMockDeserializer( string $validSerialization ): callable { $deserializer = $this->createMock( DispatchableDeserializer::class ); $deserializer->method( 'isDeserializerFor' ) - ->willReturnCallback( function ( $serialization ) use ( $validSerialization ) { + ->willReturnCallback( static function ( $serialization ) use ( $validSerialization ) { return $serialization == $validSerialization; } ); - return function () use ( $deserializer ): DispatchableDeserializer { + return static function () use ( $deserializer ): DispatchableDeserializer { return $deserializer; }; } diff --git a/repo/tests/phpunit/unit/ServiceWiring/ContentModelMappingsTest.php b/repo/tests/phpunit/unit/ServiceWiring/ContentModelMappingsTest.php index 7ee166a..3d02095 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/ContentModelMappingsTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/ContentModelMappingsTest.php @@ -35,7 +35,7 @@ class ContentModelMappingsTest extends ServiceWiringTestCase { $this->mockService( 'WikibaseRepo.EntityTypeDefinitions', new EntityTypeDefinitions( [] ) ); $this->configureHookContainer( [ - 'WikibaseContentModelMapping' => [ function ( array &$map ) { + 'WikibaseContentModelMapping' => [ static function ( array &$map ) { $map['test2'] = 'test2-content-model'; } ], ] ); diff --git a/repo/tests/phpunit/unit/ServiceWiring/DataTypeDefinitionsTest.php b/repo/tests/phpunit/unit/ServiceWiring/DataTypeDefinitionsTest.php index b4fbf86..9978263 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/DataTypeDefinitionsTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/DataTypeDefinitionsTest.php @@ -36,7 +36,7 @@ class DataTypeDefinitionsTest extends ServiceWiringTestCase { public function testRunsHook(): void { $this->configureHookContainer( [ - 'WikibaseRepoDataTypes' => [ function ( array &$dataTypes ) { + 'WikibaseRepoDataTypes' => [ static function ( array &$dataTypes ) { $dataTypes['PT:test'] = [ 'value-type' => 'string' ]; } ], ] ); diff --git a/repo/tests/phpunit/unit/ServiceWiring/DataTypeValidatorFactoryTest.php b/repo/tests/phpunit/unit/ServiceWiring/DataTypeValidatorFactoryTest.php index 9ad0bc8..4c38150 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/DataTypeValidatorFactoryTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/DataTypeValidatorFactoryTest.php @@ -37,7 +37,7 @@ class DataTypeValidatorFactoryTest extends ServiceWiringTestCase { $dataTypeDefs = new DataTypeDefinitions( [ 'PT:some-property' => [ 'value-type' => 'string', - 'validator-factory-callback' => function () use ( $fakeValidators ): array { + 'validator-factory-callback' => static function () use ( $fakeValidators ): array { return $fakeValidators; }, ], diff --git a/repo/tests/phpunit/unit/ServiceWiring/EntityChangeOpProviderTest.php b/repo/tests/phpunit/unit/ServiceWiring/EntityChangeOpProviderTest.php index ce7d103..ed5a172 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/EntityChangeOpProviderTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/EntityChangeOpProviderTest.php @@ -28,7 +28,7 @@ class EntityChangeOpProviderTest extends ServiceWiringTestCase { $this->mockService( 'WikibaseRepo.EntityTypeDefinitions', new EntityTypeDefinitions( [ 'test' => [ - EntityTypeDefinitions::CHANGEOP_DESERIALIZER_CALLBACK => function () use ( $changeOpDeserializer ) { + EntityTypeDefinitions::CHANGEOP_DESERIALIZER_CALLBACK => static function () use ( $changeOpDeserializer ) { return $changeOpDeserializer; }, ], diff --git a/repo/tests/phpunit/unit/ServiceWiring/EntityDifferTest.php b/repo/tests/phpunit/unit/ServiceWiring/EntityDifferTest.php index 69f2f8a..c5efd0e 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/EntityDifferTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/EntityDifferTest.php @@ -26,13 +26,13 @@ class EntityDifferTest extends ServiceWiringTestCase { $this->mockService( 'WikibaseRepo.EntityTypeDefinitions', new EntityTypeDefinitions( [ 'test1' => [ - EntityTypeDefinitions::ENTITY_DIFFER_STRATEGY_BUILDER => function () use ( &$calls1, $strategy1 ) { + EntityTypeDefinitions::ENTITY_DIFFER_STRATEGY_BUILDER => static function () use ( &$calls1, $strategy1 ) { $calls1++; return $strategy1; }, ], 'test2' => [ - EntityTypeDefinitions::ENTITY_DIFFER_STRATEGY_BUILDER => function () use ( &$calls2, $strategy2 ) { + EntityTypeDefinitions::ENTITY_DIFFER_STRATEGY_BUILDER => static function () use ( &$calls2, $strategy2 ) { $calls2++; return $strategy2; }, diff --git a/repo/tests/phpunit/unit/ServiceWiring/EntityFactoryTest.php b/repo/tests/phpunit/unit/ServiceWiring/EntityFactoryTest.php index 29733ad..b976e45 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/EntityFactoryTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/EntityFactoryTest.php @@ -36,7 +36,7 @@ class EntityFactoryTest extends ServiceWiringTestCase { 'WikibaseRepo.EntityTypeDefinitions', new EntityTypeDefinitions( [ 'something' => [ - EntityTypeDefinitions::ENTITY_FACTORY_CALLBACK => function () use ( $fakeEntity ) { + EntityTypeDefinitions::ENTITY_FACTORY_CALLBACK => static function () use ( $fakeEntity ) { return $fakeEntity; }, ], diff --git a/repo/tests/phpunit/unit/ServiceWiring/EntityIdComposerTest.php b/repo/tests/phpunit/unit/ServiceWiring/EntityIdComposerTest.php index 0aad9ec..92604c9 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/EntityIdComposerTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/EntityIdComposerTest.php @@ -22,7 +22,7 @@ class EntityIdComposerTest extends ServiceWiringTestCase { $this->mockService( 'WikibaseRepo.EntityTypeDefinitions', new EntityTypeDefinitions( [ 'test' => [ - EntityTypeDefinitions::ENTITY_ID_COMPOSER_CALLBACK => function ( $uniquePart ) { + EntityTypeDefinitions::ENTITY_ID_COMPOSER_CALLBACK => static function ( $uniquePart ) { return new ItemId( 'Q' . $uniquePart ); }, ], diff --git a/repo/tests/phpunit/unit/ServiceWiring/EntityIdParserTest.php b/repo/tests/phpunit/unit/ServiceWiring/EntityIdParserTest.php index 0e3a228..ec91085 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/EntityIdParserTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/EntityIdParserTest.php @@ -28,7 +28,7 @@ class EntityIdParserTest extends ServiceWiringTestCase { new EntityTypeDefinitions( [ 'test' => [ EntityTypeDefinitions::ENTITY_ID_PATTERN => '/^T[1-9][0-9]*$/', - EntityTypeDefinitions::ENTITY_ID_BUILDER => function ( $serialization ) { + EntityTypeDefinitions::ENTITY_ID_BUILDER => static function ( $serialization ) { return new ItemId( 'Q1000' . substr( $serialization, 1 ) ); }, ], @@ -52,7 +52,7 @@ class EntityIdParserTest extends ServiceWiringTestCase { $entityTypeDefinitions = new EntityTypeDefinitions( [ 'test' => [ EntityTypeDefinitions::ENTITY_ID_PATTERN => '/^T[1-9][0-9]*$/', - EntityTypeDefinitions::ENTITY_ID_BUILDER => function ( $serialization ) { + EntityTypeDefinitions::ENTITY_ID_BUILDER => static function ( $serialization ) { return new ItemId( 'Q1000' . substr( $serialization, 1 ) ); }, ], diff --git a/repo/tests/phpunit/unit/ServiceWiring/EntityNamespaceLookupTest.php b/repo/tests/phpunit/unit/ServiceWiring/EntityNamespaceLookupTest.php index 2d65d09..a8a3a66 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/EntityNamespaceLookupTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/EntityNamespaceLookupTest.php @@ -22,7 +22,7 @@ class EntityNamespaceLookupTest extends ServiceWiringTestCase { private function getEntitySources( array ...$entityNSDefinitions ): EntitySourceDefinitions { return new EntitySourceDefinitions( array_map( - function ( array $nsDefinitions, int $idx ): DatabaseEntitySource { + static function ( array $nsDefinitions, int $idx ): DatabaseEntitySource { return new DatabaseEntitySource( 'test-' . $idx, false, diff --git a/repo/tests/phpunit/unit/ServiceWiring/EntityPatcherTest.php b/repo/tests/phpunit/unit/ServiceWiring/EntityPatcherTest.php index 7c95e11..35c81e6 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/EntityPatcherTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/EntityPatcherTest.php @@ -26,13 +26,13 @@ class EntityPatcherTest extends ServiceWiringTestCase { $this->mockService( 'WikibaseRepo.EntityTypeDefinitions', new EntityTypeDefinitions( [ 'test1' => [ - EntityTypeDefinitions::ENTITY_PATCHER_STRATEGY_BUILDER => function () use ( &$calls1, $strategy1 ) { + EntityTypeDefinitions::ENTITY_PATCHER_STRATEGY_BUILDER => static function () use ( &$calls1, $strategy1 ) { $calls1++; return $strategy1; }, ], 'test2' => [ - EntityTypeDefinitions::ENTITY_PATCHER_STRATEGY_BUILDER => function () use ( &$calls2, $strategy2 ) { + EntityTypeDefinitions::ENTITY_PATCHER_STRATEGY_BUILDER => static function () use ( &$calls2, $strategy2 ) { $calls2++; return $strategy2; }, diff --git a/repo/tests/phpunit/unit/ServiceWiring/EntitySearchHelperCallbacksTest.php b/repo/tests/phpunit/unit/ServiceWiring/EntitySearchHelperCallbacksTest.php index a379c09..e8c1a05 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/EntitySearchHelperCallbacksTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/EntitySearchHelperCallbacksTest.php @@ -37,7 +37,7 @@ class EntitySearchHelperCallbacksTest extends ServiceWiringTestCase { ->willReturn( new HookContainer( new StaticHookRegistry( [ 'WikibaseRepoEntitySearchHelperCallbacks' => [ - 'callback' => function ( &$callbacks ) use ( $callable3 ) { + 'callback' => static function ( &$callbacks ) use ( $callable3 ) { $callbacks['type3'] = $callable3; }, ], diff --git a/repo/tests/phpunit/unit/ServiceWiring/EntityTypeDefinitionsTest.php b/repo/tests/phpunit/unit/ServiceWiring/EntityTypeDefinitionsTest.php index d94c29e..3503a99 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/EntityTypeDefinitionsTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/EntityTypeDefinitionsTest.php @@ -28,7 +28,7 @@ class EntityTypeDefinitionsTest extends ServiceWiringTestCase { public function testRunsHook(): void { $this->configureHookContainer( [ - 'WikibaseRepoEntityTypes' => [ function ( array &$entityTypes ) { + 'WikibaseRepoEntityTypes' => [ static function ( array &$entityTypes ) { $entityTypes['test'] = []; } ], ] ); diff --git a/repo/tests/phpunit/unit/ServiceWiring/FulltextSearchTypesTest.php b/repo/tests/phpunit/unit/ServiceWiring/FulltextSearchTypesTest.php index 95cd706..cc87b6a 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/FulltextSearchTypesTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/FulltextSearchTypesTest.php @@ -16,7 +16,7 @@ use Wikibase\Repo\Tests\Unit\ServiceWiringTestCase; class FulltextSearchTypesTest extends ServiceWiringTestCase { private function getEntityTypeDefinitions( array $typesToContexts ): EntityTypeDefinitions { - return new EntityTypeDefinitions( array_map( function ( $context ){ + return new EntityTypeDefinitions( array_map( static function ( $context ){ return [ EntityTypeDefinitions::FULLTEXT_SEARCH_CONTEXT => $context, ]; @@ -43,7 +43,7 @@ class FulltextSearchTypesTest extends ServiceWiringTestCase { public function testReturnsCallbackResults(): void { $mockFulltextContextStrings = [ 'something' => 'test-context', - 'another' => function () { + 'another' => static function () { return 'another-context'; }, ]; diff --git a/repo/tests/phpunit/unit/ServiceWiring/ItemVocabularyBaseUriTest.php b/repo/tests/phpunit/unit/ServiceWiring/ItemVocabularyBaseUriTest.php index afa0c95..6ee6a93 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/ItemVocabularyBaseUriTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/ItemVocabularyBaseUriTest.php @@ -25,7 +25,7 @@ class ItemVocabularyBaseUriTest extends ServiceWiringTestCase { return new EntitySourceDefinitions( array_map( - function ( string $baseUri, array $entityTypes, int $idx ): DatabaseEntitySource { + static function ( string $baseUri, array $entityTypes, int $idx ): DatabaseEntitySource { return new DatabaseEntitySource( 'test' . $idx, false, diff --git a/repo/tests/phpunit/unit/ServiceWiring/LocalEntityNamespaceLookupTest.php b/repo/tests/phpunit/unit/ServiceWiring/LocalEntityNamespaceLookupTest.php index b30f9e8..0bfb6c7 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/LocalEntityNamespaceLookupTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/LocalEntityNamespaceLookupTest.php @@ -27,7 +27,7 @@ class LocalEntityNamespaceLookupTest extends ServiceWiringTestCase { new DatabaseEntitySource( 'local', false, - array_map( function ( $nsId ) { + array_map( static function ( $nsId ) { return [ 'namespaceId' => $nsId, 'slot' => SlotRecord::MAIN, diff --git a/repo/tests/phpunit/unit/ServiceWiring/ValueParserFactoryTest.php b/repo/tests/phpunit/unit/ServiceWiring/ValueParserFactoryTest.php index 15ac439..b657cb3 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/ValueParserFactoryTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/ValueParserFactoryTest.php @@ -85,7 +85,7 @@ class ValueParserFactoryTest extends ServiceWiringTestCase { } private function makeParserFactoryCallback(): callable { - return function () { + return static function () { throw new AssertionError( 'Should never be called' ); }; } diff --git a/repo/tests/phpunit/unit/ServiceWiring/ValueSnakRdfBuilderFactoryTest.php b/repo/tests/phpunit/unit/ServiceWiring/ValueSnakRdfBuilderFactoryTest.php index 3783c7c..983a76c 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/ValueSnakRdfBuilderFactoryTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/ValueSnakRdfBuilderFactoryTest.php @@ -22,7 +22,7 @@ class ValueSnakRdfBuilderFactoryTest extends ServiceWiringTestCase { $this->mockService( 'WikibaseRepo.DataTypeDefinitions', new DataTypeDefinitions( [ 'VT:test' => [ - 'rdf-builder-factory-callback' => function () { + 'rdf-builder-factory-callback' => static function () { return null; }, ], diff --git a/repo/tests/phpunit/unit/ServiceWiring/WikibaseContentLanguagesTest.php b/repo/tests/phpunit/unit/ServiceWiring/WikibaseContentLanguagesTest.php index 55a1aff..c20f83e 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/WikibaseContentLanguagesTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/WikibaseContentLanguagesTest.php @@ -19,7 +19,7 @@ class WikibaseContentLanguagesTest extends ServiceWiringTestCase { public function testConstruction() { $testLanguages = new StaticContentLanguages( [ 'test' ] ); $this->configureHookContainer( [ - 'WikibaseContentLanguages' => [ function ( array &$contentLanguages ) use ( $testLanguages ) { + 'WikibaseContentLanguages' => [ static function ( array &$contentLanguages ) use ( $testLanguages ) { $contentLanguages['test'] = $testLanguages; } ], ] ); diff --git a/repo/tests/phpunit/unit/includes/Hooks/EntityDataPurgerTest.php b/repo/tests/phpunit/unit/includes/Hooks/EntityDataPurgerTest.php index d89f6e8..bc90ea5 100644 --- a/repo/tests/phpunit/unit/includes/Hooks/EntityDataPurgerTest.php +++ b/repo/tests/phpunit/unit/includes/Hooks/EntityDataPurgerTest.php @@ -136,7 +136,7 @@ class EntityDataPurgerTest extends MediaWikiUnitTestCase { $jobQueueGroup = $this->createMock( JobQueueGroup::class ); $jobQueueGroup->expects( $this->once() ) ->method( 'lazyPush' ) - ->willReturnCallback( function ( IJobSpecification $job ) use ( &$actualJob ) { + ->willReturnCallback( static function ( IJobSpecification $job ) use ( &$actualJob ) { $actualJob = $job; } ); diff --git a/view/resources.php b/view/resources.php index 5f11a7b..9da8b8e 100644 --- a/view/resources.php +++ b/view/resources.php @@ -12,7 +12,7 @@ use Wikibase\View\Termbox\TermboxModule; * @license GPL-2.0-or-later * @author Adrian Heine <adrian.heine@wikimedia.de> */ -return call_user_func( function() { +return call_user_func( static function() { $moduleTemplate = [ 'localBasePath' => __DIR__ . '/resources', 'remoteExtPath' => 'Wikibase/view/resources', @@ -962,7 +962,7 @@ return call_user_func( function() { 'mountTermbox.js', [ 'name' => 'config.json', - 'callback' => function () { + 'callback' => static function () { return [ 'tags' => WikibaseRepo::getSettings()->getSetting( 'termboxTags' ), 'tempUserEnabled' => MediaWikiServices::getInstance()->getTempUserConfig()->isEnabled(), @@ -984,7 +984,7 @@ return call_user_func( function() { 'dist/wikibase.termbox.init.js', [ 'name' => 'termbox.config.js', - 'callback' => function ( Context $context ) { + 'callback' => static function ( Context $context ) { global $wgEditSubmitButtonLabelPublish; $saveMessageKey = ( $wgEditSubmitButtonLabelPublish ) ? 'wikibase-publish' : 'wikibase-save'; diff --git a/view/resources/templates.php b/view/resources/templates.php index 5c03a42..aa2e149 100644 --- a/view/resources/templates.php +++ b/view/resources/templates.php @@ -12,7 +12,7 @@ namespace Wikibase; * @return array templates */ -return call_user_func( function() { +return call_user_func( static function() { $templates = []; $templates['wikibase-entityview'] = diff --git a/view/src/DummyLocalizedTextProvider.php b/view/src/DummyLocalizedTextProvider.php index 1af3edf..0a76688 100644 --- a/view/src/DummyLocalizedTextProvider.php +++ b/view/src/DummyLocalizedTextProvider.php @@ -23,7 +23,7 @@ class DummyLocalizedTextProvider implements LocalizedTextProvider { public function getEscaped( $key, array $params = [] ) { return $this->get( htmlspecialchars( $key ), - array_map( function ( $param ) { + array_map( static function ( $param ) { return $param instanceof RawMessageParameter ? $param->getContents() : htmlspecialchars( $param ); }, $params ) ); diff --git a/view/src/FallbackChainModuleMethods.php b/view/src/FallbackChainModuleMethods.php index 9d64594..388e3df 100644 --- a/view/src/FallbackChainModuleMethods.php +++ b/view/src/FallbackChainModuleMethods.php @@ -21,7 +21,7 @@ class FallbackChainModuleMethods { return $localCache->getWithSetCallback( $localCache->makeKey( 'wikibase-fallback-chains' ), $localCache::TTL_WEEK, - function () use ( $services ) { + static function () use ( $services ) { $startTime = microtime( true ); $fallbackChainFactory = WikibaseRepo::getLanguageFallbackChainFactory( $services ); diff --git a/view/src/SiteLinksView.php b/view/src/SiteLinksView.php index 6d1673e..4f045d3 100644 --- a/view/src/SiteLinksView.php +++ b/view/src/SiteLinksView.php @@ -240,7 +240,7 @@ class SiteLinksView { // Sort the sitelinks according to their global id usort( $siteLinksForTable, - function( array $a, array $b ) { + static function( array $a, array $b ) { /** @var SiteLink[] $a */ /** @var SiteLink[] $b */ return strcmp( $a['siteLink']->getSiteId(), $b['siteLink']->getSiteId() ); diff --git a/view/src/Termbox/Renderer/TermboxRemoteRenderer.php b/view/src/Termbox/Renderer/TermboxRemoteRenderer.php index 693c2d5..17ed3a1 100644 --- a/view/src/Termbox/Renderer/TermboxRemoteRenderer.php +++ b/view/src/Termbox/Renderer/TermboxRemoteRenderer.php @@ -124,7 +124,7 @@ class TermboxRemoteRenderer implements TermboxRenderer { } private function getLanguageCodes( TermLanguageFallbackChain $preferredLanguages ) { - return array_map( function ( LanguageWithConversion $language ) { + return array_map( static function ( LanguageWithConversion $language ) { return $language->getLanguageCode(); }, $preferredLanguages->getFallbackChain() ); } diff --git a/view/tests/phpunit/FingerprintableEntityMetaTagsCreatorTest.php b/view/tests/phpunit/FingerprintableEntityMetaTagsCreatorTest.php index 8a745ab..718f6ea 100644 --- a/view/tests/phpunit/FingerprintableEntityMetaTagsCreatorTest.php +++ b/view/tests/phpunit/FingerprintableEntityMetaTagsCreatorTest.php @@ -20,10 +20,10 @@ class FingerprintableEntityMetaTagsCreatorTest extends EntityMetaTagsCreatorTest public static function provideTestGetMetaTags() { - $fingerprintableEntityMetaTagsFactory = function ( self $self ) { + $fingerprintableEntityMetaTagsFactory = static function ( self $self ) { $mock = $self->createMock( TermLanguageFallbackChain::class ); $mock->method( 'extractPreferredValue' ) - ->willReturnCallback( function( $input ) { + ->willReturnCallback( static function( $input ) { $langString = $input['en'] ?? null; if ( $langString !== null ) { return [ 'value' => $langString ]; diff --git a/view/tests/phpunit/SimpleEntityTermsViewTest.php b/view/tests/phpunit/SimpleEntityTermsViewTest.php index c6b8cf5..a1b50ca 100644 --- a/view/tests/phpunit/SimpleEntityTermsViewTest.php +++ b/view/tests/phpunit/SimpleEntityTermsViewTest.php @@ -47,13 +47,13 @@ class SimpleEntityTermsViewTest extends \PHPUnit\Framework\TestCase { $htmlTermRenderer = $this->createMock( HtmlTermRenderer::class ); $htmlTermRenderer->method( 'renderTerm' ) - ->willReturnCallback( function( Term $term ) { + ->willReturnCallback( static function( Term $term ) { return htmlspecialchars( $term->getText() ); } ); $labelDescriptionLookup = $this->createMock( LabelDescriptionLookup::class ); $labelDescriptionLookup->method( 'getLabel' ) - ->willReturnCallback( function( EntityId $entityId ) { + ->willReturnCallback( static function( EntityId $entityId ) { $terms = [ 'Q111' => new Term( 'language', '<LABEL>' ), 'Q666' => new Term( 'language', '<a href="#">evil html</a>' ), @@ -61,7 +61,7 @@ class SimpleEntityTermsViewTest extends \PHPUnit\Framework\TestCase { return $terms[$entityId->getSerialization()] ?? null; } ); $labelDescriptionLookup->method( 'getDescription' ) - ->willReturnCallback( function( EntityId $entityId ) { + ->willReturnCallback( static function( EntityId $entityId ) { return $entityId->getSerialization() === 'Q111' ? new Term( 'language', '<DESCRIPTION>' ) : null; } ); diff --git a/view/tests/phpunit/SiteLinksViewTest.php b/view/tests/phpunit/SiteLinksViewTest.php index 720e755..de68603 100644 --- a/view/tests/phpunit/SiteLinksViewTest.php +++ b/view/tests/phpunit/SiteLinksViewTest.php @@ -206,7 +206,7 @@ class SiteLinksViewTest extends \PHPUnit\Framework\TestCase { $formatter = $this->createMock( EntityIdFormatter::class ); $formatter->method( 'formatEntityId' ) - ->willReturnCallback( function( EntityId $id ) { + ->willReturnCallback( static function( EntityId $id ) { if ( $id->getSerialization() === 'Q42' ) { return 'Featured article'; } elseif ( $id->getSerialization() === 'Q56' ) { diff --git a/view/tests/phpunit/StatementGroupListViewTest.php b/view/tests/phpunit/StatementGroupListViewTest.php index 06aa0f0..7210dc0 100644 --- a/view/tests/phpunit/StatementGroupListViewTest.php +++ b/view/tests/phpunit/StatementGroupListViewTest.php @@ -199,7 +199,7 @@ class StatementGroupListViewTest extends \PHPUnit\Framework\TestCase { $statementHtmlGenerator = $this->createMock( StatementHtmlGenerator::class ); $statementHtmlGenerator->method( 'getHtmlForStatement' ) - ->willReturnCallback( function( Statement $statement, $editSectionHtml = null ) { + ->willReturnCallback( static function( Statement $statement, $editSectionHtml = null ) { return $statement->getGuid() . "\n"; } ); diff --git a/view/tests/phpunit/Termbox/Renderer/TermboxRemoteRendererTest.php b/view/tests/phpunit/Termbox/Renderer/TermboxRemoteRendererTest.php index 06040d0..ec0efdb 100644 --- a/view/tests/phpunit/Termbox/Renderer/TermboxRemoteRendererTest.php +++ b/view/tests/phpunit/Termbox/Renderer/TermboxRemoteRendererTest.php @@ -347,7 +347,7 @@ class TermboxRemoteRendererTest extends TestCase { $stubContentLanguages->method( 'hasLanguage' ) ->willReturn( true ); $languageFactory = MediaWikiServices::getInstance()->getLanguageFactory(); - return new TermLanguageFallbackChain( array_map( function ( $languageCode ) use ( $languageFactory ) { + return new TermLanguageFallbackChain( array_map( static function ( $languageCode ) use ( $languageFactory ) { return LanguageWithConversion::factory( $languageFactory->getLanguage( $languageCode ) ); }, $languages ), $stubContentLanguages ); } diff --git a/view/tests/phpunit/TermsListViewTest.php b/view/tests/phpunit/TermsListViewTest.php index 4b66a19..63a1efc 100644 --- a/view/tests/phpunit/TermsListViewTest.php +++ b/view/tests/phpunit/TermsListViewTest.php @@ -40,7 +40,7 @@ class TermsListViewTest extends \PHPUnit\Framework\TestCase { $languageNameLookup = $this->createMock( LanguageNameLookup::class ); $languageNameLookup->expects( $this->exactly( $languageNameCalls ) ) ->method( 'getNameForTerms' ) - ->willReturnCallback( function( $languageCode ) { + ->willReturnCallback( static function( $languageCode ) { return "<LANGUAGENAME-$languageCode>"; } ); $languageNameLookup->expects( $this->never() ) @@ -48,7 +48,7 @@ class TermsListViewTest extends \PHPUnit\Framework\TestCase { $languageDirectionalityLookup = $this->createMock( LanguageDirectionalityLookup::class ); $languageDirectionalityLookup->method( 'getDirectionality' ) - ->willReturnCallback( function( $languageCode ) { + ->willReturnCallback( static function( $languageCode ) { return [ 'en' => 'ltr', 'arc' => 'rtl', diff --git a/view/tests/phpunit/ToolbarEditSectionGeneratorTest.php b/view/tests/phpunit/ToolbarEditSectionGeneratorTest.php index 4b44217..c26e161 100644 --- a/view/tests/phpunit/ToolbarEditSectionGeneratorTest.php +++ b/view/tests/phpunit/ToolbarEditSectionGeneratorTest.php @@ -105,7 +105,7 @@ class ToolbarEditSectionGeneratorTest extends \PHPUnit\Framework\TestCase { private function newToolbarEditSectionGenerator() { $specialPageLinker = $this->createMock( SpecialPageLinker::class ); $specialPageLinker->method( 'getLink' ) - ->willReturnCallback( function( $specialPage, $params = [] ) { + ->willReturnCallback( static function( $specialPage, $params = [] ) { return 'Special:' . $specialPage . '/' . implode( '/', $params ); } ); -- 2.39.2
$ date --- stdout --- Tue Dec 24 03:26:51 UTC 2024 --- end --- $ git clone file:///srv/git/mediawiki-extensions-Wikibase.git repo --depth=1 -b master --- stderr --- Cloning into 'repo'... --- stdout --- --- end --- $ git config user.name libraryupgrader --- stdout --- --- end --- $ git config user.email tools.libraryupgrader@tools.wmflabs.org --- stdout --- --- end --- $ git submodule update --init --- stderr --- Submodule 'lib/resources/wikibase-api' (https://gerrit.wikimedia.org/r/wikibase/javascript-api) registered for path 'lib/resources/wikibase-api' Submodule 'view/lib/wikibase-data-model' (https://phabricator.wikimedia.org/source/wikibase-data-model.git) registered for path 'view/lib/wikibase-data-model' Submodule 'view/lib/wikibase-data-values' (https://phabricator.wikimedia.org/source/datavalues-javascript.git) registered for path 'view/lib/wikibase-data-values' Submodule 'view/lib/wikibase-data-values-value-view' (https://gerrit.wikimedia.org/r/data-values/value-view) registered for path 'view/lib/wikibase-data-values-value-view' Submodule 'view/lib/wikibase-serialization' (https://phabricator.wikimedia.org/source/wikibase-serialization.git) registered for path 'view/lib/wikibase-serialization' Submodule 'view/lib/wikibase-termbox' (https://gerrit.wikimedia.org/r/wikibase/termbox) registered for path 'view/lib/wikibase-termbox' Cloning into '/src/repo/lib/resources/wikibase-api'... Cloning into '/src/repo/view/lib/wikibase-data-model'... Cloning into '/src/repo/view/lib/wikibase-data-values'... Cloning into '/src/repo/view/lib/wikibase-data-values-value-view'... Cloning into '/src/repo/view/lib/wikibase-serialization'... Cloning into '/src/repo/view/lib/wikibase-termbox'... --- stdout --- Submodule path 'lib/resources/wikibase-api': checked out '7f076e3534686ab35f7807462539fcef08b6e9f2' Submodule path 'view/lib/wikibase-data-model': checked out '6b304daeb804591ddc4520925337429ac086515c' Submodule path 'view/lib/wikibase-data-values': checked out '457733ebe7b0d090a67e2623350be2e4286077fe' Submodule path 'view/lib/wikibase-data-values-value-view': checked out '0bd65f4e0cd4defdc315e15d462a09e8b6d9bf8f' Submodule path 'view/lib/wikibase-serialization': checked out 'e9b9a736f19e42497bfe45cb6f323781b00b5023' Submodule path 'view/lib/wikibase-termbox': checked out '87f5df732da97a7acd29b20bfd4f1aedff509fbf' --- end --- $ grr init --- stdout --- Installed commit-msg hook. --- end --- $ git show-ref refs/heads/master --- stdout --- 3d200544e20d3cd3e8a3ae5eb78adfd3d5d64a23 refs/heads/master --- end --- $ /usr/bin/npm audit --json --- stdout --- { "auditReportVersion": 2, "vulnerabilities": { "@wdio/cli": { "name": "@wdio/cli", "severity": "high", "isDirect": true, "via": [ "webdriverio", "yarn-install" ], "effects": [ "@wdio/local-runner", "@wdio/spec-reporter" ], "range": "5.4.10 - 8.41.0", "nodes": [ "node_modules/@wdio/cli" ], "fixAvailable": { "name": "@wdio/cli", "version": "9.4.5", "isSemVerMajor": true } }, "@wdio/local-runner": { "name": "@wdio/local-runner", "severity": "high", "isDirect": true, "via": [ "@wdio/cli", "@wdio/runner" ], "effects": [], "range": "6.0.4 - 8.41.0", "nodes": [ "node_modules/@wdio/local-runner" ], "fixAvailable": { "name": "@wdio/local-runner", "version": "9.4.5", "isSemVerMajor": true } }, "@wdio/runner": { "name": "@wdio/runner", "severity": "high", "isDirect": false, "via": [ "webdriverio" ], "effects": [ "@wdio/local-runner" ], "range": "7.16.5 - 8.41.0", "nodes": [ "node_modules/@wdio/runner" ], "fixAvailable": { "name": "@wdio/local-runner", "version": "9.4.5", "isSemVerMajor": true } }, "@wdio/spec-reporter": { "name": "@wdio/spec-reporter", "severity": "high", "isDirect": true, "via": [ "@wdio/cli" ], "effects": [], "range": "6.0.4 - 8.0.0-alpha.631", "nodes": [ "node_modules/@wdio/spec-reporter" ], "fixAvailable": { "name": "@wdio/spec-reporter", "version": "9.4.4", "isSemVerMajor": true } }, "cross-spawn": { "name": "cross-spawn", "severity": "high", "isDirect": false, "via": [ { "source": 1100562, "name": "cross-spawn", "dependency": "cross-spawn", "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn", "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275", "severity": "high", "cwe": [ "CWE-1333" ], "cvss": { "score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H" }, "range": "<6.0.6" } ], "effects": [ "yarn-install" ], "range": "<6.0.6", "nodes": [ "node_modules/yarn-install/node_modules/cross-spawn" ], "fixAvailable": { "name": "@wdio/cli", "version": "9.4.5", "isSemVerMajor": true } }, "devtools": { "name": "devtools", "severity": "high", "isDirect": false, "via": [ "puppeteer-core" ], "effects": [], "range": ">=7.16.5", "nodes": [ "node_modules/devtools" ], "fixAvailable": true }, "mocha": { "name": "mocha", "severity": "moderate", "isDirect": true, "via": [ "nanoid" ], "effects": [], "range": "8.2.0 - 10.2.0", "nodes": [ "node_modules/mocha" ], "fixAvailable": true }, "mwbot": { "name": "mwbot", "severity": "moderate", "isDirect": false, "via": [ "request" ], "effects": [ "wdio-mediawiki", "wdio-wikibase" ], "range": ">=0.1.6", "nodes": [ "node_modules/mwbot" ], "fixAvailable": false }, "nanoid": { "name": "nanoid", "severity": "moderate", "isDirect": false, "via": [ { "source": 1101163, "name": "nanoid", "dependency": "nanoid", "title": "Predictable results in nanoid generation when given non-integer values", "url": "https://github.com/advisories/GHSA-mwcw-c2x4-8c55", "severity": "moderate", "cwe": [ "CWE-835" ], "cvss": { "score": 4.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N" }, "range": "<3.3.8" } ], "effects": [ "mocha" ], "range": "<3.3.8", "nodes": [ "node_modules/nanoid", "node_modules/postcss/node_modules/nanoid" ], "fixAvailable": true }, "puppeteer-core": { "name": "puppeteer-core", "severity": "high", "isDirect": false, "via": [ "ws" ], "effects": [ "devtools", "webdriverio" ], "range": "11.0.0 - 22.11.1", "nodes": [ "node_modules/devtools/node_modules/puppeteer-core", "node_modules/puppeteer-core" ], "fixAvailable": { "name": "@wdio/cli", "version": "9.4.5", "isSemVerMajor": true } }, "request": { "name": "request", "severity": "moderate", "isDirect": false, "via": [ { "source": 1096727, "name": "request", "dependency": "request", "title": "Server-Side Request Forgery in Request", "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6", "severity": "moderate", "cwe": [ "CWE-918" ], "cvss": { "score": 6.1, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N" }, "range": "<=2.88.2" }, "tough-cookie" ], "effects": [ "mwbot" ], "range": "*", "nodes": [ "node_modules/request" ], "fixAvailable": false }, "tough-cookie": { "name": "tough-cookie", "severity": "moderate", "isDirect": false, "via": [ { "source": 1097682, "name": "tough-cookie", "dependency": "tough-cookie", "title": "tough-cookie Prototype Pollution vulnerability", "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3", "severity": "moderate", "cwe": [ "CWE-1321" ], "cvss": { "score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N" }, "range": "<4.1.3" } ], "effects": [ "request" ], "range": "<4.1.3", "nodes": [ "node_modules/tough-cookie" ], "fixAvailable": false }, "wdio-mediawiki": { "name": "wdio-mediawiki", "severity": "moderate", "isDirect": true, "via": [ "mwbot" ], "effects": [], "range": "*", "nodes": [ "node_modules/wdio-mediawiki" ], "fixAvailable": false }, "wdio-wikibase": { "name": "wdio-wikibase", "severity": "moderate", "isDirect": true, "via": [ "mwbot", "wdio-mediawiki" ], "effects": [], "range": "*", "nodes": [ "node_modules/wdio-wikibase" ], "fixAvailable": false }, "webdriverio": { "name": "webdriverio", "severity": "high", "isDirect": false, "via": [ "devtools", "puppeteer-core" ], "effects": [ "@wdio/cli", "@wdio/runner" ], "range": "7.16.5 - 8.41.0", "nodes": [ "node_modules/webdriverio" ], "fixAvailable": { "name": "@wdio/cli", "version": "9.4.5", "isSemVerMajor": true } }, "ws": { "name": "ws", "severity": "high", "isDirect": false, "via": [ { "source": 1098392, "name": "ws", "dependency": "ws", "title": "ws affected by a DoS when handling a request with many HTTP headers", "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q", "severity": "high", "cwe": [ "CWE-476" ], "cvss": { "score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H" }, "range": ">=8.0.0 <8.17.1" } ], "effects": [ "puppeteer-core" ], "range": "8.0.0 - 8.17.0", "nodes": [ "node_modules/devtools/node_modules/ws", "node_modules/ws" ], "fixAvailable": { "name": "@wdio/cli", "version": "9.4.5", "isSemVerMajor": true } }, "yarn-install": { "name": "yarn-install", "severity": "high", "isDirect": false, "via": [ "cross-spawn" ], "effects": [ "@wdio/cli" ], "range": "*", "nodes": [ "node_modules/yarn-install" ], "fixAvailable": { "name": "@wdio/cli", "version": "9.4.5", "isSemVerMajor": true } } }, "metadata": { "vulnerabilities": { "info": 0, "low": 0, "moderate": 7, "high": 10, "critical": 0, "total": 17 }, "dependencies": { "prod": 1, "dev": 1144, "optional": 2, "peer": 2, "peerOptional": 0, "total": 1144 } } } --- end --- $ /usr/bin/composer install --- stderr --- No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information. Loading composer repositories with package information Updating dependencies Lock file operations: 58 installs, 0 updates, 0 removals - Locking composer/installers (v1.12.0) - Locking composer/pcre (3.3.2) - Locking composer/semver (3.4.3) - Locking composer/spdx-licenses (1.5.8) - Locking composer/xdebug-handler (3.0.5) - Locking data-values/common (1.2.0) - Locking data-values/data-values (3.1.0) - Locking data-values/geo (4.5.0) - Locking data-values/interfaces (1.2.0) - Locking data-values/number (0.12.3) - Locking data-values/serialization (1.2.5) - Locking data-values/time (1.2.0) - Locking dealerdirect/phpcodesniffer-composer-installer (v0.7.2) - Locking diff/diff (3.3.1) - Locking felixfbecker/advanced-json-rpc (v3.2.1) - Locking mediawiki/mediawiki-codesniffer (dev-master fd6ecb5) - Locking mediawiki/mediawiki-phan-config (0.15.0) - Locking mediawiki/minus-x (1.1.3) - Locking mediawiki/phan-taint-check-plugin (6.1.0) - Locking microsoft/tolerant-php-parser (v0.1.2) - Locking monolog/monolog (2.10.0) - Locking netresearch/jsonmapper (v4.5.0) - Locking onoi/message-reporter (1.4.2) - Locking phan/phan (5.4.5) - Locking php-parallel-lint/php-console-color (v1.0.1) - Locking php-parallel-lint/php-console-highlighter (v1.0.0) - Locking php-parallel-lint/php-parallel-lint (v1.4.0) - Locking phpat/phpat (0.10.20) - Locking phpcsstandards/phpcsextra (1.2.1) - Locking phpcsstandards/phpcsutils (1.0.12) - Locking phpdocumentor/reflection-common (2.2.0) - Locking phpdocumentor/reflection-docblock (5.3.0) - Locking phpdocumentor/type-resolver (1.6.2) - Locking phpstan/phpdoc-parser (0.4.9) - Locking phpstan/phpstan (1.12.13) - Locking psr/container (2.0.2) - Locking psr/http-message (1.1) - Locking psr/log (1.1.4) - Locking psr/simple-cache (1.0.1) - Locking sabre/event (5.1.7) - Locking serialization/serialization (4.1.0) - Locking slevomat/coding-standard (6.4.1) - Locking squizlabs/php_codesniffer (3.10.3) - Locking swaggest/json-diff (v3.11.0) - Locking symfony/console (v7.2.1) - Locking symfony/deprecation-contracts (v3.5.1) - Locking symfony/polyfill-ctype (v1.31.0) - Locking symfony/polyfill-intl-grapheme (v1.31.0) - Locking symfony/polyfill-intl-normalizer (v1.31.0) - Locking symfony/polyfill-mbstring (v1.31.0) - Locking symfony/polyfill-php80 (v1.31.0) - Locking symfony/service-contracts (v3.5.1) - Locking symfony/string (v7.2.0) - Locking tysonandre/var_representation_polyfill (0.1.3) - Locking webmozart/assert (1.11.0) - Locking wikimedia/at-ease (v3.0.0) - Locking wikimedia/purtle (v2.0.0) - Locking wikimedia/timestamp (v4.2.0) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 58 installs, 0 updates, 0 removals 0 [>---------------------------] 0 [->--------------------------] - Installing composer/installers (v1.12.0): Extracting archive - Installing squizlabs/php_codesniffer (3.10.3): Extracting archive - Installing dealerdirect/phpcodesniffer-composer-installer (v0.7.2): Extracting archive - Installing composer/pcre (3.3.2): Extracting archive - Installing symfony/polyfill-php80 (v1.31.0): Extracting archive - Installing data-values/interfaces (1.2.0): Extracting archive - Installing data-values/data-values (3.1.0): Extracting archive - Installing data-values/geo (4.5.0): Extracting archive - Installing data-values/common (1.2.0): Extracting archive - Installing data-values/number (0.12.3): Extracting archive - Installing serialization/serialization (4.1.0): Extracting archive - Installing data-values/serialization (1.2.5): Extracting archive - Installing data-values/time (1.2.0): Extracting archive - Installing diff/diff (3.3.1): Extracting archive - Installing phpcsstandards/phpcsutils (1.0.12): Extracting archive - Installing phpcsstandards/phpcsextra (1.2.1): Extracting archive - Installing symfony/polyfill-mbstring (v1.31.0): Extracting archive - Installing composer/spdx-licenses (1.5.8): Extracting archive - Installing composer/semver (3.4.3): Extracting archive - Installing mediawiki/mediawiki-codesniffer (dev-master fd6ecb5): Extracting archive - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive - Installing symfony/polyfill-intl-normalizer (v1.31.0): Extracting archive - Installing symfony/polyfill-intl-grapheme (v1.31.0): Extracting archive - Installing symfony/polyfill-ctype (v1.31.0): Extracting archive - Installing symfony/string (v7.2.0): Extracting archive - Installing symfony/deprecation-contracts (v3.5.1): Extracting archive - Installing psr/container (2.0.2): Extracting archive - Installing symfony/service-contracts (v3.5.1): Extracting archive - Installing symfony/console (v7.2.1): Extracting archive - Installing sabre/event (5.1.7): Extracting archive - Installing netresearch/jsonmapper (v4.5.0): Extracting archive - Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive - Installing webmozart/assert (1.11.0): Extracting archive - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive - Installing phpdocumentor/type-resolver (1.6.2): Extracting archive - Installing phpdocumentor/reflection-docblock (5.3.0): Extracting archive - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive - Installing psr/log (1.1.4): Extracting archive - Installing composer/xdebug-handler (3.0.5): Extracting archive - Installing phan/phan (5.4.5): Extracting archive - Installing mediawiki/phan-taint-check-plugin (6.1.0): Extracting archive - Installing mediawiki/mediawiki-phan-config (0.15.0): Extracting archive - Installing mediawiki/minus-x (1.1.3): Extracting archive - Installing monolog/monolog (2.10.0): Extracting archive - Installing onoi/message-reporter (1.4.2): Extracting archive - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive - Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive - Installing phpstan/phpstan (1.12.13): Extracting archive - Installing phpat/phpat (0.10.20): Extracting archive - Installing psr/http-message (1.1): Extracting archive - Installing psr/simple-cache (1.0.1): Extracting archive - Installing phpstan/phpdoc-parser (0.4.9): Extracting archive - Installing slevomat/coding-standard (6.4.1): Extracting archive - Installing swaggest/json-diff (v3.11.0): Extracting archive - Installing wikimedia/at-ease (v3.0.0): Extracting archive - Installing wikimedia/purtle (v2.0.0): Extracting archive - Installing wikimedia/timestamp (v4.2.0): Extracting archive 0/55 [>---------------------------] 0% 20/55 [==========>-----------------] 36% 36/55 [==================>---------] 65% 46/55 [=======================>----] 83% 55/55 [============================] 100% 11 package suggestions were added by new dependencies, use `composer suggest` to see details. Generating autoload files 23 packages you are using are looking for funding. Use the `composer fund` command to find out more! --- stdout --- PHP CodeSniffer Config installed_paths set to ../../../repo,../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils,../../slevomat/coding-standard --- end --- Upgrading c:mediawiki/mediawiki-codesniffer from dev-master#fd6ecb5ffbe353507ca05387176db02f0f41f6fe -> 45.0.0 $ /usr/bin/composer update --- stderr --- Loading composer repositories with package information Updating dependencies Lock file operations: 0 installs, 1 update, 0 removals - Downgrading mediawiki/mediawiki-codesniffer (dev-master fd6ecb5 => v45.0.0) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 0 installs, 1 update, 0 removals - Downgrading mediawiki/mediawiki-codesniffer (dev-master fd6ecb5 => v45.0.0): Extracting archive Generating autoload files 23 packages you are using are looking for funding. Use the `composer fund` command to find out more! No security vulnerability advisories found --- stdout --- --- end --- Previously failing phpcs rules: {'MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate', 'MediaWiki.Usage.StaticClosure.StaticClosure', 'MediaWiki.Commenting.FunctionComment.MissingParamTag', 'MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected', 'MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic'} $ vendor/bin/phpcs --report=json --- stdout --- {"totals":{"errors":492,"warnings":1188,"fixable":1139},"files":{"\/src\/repo\/view\/src\/SpecialPageLinker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PropertyStatementIdRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/ItemStatementIdRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabel\/DeserializedGetPropertyLabelRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedPatchRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemLabelsRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/JsonPatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabels\/GetPropertyLabelsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveItemLabel\/DeserializedRemoveItemLabelRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveItemLabel\/RemoveItemLabelValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedEditMetadataRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/ItemDescriptionEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedPropertyDescriptionEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/LabelLanguageCodeRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemDescriptionsRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/PlaceholderExpander\/TermboxRequestInspector.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabel\/GetPropertyLabelRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedItemFieldsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/ValidationError.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveStatement\/RemoveStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabels\/GetPropertyLabels.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemDescriptions\/PatchItemDescriptionsResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/AliasesInLanguageEditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetLatestItemRevisionMetadata.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetSitelink\/SetSitelinkValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpAliasesResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetSitelink\/DeserializedSetSitelinkRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PropertyIdFilterValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/DispatchingEntityViewFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabels\/GetPropertyLabelsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Content\/DataUpdateAdapter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/StatementSectionsView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/StatementIdValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/EditMetadata.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpFingerprintResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabels\/GetPropertyLabelsResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/StatementRankSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveItemLabel\/RemoveItemLabel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/DefaultMetaTagsCreator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/maintenance\/MockAddUnits.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":44,"column":15}]},"\/src\/repo\/repo\/includes\/Hooks\/Helpers\/OutputPageEditability.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":39,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":43,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyDescriptions\/PatchPropertyDescriptions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOp.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/SnakValueDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/BabelUserLanguageLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/PatchItemEditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Localizer\/ExceptionLocalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyDescriptions\/PatchPropertyDescriptionsResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveStatement\/RemoveStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PropertyAliasesInLanguageEditRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/CreatePropertyEditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/PropertyTermStoreWriterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/StatementReadModelConverter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemStatement\/PatchItemStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetItemLabelsRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemDescriptions\/PatchItemDescriptions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetSitelink\/SetSitelink.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedSitelinkEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/StatementIdRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyDescriptionsRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveStatement\/DeserializedRemoveStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/OutputPageJsConfigBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveItemLabel\/RemoveItemLabelRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/PropertyTermsCollisionDetectorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetItemDescription\/SetItemDescriptionValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/FingerprintChangeOpFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/DummyChangeOpResultTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/SitelinkRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/config\/Wikibase.example.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":19,"column":17}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemStatement\/PatchItemStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/DifferencesSnakVisualizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/Deserialization\/LabelsChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/EntityDiffVisualizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/FingerprintableEntityMetaTagsCreator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialEntityData.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabel\/DeserializedGetItemLabelRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Localizer\/DispatchingExceptionLocalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetItemDescription\/DeserializedSetItemDescriptionRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/ExternalLinksDataUpdaterTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":29,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":56,"column":35}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ApiHelperFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/StatementsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemStatement\/DeserializedPatchItemStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/WikibaseHandleChangesHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialItemsWithoutSitelinks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/RemovePropertyStatement\/RemovePropertyStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyDescriptions\/PatchPropertyDescriptionsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/Helpers\/OutputPageEntityViewCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/ReplaceStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetSitelink\/SetSitelinkResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/StatementGroupListViewTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":202,"column":35}]},"\/src\/repo\/client\/config\/WikibaseClient.example.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/PartiallyValidatedLabels.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemLabelWithFallbackRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ChangeOpDeserializerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemStatement\/PatchItemStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveStatement\/RemoveStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/EditSectionGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/EditMetadataRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/Deserialization\/PropertyChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabel\/GetItemLabelResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/MediaWikiLocalizedTextProvider.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":49,"column":24}]},"\/src\/repo\/client\/config\/WikibaseClient.ci.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/GeoDataDataUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Localizer\/ChangeOpDeserializationExceptionLocalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyPartsRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/ItemIdRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/ItemFieldsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/SettingsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyAliasesInLanguage\/DeserializedGetPropertyAliasesInLanguageRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Interactors\/EntityRedirectCreationStatus.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ContentModelMappingsTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":38,"column":48}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/ClearableEntity.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetPropertyDescription\/SetPropertyDescriptionResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/PrefetchingTermLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/AllTypesEntityDeserializerTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":24,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":28,"column":16}]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyLabelRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/TermLookupEntityTermsRetrieverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/SiteIdRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/AliasTermBuffer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/RecentChangeSaveHookHandler.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":107,"column":13}]},"\/src\/repo\/repo\/includes\/Specials\/SpecialPageCopyrightView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpReferenceRemoveTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/TermFallbackCacheFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyStatement\/PatchPropertyStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/ClientSiteLinkTitleLookupTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":34,"column":35}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/EntityLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/Deserializers\/LegacySnakListDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyAliasesInLanguageRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/maintenance\/updateSubscriptions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ValueTypeLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyStatement\/PatchPropertyStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/TextInjector.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetItemDescription\/SetItemDescriptionRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/DispatchingEntityIdParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PropertyIdValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/Module\/TemplateModule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/maintenance\/RebuildEntityQuantityUnitTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyStatement\/DeserializedPatchPropertyStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityChangeLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/Scribunto\/WikibaseLanguageDependentLuaBindings.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabel\/GetItemLabel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/EntityParserOutputUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Localizer\/ParseExceptionLocalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/PropertyId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetSitelink\/SetSitelinkRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetPropertyDescription\/SetPropertyDescriptionRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/CreateItem\/DeserializedCreateItemRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyRevisionMetadataRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/ShortDescHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/Helpers\/UserPreferredContentLanguagesLookupTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$wikiDefaultLanguage\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":95,"column":5}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/LegacyAdapterPropertyLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/Deserialization\/TermChangeOpSerializationValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyAliasesInLanguage\/GetPropertyAliasesInLanguage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/ReferenceListSerializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":58,"column":13}]},"\/src\/repo\/repo\/includes\/Content\/PropertyHandler.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":107,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":141,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":175,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetPropertyAliasesRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/StatementGuidParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TermsDomainDbFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabel\/GetItemLabelValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/SnaksFinder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/PropertyStubRdfBuilderTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":88,"column":35}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetPropertyDescription\/SetPropertyDescriptionValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetItemDescription\/SetItemDescriptionResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/bootstrap.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyStatement\/PatchPropertyStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/FullStatementRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Localizer\/MessageExceptionLocalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/TermLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/DefaultSnakFormatterBuildersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/ToolbarEditSectionGeneratorTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":108,"column":35}]},"\/src\/repo\/repo\/includes\/Hooks\/DeleteDispatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/Deserializers\/StatementDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TypeIdsAcquirerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityTitleTextLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/StatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyAliasesInLanguage\/GetPropertyAliasesInLanguageRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabel\/GetItemLabelRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TokenCheckInteractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/Exceptions\/EditPrevented.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/Deserialization\/FingerprintChangeOpDeserializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":43,"column":12}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Statement\/V4GuidGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Localizer\/GenericExceptionLocalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/RepoDomainDbFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/ItemIdSet.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItem\/GetItemRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/MessageException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ReplaceItemStatement\/ReplaceItemStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/maintenance\/PopulateUnexpectedUnconnectedPagePageProp.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/SnaksFinderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyAliasesInLanguage\/GetPropertyAliasesInLanguageValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/CreateItem\/CreateItem.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PropertyDescriptionEditRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/BasicDiffView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialWikibaseRepoPageTestBase.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":70,"column":35}]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/Exceptions\/ResourceTooLargeException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/LangLinkSiteGroupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/ItemDescriptionsContentsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/ImageLinksDataUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/SubEntityTypesMapper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/LanguageCodeRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetItemAliasesInLanguage\/GetItemAliasesInLanguageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/DiffView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ItemTermStoreWriterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/LinkTargetEntityIdLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/ValueSnakRdfBuilderFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/ArticleRevisionVisibilitySetHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/ClientSiteLinkTitleLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/RedirectResolvingEntityLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/PropertyTermStoreWriterAdapter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/StringNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/EntityParserOutputGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/Deserializers\/LegacyEntityIdDeserializer.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":44,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":49,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":57,"column":13}]},"\/src\/repo\/lib\/includes\/Formatters\/FormatterLabelDescriptionLookupFactory.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":77,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":93,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/PropertyLookupException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/TitleLookupBasedEntityUrlLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/Exceptions\/PatchTestConditionFailedException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PropertyFieldsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/SetLabelTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/Exceptions\/RateLimitReached.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Modules\/SitesModuleBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyAliasesInLanguage\/GetPropertyAliasesInLanguageResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/DatabaseEntitySource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ReplaceItemStatement\/ReplaceItemStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/maintenance\/populateEntityUsage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetItemDescription\/SetItemDescription.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetPropertyDescription\/SetPropertyDescription.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/ItemLabelValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItem\/GetItemResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/SiteLinksForDisplayLookupTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":119,"column":35}]},"\/src\/repo\/repo\/includes\/ChangeOp\/Deserialization\/SiteLinkBadgeChangeOpSerializationValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetPropertyDescription\/DeserializedSetPropertyDescriptionRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/src\/EntityChange.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":181,"column":17}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabels\/GetItemLabelsResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/ItemDescriptionValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/CreateItem\/CreateItemResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/PatchPropertyLabelsRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TermInLangIdsResolverFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityLinkFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/EntityIdTitleFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/ItemId.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":29,"column":13}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/DescriptionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Snak\/PropertyNoValueSnakTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/FallbackLabelDescriptionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Statement\/StatementGuidValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityRdfBuilderFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/EntityDataPurger.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabels\/DeserializedGetItemLabelsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/TermStoreWriterFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/Exceptions\/PatchPathException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityDataSerializationServiceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/TermboxViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ReplaceItemStatement\/ReplaceItemStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ConvertArrayObjectsToArray.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/Deserializers\/EntityDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AssertItemExists.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/TruthyStatementRdfBuilderFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/maintenance\/UpdateUnitsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItem\/GetItem.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/ReferenceFormatterFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/BeforePageDisplayHandler.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":83,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/Exceptions\/TempAccountCreationLimitReached.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/Exceptions\/SitelinkTargetNotFound.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/RedirectResolvingLatestRevisionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/InProcessCachingDataTypeLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Content\/EntityContentFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/ItemAliasesInLanguageEditRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/SnakFormatTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ReplaceItemStatement\/DeserializedReplaceItemStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemWriteModelRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItem\/GetItemValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItem\/DeserializedGetItemRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/ByTypeDispatchingEntityRevisionLookup.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":43,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":57,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/CreateItem\/CreateItemRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ChangeHolderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabels\/GetItemLabels.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityRevisionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityIdComposerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":25,"column":75}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/TermFallbackCacheTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/CleanTermsIfUnusedJob.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":56,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntitySourceLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemLabelRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AssertStatementSubjectExists.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/StorageEntitySerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/LanguageNameLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/LocalEntityNamespaceLookupTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":30,"column":28}]},"\/src\/repo\/repo\/includes\/Diff\/EntityDiffVisualizerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/BaseDataModelSerializerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/MonolingualWikitextFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityNamespaceLookupTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":25,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/Utils.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TermsCollisionDetectorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/DataAccessServices.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Localizer\/MessageParameterFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/SerializerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/PropertyHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/CachingCommonsMediaFileNameLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/CreateItem\/CreateItemValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabels\/GetItemLabelsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityIdLabelFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescription\/GetPropertyDescriptionValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/StatementRemover.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescriptions\/GetPropertyDescriptionsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityPatcherTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":29,"column":79},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":35,"column":79}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/ItemLabelEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/SimpleEntityTermsView.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":102,"column":15}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/QuerySearchEntitiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/PropertyRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Modules\/DataTypesModule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/EntityUpdaterItemUpdaterTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":69,"column":35}]},"\/src\/repo\/repo\/includes\/CopyrightMessageBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabels\/GetItemLabelsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/SerializableEntityId.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":28,"column":20}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/ItemIdRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/AliasLanguageCodeRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/DataAccessSnakFormatterFactoryTest.php":{"errors":1,"warnings":1,"messages":[{"message":"Doc comment for parameter \"$expectedFormat\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":68,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":77,"column":35}]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/TermInLangIdsAcquirer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/ReferencedEntityIdLookupException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyLabelWithFallbackRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/SiteLinkPageNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/Deserialization\/ClaimsChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/RevisionBasedEntityLookup.php":{"errors":0,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":66,"column":24},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":69,"column":23},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":80,"column":31}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PropertyDescriptionEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedPropertyAliasesInLanguageEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/TermboxView.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":57,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":67,"column":12}]},"\/src\/repo\/view\/src\/RawMessageParameter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/Deserializers\/LegacyFingerprintDeserializer.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":48,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":58,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":68,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":80,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/MapSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/EntityDiffOldTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Localizer\/ChangeOpApplyExceptionLocalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/NormalizedTermStorageMappingTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/InternalFormatDeserializerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescription\/GetPropertyDescriptionResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemDescriptionWithFallbackRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemLabels\/PatchItemLabelsResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/ItemSerializationRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/LabelsSyntaxValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/WikibaseContentLanguagesTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":54,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/MetaContentLanguagesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/Deserialization\/ChangeOpDeserializationException.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":34,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":38,"column":12}]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/MultiPropertyTermStoreWriterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/CreateProperty\/CreateProperty.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Statement\/StatementGuidParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/maintenance\/RemoveTermsInLanguageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntitySourceDefinitionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedStatementSerializationRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/src\/EntityChangeFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/LegacyIdInterpreter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemovePropertyDescription\/RemovePropertyDescriptionRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescriptions\/GetPropertyDescriptions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/PatchItemStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EnabledEntityTypesForSearchTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/SourceAndTypeDispatchingRedirectChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Interactors\/ItemMergeInteractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescriptions\/DeserializedGetPropertyDescriptionsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/LocalizedTextProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/EntitySlotDiffRenderer.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":29,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":43,"column":12}]},"\/src\/repo\/client\/includes\/DataAccess\/StatementTransclusionInteractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemStatementsRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemovePropertyDescription\/DeserializedRemovePropertyDescriptionRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/DisabledEntityTypesEntityLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemovePropertyDescription\/RemovePropertyDescriptionValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/SitelinkValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityDataFormatProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/DefaultValueFormatterBuildersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/PageHistoryPagerHookHandlerTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":93,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":98,"column":33}]},"\/src\/repo\/client\/WikibaseClient.i18n.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/ExampleSettings.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/Reference\/WellKnownReferenceProperties.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/EntityRevisionLookupTestCase.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":188,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":212,"column":17}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/PlaceholderEmittingEntityTermsViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItem\/PatchItemRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Localizer\/ChangeOpValidationExceptionLocalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Statement\/Grouper\/NullStatementGrouperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/ViewFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemCreator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/SnakSerializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":70,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemLabels\/PatchItemLabelsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/FulltextSearchTypesTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":19,"column":54},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":46,"column":26}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/SkinAfterBottomScriptsHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/CachingPropertyOrderProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityTitleStoreLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescriptions\/GetPropertyDescriptionsResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/ExternalLinksDataUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/FullStatementRdfBuilderFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/FindUnusedTermTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescription\/GetPropertyDescription.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyAliasesRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescription\/DeserializedGetPropertyDescriptionRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Serializer\/ClientEntitySerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetItemAliasesRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/ReferencedEntityIdLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/PropertyLabelValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PatchRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Modules\/CurrentSiteModule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescriptions\/GetPropertyDescriptionsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/Scribunto\/SnakSerializationRendererTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":47,"column":35}]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/TypeIdsLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/ValueSnakRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemRevisionMetadataRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TermFallbackCacheFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EntityIdLabelFormatterFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItem\/PatchItemResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/SnakValidatorTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":75,"column":35}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PropertyAliasesInLanguageEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/AnonymousEditWarningBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedPropertyIdFilterRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/PartiallyValidatedDescriptions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetItemLabel\/SetItemLabelValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/SourceAndTypeDispatchingExistenceChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/PrefetchingEntityStubRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/RdfVocabularyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/SitelinkTargetTitleResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Serializer\/ClientStatementListSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/TypedSnakSerializer.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":41,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":50,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/MessageInLanguageProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/LegacyAdapterItemLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/UserInputException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Reference.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/PropertyDescriptionValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/RemovePropertyLabel\/RemovePropertyLabelTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/EntityDifferTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":29,"column":78},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":35,"column":78}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescription\/GetPropertyDescriptionRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/FieldPropertyInfoProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiringTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/EntityIdSearchHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityViewFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyCreator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/TextInjectorTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":48,"column":45}]},"\/src\/repo\/lib\/includes\/Formatters\/Reference\/ByCertainPropertyIdGrouper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialEntityDataTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":74,"column":35}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/FullStatementRdfBuilderTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":78,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":125,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":175,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Snak\/PropertyValueSnakTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/HookRunnerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialNewProperty.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/TermInLangIdsResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyStatementsRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemovePropertyDescription\/RemovePropertyDescription.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/DataTypeFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/Deserialization\/ChangeOpDeserializerFactory.php":{"errors":6,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":123,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":132,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":140,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":148,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":156,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":163,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ExternalFormatStatementDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/EntityRedirectLookupException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/HttpUrlPropertyOrderProvider.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":42,"column":15}]},"\/src\/repo\/lib\/includes\/Store\/EntityArticleIdLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/RepoNoBadUsageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/Deserializers\/LegacyItemDeserializer.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":129,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":135,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":146,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":158,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddItemStatement\/DeserializedAddItemStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/EntitySourceDefinitionsConfigParser.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":99,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":129,"column":20}]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/DispatchingSnakFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/EditMetadataValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/CompositeValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityDiffVisualizerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/DefaultSnakFormatterBuildersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/BadRevisionException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/PropertyViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PermissionChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/StatementListSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetItemLabel\/SetItemLabelRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/ToolbarEditSectionGenerator.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":56,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":105,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":148,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":156,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/JsonPatchValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/LibHooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/StringNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/DiffOpValueFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddItemStatement\/AddItemStatementResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/Deserialization\/ItemChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/StatementRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemAliases\/PatchItemAliasesRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Serializer\/ClientSerializer.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":53,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemAliases\/DeserializedPatchItemAliasesRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/EntityDiffTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/FallbackLabelDescriptionLookupFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/DescriptionLanguageCodeValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityRedirectChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/ShowSearchHitHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemLabels\/PatchedItemLabelsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityTitleLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/Deserializers\/LegacyEntityDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/ViewContentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/StatementWriteModelRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/src\/ChangeRow.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItem\/PatchItem.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/FallbackLookupFactoryTermsRetrieverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/MobileSiteTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Statement\/Grouper\/FilteringStatementGrouperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/LegacyFormatDetectorCallbackTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemLabels\/PatchItemLabelsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemLabels\/DeserializedPatchItemLabelsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/DeleteDispatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/SiteLink.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/PropertyIdProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/RepoLinker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialWikibasePage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/StatementSubjectRevisionMetaDataRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/KartographerEmbeddingHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetItemLabel\/SetItemLabelResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/TermListSerializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":40,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItem\/PatchItemValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityPermissionCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/NotMulValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/PropertySpecificComponentsRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/StatsdRecordingSimpleCacheTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":33,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":65,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":117,"column":35}]},"\/src\/repo\/lib\/includes\/Formatters\/Reference\/DataBridgeReferenceFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Snak\/PropertyNoValueSnak.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/src\/DiffChange.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/SitelinksRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItem\/DeserializedPatchItemRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/WikibaseClient.i18n.magic.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/SourceAndTypeDispatchingUrlLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/Deserialization\/DescriptionsChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/Reference\/ReferenceFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/InMemoryEntityLookup.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":107,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":111,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/StatementUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetItemLabelWithFallbackRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddItemStatement\/AddItemStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Statement\/Grouper\/ByPropertyIdStatementGrouperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityStubRdfBuilderFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/Reference\/ByCertainPropertyIdGrouperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/GlobeCoordinateKartographerDataUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/MatchingTermsLookupFactoryTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":94,"column":38},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":115,"column":31}]},"\/src\/repo\/lib\/includes\/Store\/EntityTermStoreWriter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/FallbackLabelDescriptionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemAliasesInLanguageRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddItemStatement\/AddItemStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/SetItemLabelRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityDataUriManagerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/PropertyOrderProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Api\/ApiQueryWithContinueTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/ItemSourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/ParameterizedDescriptionTrait.php":{"errors":1,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":45,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":55,"column":21}]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/Deserializers\/LegacyPropertyDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/LanguageNameLookupFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemAliases\/PatchedItemAliasesValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/SitelinksValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/SimpleCacheWithBagOStuff.php":{"errors":6,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":227,"column":13},{"message":"Doc comment for parameter \"$key\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":233,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":317,"column":13},{"message":"Doc comment for parameter \"$decodedData\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":412,"column":5},{"message":"Doc comment for parameter \"$default\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":412,"column":5},{"message":"Doc comment for parameter \"$loggingContext\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":412,"column":5}]},"\/src\/repo\/lib\/includes\/Formatters\/GlobeCoordinateInlineWikitextKartographerFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":50,"column":13}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchPropertyDescriptions\/PatchedPropertyDescriptionsValidatorTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$expectedError\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":57,"column":5}]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/src\/ItemChange.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":52,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/PropertyDataTypeLookupException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/SidebarBeforeOutputHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityIdParserTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":31,"column":65},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":55,"column":61}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ItemTermsCollisionDetectorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ReferenceNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemAliases\/PatchItemAliasesValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/EntityIdPlainLinkFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/DataValue\/UnmappedEntityIdValue.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":19}]},"\/src\/repo\/repo\/includes\/ParserOutput\/EntityParserOutputGeneratorFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":265,"column":13}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/UpdateRepoHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/EntityContentDiffView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpRemoveSiteLinkTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetItemLabel\/SetItemLabel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetItemLabel\/DeserializedSetItemLabelRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Statement\/GuidGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Interactors\/EntityRedirectCreationInteractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/SnakFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/SummaryParsingPrefetchHelperTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":64,"column":36}]},"\/src\/repo\/repo\/includes\/ParserOutput\/ParserOutputJsConfigBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemLabels\/PatchItemLabels.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/EntitySourceDefinitions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/StatementEditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/ItemSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/MonolingualTextLanguagesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemAliases\/PatchItemAliasesResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/DispatchingEntityDiffVisualizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/CreateProperty\/CreatePropertyValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/ValueDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/EntityAccessLimitException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/EntitySavingHelper.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":104,"column":12}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/ItemLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/PropertyInfoLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Snak\/SnakObject.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Interactors\/ItemMergeException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/includes\/Hooks\/EntityDataPurgerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":139,"column":35}]},"\/src\/repo\/repo\/includes\/Hooks\/OutputPageEntityIdReader.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/StringNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddItemStatement\/AddItemStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveItemDescription\/DeserializedRemoveItemDescriptionRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/PropertyLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/SummaryFormatter.php":{"errors":1,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":136,"column":17},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":228,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/ItemSerializationRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityTypeDefinitionsTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":31,"column":44}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/EntityTermsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/ItemAndPropertySourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/CreateProperty\/CreatePropertyResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/TypeDispatchingEntityStore.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$tags\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":93,"column":5}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EditEntityFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/BuilderBasedDataTypeValidatorFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveItemDescription\/RemoveItemDescriptionValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/AliasesEditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/TermListPatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Interactors\/ItemRedirectCreationInteractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Snak\/TypedSnak.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/src\/RepoRevisionIdentifier.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/AliasesValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/DataValueDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/SitelinksEditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/Deserializers\/LegacySiteLinkListDeserializer.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":31,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":42,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":48,"column":13}]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/DatabaseInnerTermStoreCleaner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/FieldsFilterValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/TermsCollisionDetectorFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/LocalizedTextProviderFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/PropertyPartsSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/TermInLangIdsResolverFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/StringValueNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Api\/ApiFormatReference.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":46,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":94,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":117,"column":15}]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/SerializerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/CacheRetrievingEntityRevisionLookup.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":104,"column":32},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":108,"column":80}]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/DataAccess\/Scribunto\/WikibaseLibraryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/CreateProperty\/DeserializedCreatePropertyRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedStatementIdRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialSetLabel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/Reference\/WellKnownReferencePropertiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/SiteLinksViewTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":209,"column":35}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/includes\/ItemDisambiguationFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/DispatchingValueFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/PropertyDifferTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/PrefetchingPropertyTermLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/RedirectRevision.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/EntityUpdaterIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/InMemoryDataTypeLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/ViewFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Interactors\/ItemMergeStatus.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/SubEntityTypesMapperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/CompositeSiteLinkConflictLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityChangeOpProviderTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":31,"column":78}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/PropertyLabelsContentsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/ClaimDifference.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/AliasLanguageCodeValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/RevisionBasedEntityRedirectTargetLookup.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":23,"column":23},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":34,"column":27}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/FieldDefinitionsFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/DataValue\/ValuesFinderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveItemDescription\/RemoveItemDescriptionRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/PropertySerializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":76,"column":13}]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/TypeIdsAcquirer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/Scribunto\/CachingFallbackBasedTermLookupTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":169,"column":37},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":174,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":295,"column":35}]},"\/src\/repo\/view\/src\/CacheableEntityTermsView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/PropertyValuePairSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/ClientHooks.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":243,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemAliases\/PatchItemAliases.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/TermIndexEntry.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":156,"column":20}]},"\/src\/repo\/lib\/includes\/Store\/ItemOrderProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/DeserializerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/EntityIdComposerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":25,"column":75}]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/EntityContentDataCodecTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/bootstrap.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TypeIdsLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/SummaryParsingPrefetchHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/SourceAndTypeDispatchingArticleIdLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/CreateProperty\/CreatePropertyRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/UnresolvedEntityRedirectException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Interactors\/TokenCheckException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/MultipleEntitySourceServices.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":53,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":68,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":83,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":91,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":102,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/PermissionsTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/MessageInLanguageProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchProperty\/PatchedPropertyValidatorTest.php":{"errors":0,"warnings":4,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":367,"column":32},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":371,"column":34},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":479,"column":32},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":483,"column":34}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/EntityTypeAwareDiffOpFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/LookupConstants.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/SitelinkEditRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/SitelinkEditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/includes\/Specials\/SpecialListPropertiesDispatchingFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/OtherProjectsSidebarGeneratorTest.php":{"errors":2,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$expectedMethod\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":144,"column":5},{"message":"Doc comment for parameter \"$expectedArgument\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":144,"column":5}]},"\/src\/repo\/view\/tests\/phpunit\/Template\/TemplateFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/ReferenceSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/bootstrap.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/PatchItemDescriptionsRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetProperty\/GetPropertyValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/LabelDescriptionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/LocalEntitySourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/EntityIdSiteLinkFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetLatestStatementSubjectRevisionMetadata.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/AllTypesEntitySerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/UserLanguageLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/Deserialization\/SiteLinksChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/TermValidatorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/MappedRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TypeIdsResolverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/EditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/CachedDatabasePropertyLabelResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/SimpleCacheWithBagOStuffTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/PatchSitelinksRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/EntityLoadingHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/DataAccess\/Scribunto\/WikibaseStatsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/PropertyStubRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/ItemAliasesInLanguageEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/TypeDispatchingEntityTitleStoreLookup.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":64,"column":13}]},"\/src\/repo\/lib\/includes\/SourceDispatchingPropertyDataTypeLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Snak\/PropertyValueSnak.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/RepoLinkerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/Scribunto\/LuaFunctionCallTrackerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":66,"column":35}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/SitelinksSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/DataValue\/UnmappedEntityIdValueTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/CachingPropertyOrderProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetProperty\/GetPropertyResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Interactors\/TokenCheckInteractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/ItemLookupException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/SiteLinkTargetProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PatchRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/NullPrefetchingTermLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedLanguageCodeRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/Template\/TemplateTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/EntityTypesConfigFeddyPropsAugmenterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/InternalFormatEntityDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/SiteLinkConflictLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/SetPropertyLabel\/SetPropertyLabelRequestTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/WikibaseContentLanguagesTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":22,"column":45}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/EntityRedirectLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemStatements\/GetItemStatements.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/FullEntityParserOutputGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveItemDescription\/RemoveItemDescription.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/IdGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/ParserHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Snak\/Snak.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/EntityRevisionCacheTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Interactors\/RedirectCreationException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/DataValueFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/DataTypeValidatorFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/OtherProjectsSitesGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/NumberLocalizerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetProperty\/GetProperty.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/EntityStubRdfBuilderFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/DataAccess\/Scribunto\/WikibaseLibraryInProcessEntityCacheTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":41,"column":17}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/AliasesInLanguageDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/LabelLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/src\/EntityDiffChangedAspectsFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/BasicEntityDiffVisualizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/LabelEditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/ItemsWithoutSitelinksFinder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialSetSiteLinkTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/DivergingEntityIdException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityTitleTextLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PropertyStatementIdRequestValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityFactoryTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":39,"column":71}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemStatements\/GetItemStatementsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/ItemValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/src\/ChangeStore.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":16,"column":12}]},"\/src\/repo\/view\/src\/StatementGroupListView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/PHPUnitTestsHaveGroupWikibaseTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/Template\/TemplateRegistryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Search\/Fields\/WikibaseNumericField.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Search\/Fields\/NoFieldDefinitions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/includes\/SiteLinkPageNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetProperty\/GetPropertyRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescriptionWithFallback\/GetItemDescriptionWithFallback.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/LabelPrefetchHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/UnknownFlavorException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/TermValidatorFactoryItemLabelValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/HtmlTermRenderer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/EntityRedirectTargetLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/PropertyInfoDataTypeLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Modules\/CurrentSiteModuleTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":33,"column":35}]},"\/src\/repo\/data-access\/src\/ByTypeDispatchingEntityPrefetcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/DescriptionsEditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/UserLanguageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/NullTermsCollisionDetector.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityStoreWatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/ItemStatementIdRequestValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetProperty\/DeserializedGetPropertyRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityTypesConfigValueTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/EntityStubRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/src\/RepoRevisionIdentifierFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Normalization\/CommonsMediaValueNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemStatements\/GetItemStatementsResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/SiteIdValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/unit\/Deserializers\/LegacySiteLinkListDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/SnakUrlExpander.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/CachingSiteLinkLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ExceptionLocalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/RedirectRevisionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/SubscriptionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedItemDescriptionEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/SuggestEntitiesRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedSiteIdRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Search\/Fields\/WikibaseIndexField.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Search\/Fields\/FieldDefinitions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyStatement\/DeserializedGetPropertyStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Api\/ApiPropsEntityUsage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescriptionWithFallback\/GetItemDescriptionWithFallbackRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/src\/Change.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityArticleIdLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/LanguageCodeValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/SiteLinkStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/CreateItemEditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/MediaWiki\/EntitySourceDocumentUrlProvider.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":20,"column":12}]},"\/src\/repo\/repo\/includes\/ChangeOp\/Deserialization\/AliasesChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpQualifierTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Snak\/SnakListTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemStatements\/DeserializedGetItemStatementsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemStatements\/GetItemStatementsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/ExternalUserNamesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescriptionWithFallback\/GetItemDescriptionWithFallbackValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/RdfBuilderFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchPropertyDescriptions\/PatchPropertyDescriptionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/LinkTargetEntityIdLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/NoLangLinkHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/QuantityDetailsFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/LanguageLabelDescriptionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/WikibaseServices.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/PropertyPatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/LanguageCodeRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/LocalRepoWikiPageMetaDataAccessorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/RdfBuilderTestData.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":343,"column":12}]},"\/src\/repo\/lib\/includes\/DifferenceContentLanguages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyStatement\/GetPropertyStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/NullChangeOp.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/EditMetadataRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/DummyLocalizedTextProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/StatementDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/Serializer\/ForbiddenSerializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/repo\/includes\/Search\/Fields\/FieldDefinitionsFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Search\/ExtendedResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/SnakFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/UseCaseError.php":{"errors":0,"warnings":27,"messages":[{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":80,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":81,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":82,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":83,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":84,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":85,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":86,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":87,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":88,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":93,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":94,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":95,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":96,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":97,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":98,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":99,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":100,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":101,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":102,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":103,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":104,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":105,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":106,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":107,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":108,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":113,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":114,"column":9}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/MessageParameterFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescriptionWithFallback\/GetItemDescriptionWithFallbackResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/PropertyDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/PatchPropertyEditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedPropertyLabelEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyStatement\/GetPropertyStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityTermLookupBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/UnknownForeignRepositoryException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ValidatorErrorLocalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/ReferencedEntitiesDataUpdaterTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":83,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":90,"column":47}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescriptionWithFallback\/DeserializedGetPropertyDescriptionWithFallbackRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/WbRestApi.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/MockEntityRevisionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialItemByTitle.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":245,"column":34}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescriptionWithFallback\/DeserializedGetItemDescriptionWithFallbackRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Sites\/SiteMatrixParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/MobileSiteTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PropertyLabelEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/UseCaseRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/SnakFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyStatement\/GetPropertyStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/AliasesSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/LangLinkHandlerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/NullEntityTermStoreWriter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ItemSearchTextGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpResultTraversalTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Store.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/ItemRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/RecentChangeSaveHookHandlerTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":55,"column":73},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":311,"column":35}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/PropertyDataTypeLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/DescriptionsSyntaxValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/EntityPatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/TypedValueFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/UseCaseException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TermFallbackCacheTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/SnakHtmlGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/EntityLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Api\/ApiClientInfo.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/ValueValidatorLanguageCodeValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/RemoveItemDescriptionRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/PropertyIdValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescriptionWithFallback\/GetPropertyDescriptionWithFallbackRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/LabelsDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/DescriptionEditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/TermValidatorFactoryPropertyDescriptionValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ItemHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/DatabaseTermStoreWriterBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/FingerprintableEntityMetaTagsCreatorTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":23,"column":49},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":26,"column":39}]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/unit\/Deserializers\/LegacyFingerprintDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpRemoveStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/StatementIdRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/RangeTraversableTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/SiteIdRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescriptionWithFallback\/GetPropertyDescriptionWithFallbackValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/Exceptions\/EmptyLabelException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Modules\/DataTypesModuleTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":25,"column":38},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":52,"column":34},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":87,"column":46}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/TruthyStatementRdfBuilderFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/TypeIdsResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/RawMessageParameterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/RestrictedEntityLookupFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/RepoItemLinkGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetPropertyDataTypesHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntitySearchHelperCallbacksTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":40,"column":39}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PropertyIdFilterRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DescriptionLanguageCodeRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/SnakFormat.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/EntityPermissionChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/EntityIdParserTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":21,"column":16}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/DataTypeFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/PrefetchingItemTermLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/LanguageFallbackLabelDescriptionLookupTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":102,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":111,"column":35}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveSitelink\/RemoveSitelink.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/LanguageBoundChangeOpResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/SourceAndTypeDispatchingPrefetchingTermLookup.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":57,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":64,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":68,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":79,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/StatementSerializationRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/ItemLabelsContentsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/Exceptions\/PropertyIdMismatchException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/Exceptions\/EmptySitelinkException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/ModifyTermTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Modules\/SettingsValueProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Snak\/SnakTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/CachingEntityRevisionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/AliasGroupListDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/LabelsEditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchProperty\/PatchPropertyRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyLabels\/PatchedPropertyLabelsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/EntityArticleIdNullLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/SearchEntities.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Sites\/SitesBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Term\/PropertyTermStoreWriter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescriptionWithFallback\/GetPropertyDescriptionWithFallback.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/AliasesInLanguageValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/SetPropertyLabel\/SetPropertyLabelTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/LanguageFallbackLabelDescriptionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/DataAccessSettingsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/unit\/Deserializers\/LegacyEntityDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/FingerprintableEntityTermStoreTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetItemDescriptionWithFallbackRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Term\/ItemTermStoreWriter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntitySourceAndTypeDefinitionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/EntitySource.php":{"errors":7,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":15,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":17,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":19,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":27,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/EntityChangeOpProviderTest.php":{"errors":0,"warnings":4,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":25,"column":24},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":52,"column":30},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":64,"column":30},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":78,"column":30}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/LabelLanguageCodeValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/RateLimitingIdGenerator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":32,"column":12}]},"\/src\/repo\/lib\/tests\/phpunit\/Modules\/RepoAccessModuleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/tests\/EntityDiffChangedAspectsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/UserProvidedEditMetadata.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/TitleLookupBasedEntityArticleIdLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyLabels\/PatchPropertyLabelsResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Snak\/SnakList.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/EntityFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiringTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/IO\/EntityIdReader.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescriptionWithFallback\/GetPropertyDescriptionWithFallbackResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Term\/TermBuffer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/Exceptions\/InvalidFieldException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/DefaultValueFormatterBuildersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Snak\/PropertySomeValueSnak.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/LangLinkHandlerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveSitelink\/RemoveSitelinkRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/Exceptions\/SerializationException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/SiteLinkBadgeChangeOpSerializationValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/Exceptions\/EmptyDescriptionException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Term\/TermStoreException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/PropertyDescriptionsContentsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/User.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/TitleLookupBasedEntityRedirectChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/InMemoryTypeIdsStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/EntityRevisionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItem\/PatchedItemValidator.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":289,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Snak\/SnakRole.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveSitelink\/DeserializedRemoveSitelinkRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyAliases\/GetPropertyAliasesResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Term\/PropertyLabelResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ItemDisambiguationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/StatementSectionsViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveSitelink\/RemoveSitelinkValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/PropertyInfoLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Notifications\/PageConnectionPresentationModel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/Exceptions\/MissingFieldException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/ItemView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ChangeOpFactoryProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityRevisionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyLabels\/PatchPropertyLabelsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/NoBadUsageTestBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ItemRedirect.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Api\/Description.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/LocalEntityTypesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchJson.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Entity\/PropertyDataTypeMatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/TermListDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/EntityTermSearchHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/ClaimDifferenceVisualizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyLabels\/PatchPropertyLabelsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/TitleLookupBasedEntityArticleIdLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetStatement\/GetStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/Exceptions\/BadgeNotAllowed.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/build\/phpstan-bootstrap.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/Exceptions\/InvalidLabelException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Snak\/DerivedPropertyValueSnak.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchStatement\/PatchStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchProperty\/PatchProperty.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchProperty\/PatchPropertyValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyAliases\/GetPropertyAliases.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/LanguageDirectionalityLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EnabledEntityTypesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpSiteLink.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyLabels\/DeserializedPatchPropertyLabelsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/SingleEntitySourceServicesFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/SetPropertyDescription\/SetPropertyDescriptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/CommonsInlineImageFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":119,"column":13}]},"\/src\/repo\/repo\/includes\/IO\/LineReader.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/Reference\/DataBridgeReferenceFormatterTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":70,"column":35}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/Exceptions\/InvalidDescriptionException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataValuesValueDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchStatement\/DeserializedPatchStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/tests\/ItemChangeTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":36,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":41,"column":29}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/StatementGuidValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyAliases\/GetPropertyAliasesRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetSitelink\/GetSitelinkResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/EntitySearchHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/DataAccess\/Scribunto\/WikibaseEntityLibraryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/ItemRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Entity\/NullEntityPrefetcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetStatement\/GetStatementResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/StatementNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataValuesValueDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyAliases\/DeserializedGetPropertyAliasesRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/unit\/Deserializers\/LegacySnakDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/DataValueDeserializerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":36,"column":31}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetSitelink\/DeserializedGetSitelinkRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchProperty\/PatchPropertyResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialGoToLinkedPage.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":260,"column":34}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetStatement\/GetStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Entity\/EntityPrefetcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/Exceptions\/InvalidFieldTypeException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/BagOStuffSiteLinkConflictLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyAliases\/GetPropertyAliasesValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetSitelinks\/GetSitelinksTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/InMemoryTermStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/FallbackLabelDescriptionLookupFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetStatement\/DeserializedGetStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataTypeFactoryValueTypeLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityDifferTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":29,"column":78},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":35,"column":78}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ChangeNotifierTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetSitelink\/GetSitelinkRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/StatementListDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetStatement\/GetStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/UnitConverterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/Exceptions\/PropertyNotFoundException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescription\/GetItemDescriptionResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Snak\/DerivedPropertyValueSnakTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/WikibaseContentLanguagesTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":24,"column":45}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Statement\/StatementGuid.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/PropertyInfoLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Statement\/StatementFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityTitleLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ReplaceStatement\/ReplaceStatementResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/Exceptions\/InvalidSitelinkBadgeException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/LanguageFallbackChainFactory.php":{"errors":2,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":259,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":285,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":290,"column":13}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/InfoActionHookHandlerTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":186,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":268,"column":35}]},"\/src\/repo\/lib\/includes\/CacheInvalidArgumentException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/SetDescriptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/PatchStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Specials\/SpecialPagesWithBadges.php":{"errors":2,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":90,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":144,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":147,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/DescriptionsSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ReplaceStatement\/DeserializedReplaceStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Interactors\/RedirectCreationInteractorTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":75,"column":35}]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpQualifierRemove.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/FullStatementRdfBuilderFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Statement\/StatementListProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/WikibaseClientHookRunnerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetSitelink\/GetSitelink.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/ReplaceItemStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/CommonsInlineImageFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetSitelink\/GetSitelinkValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Snak\/TypedSnakTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemovePropertyStatement\/RemovePropertyStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ValueSnakRdfBuilderFactoryTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":25,"column":55}]},"\/src\/repo\/lib\/includes\/Store\/DispatchingFallbackLabelDescriptionLookup.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":48,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":52,"column":12}]},"\/src\/repo\/repo\/includes\/Diff\/ClaimDiffer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/StatementListPatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyLabels\/PatchPropertyLabels.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/ByPropertyIdGrouper.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":36,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchStatement\/PatchStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemovePropertyStatement\/RemovePropertyStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/EntityRdfBuilderFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangedLanguagesCollector.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/TermValidatorFactoryItemLabelValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/SiteLinkGlobalIdentifiersProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/DispatchingSnakFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/unit\/Deserializers\/LegacyEntityIdDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/ParserOutputDataUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescription\/GetItemDescription.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/InterWikiLinkHtmlFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemAliases\/GetItemAliasesValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemAliases\/DeserializedGetItemAliasesRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/HtmlUrlFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemovePropertyStatement\/DeserializedRemovePropertyStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataTypeFactoryValueTypeLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescription\/GetItemDescriptionRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/DataTypeDefinitionsTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":39,"column":42}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/HtmlPageLinkRendererEndHookHandlerTestBase.php":{"errors":0,"warnings":5,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":128,"column":23},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":131,"column":27},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":182,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":201,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":237,"column":35}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ItemUrlParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ReplaceStatement\/ReplaceStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescription\/DeserializedGetItemDescriptionRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/KartographerEmbeddingHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/UpdateRepo\/UpdateRepoOnMoveJobTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemAliases\/GetItemAliasesResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/unit\/Deserializers\/StatementDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/StatementSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Interactors\/TokenCheckInteractorTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":30,"column":17}]},"\/src\/repo\/repo\/Wikibase.i18n.namespaces.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/DataTypeDefinitionsTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":45,"column":36}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescription\/GetItemDescriptionValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescriptions\/GetItemDescriptionsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpsResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/UnDeserializableValueFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/HtmlPageLinkRendererEndHookHandler.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":348,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchStatement\/PatchedStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Modules\/SitesModuleTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":33,"column":35}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/ItemDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ValueFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/Values\/ExternalIdentifierRdfBuilderTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":42,"column":35}]},"\/src\/repo\/lib\/tests\/phpunit\/DifferenceContentLanguagesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Statement\/Filter\/DataTypeStatementFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemAliases\/GetItemAliasesRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/ItemTermsRebuilder.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":90,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemovePropertyStatement\/RemovePropertyStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/NonLanguageBoundChangesCounter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityContentDataCodec.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/TermsListView.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":189,"column":13}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/UserLanguageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityNamespaceLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/ItemOrderProviderException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedRequestAdapter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchStatement\/PatchStatementResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Statement\/Statement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/DispatchableDeserializerTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetItemStatementsRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialNewEntity.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$isMobileView\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":40,"column":5}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescriptions\/GetItemDescriptionsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/GlobalStateFactoryMethodsResourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/TypeDispatchingWikiPageEntityMetaDataAccessor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/RdfBuilder.php":{"errors":0,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":350,"column":17},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":354,"column":17},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":358,"column":17}]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/DataAccess\/Scribunto\/WikibaseLibraryTestCase.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":151,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":171,"column":17}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemAliases\/GetItemAliases.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityConstraintProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Statement\/Filter\/NullStatementFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Statement\/StatementByGuidMap.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":67,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Statement\/StatementListHolder.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":17,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/TermValidatorFactoryAliasesInLanguageValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/DataTypeDefinitions.php":{"errors":1,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":151,"column":12},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":387,"column":13}]},"\/src\/repo\/client\/includes\/Specials\/SpecialEntityUsage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Api\/PageTerms.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":174,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/DataValueFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescriptions\/GetItemDescriptionsResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/DifferenceEngineViewHeaderHookHandler.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":47,"column":12}]},"\/src\/repo\/lib\/includes\/Formatters\/OutputFormatSnakFormatterFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/UnknownTypeEntityIdHtmlLinkFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/tests\/EntityChangeFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/EntityTermsView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/EntitySourceAndTypeDefinitions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/UnionContentLanguagesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Statement\/StatementList.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Statement\/ReferencedStatementFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/PropertyInfoBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/ParserFunctions\/CommaSeparatedList.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Internal\/MapValueHasher.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ReplaceStatement\/ReplaceStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/fixtures\/CustomEntityId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/ReferenceDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/bootstrap.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyStatements\/GetPropertyStatementsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityUrlLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/RemovePropertyDescription\/RemovePropertyDescriptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemAliasesInLanguage\/GetItemAliasesInLanguage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/DataTypeFactoryTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":27,"column":28}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescriptions\/DeserializedGetItemDescriptionsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Modules\/MediaWikiConfigModuleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpDescriptionResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/NewItem.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":190,"column":34}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Statement\/Filter\/PropertySetStatementFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/TypeDispatchingEntityRevisionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ReplaceStatement\/ReplaceStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/SiteLinkLookupSitelinkValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/Values\/CommonsMediaRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/AddPropertyStatement\/AddPropertyStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/StatementListDifferTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EditEntity\/MediaWikiEditEntity.php":{"errors":1,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":200,"column":43},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":510,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetSitelinksRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Statement\/V4GuidGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ItemDisambiguationFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchStatement\/PatchStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/GeoDataDataUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemStatement\/GetItemStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/SiteLinkListTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/InconsistentRedirectException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":19,"column":12}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/LegacyIdInterpreterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemAliasesInLanguage\/GetItemAliasesInLanguageRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/EntityRdfBuilderFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/DataAccessSettingsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialEntityPage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/NonExistingEntityIdHtmlFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/DummyLocalizedTextProvider.php":{"errors":1,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":12},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":26,"column":24}]},"\/src\/repo\/repo\/includes\/Hooks\/PageHistoryPagerHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/ThrowingEntityTermStoreWriter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityMetaTagsCreatorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/EntityIdValueFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemStatement\/DeserializedGetItemStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/FallbackPropertyOrderProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/UnionContentLanguages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemAliasesInLanguage\/DeserializedGetItemAliasesInLanguageRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescriptions\/GetItemDescriptions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Snak\/PropertySomeValueSnakTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/TermDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyStatements\/GetPropertyStatementsResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyStatements\/DeserializedGetPropertyStatementsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ViewFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/UpdateRepo\/UpdateRepoOnDeleteJobTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemStatement\/GetItemStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/DataTypeValidatorFactoryTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":40,"column":49}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Term\/TermListTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemAliasesInLanguage\/GetItemAliasesInLanguageValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabelWithFallback\/GetPropertyLabelWithFallbackRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabelWithFallback\/DeserializedGetItemLabelWithFallbackRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Term\/AliasGroupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyStatements\/GetPropertyStatementsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/SingleEntitySourceServices.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":299,"column":12}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Statement\/StatementGuidParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Term\/TermTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/PropertyInfoStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityArticleIdNullLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/Values\/MonolingualTextRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityIdLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/EntityUpdaterPropertyUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabelWithFallback\/GetPropertyLabelWithFallbackValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/DataTypeDefinitionsTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":38,"column":44}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemAliasesInLanguage\/GetItemAliasesInLanguageResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/unit\/Deserializers\/EntityDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Statement\/StatementGuidParsingException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/DatabaseTypeIdsStoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/DataAccessSettings.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/SiteLinkDiffView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/SiteLinkLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpApplyException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabelWithFallback\/GetItemLabelWithFallbackRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Term\/FingerprintTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/VocabularyUriFormatterTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":43,"column":35}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/SidebarBeforeOutputHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemovePropertyLabel\/RemovePropertyLabelValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Term\/AliasGroupFallbackTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/SitelinksReadModelConverterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/PageTableEntityQueryBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FingerprintSearchTextGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EditEntity\/EditEntity.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/Formatters\/EntityLinkFormatterFactory.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":39,"column":28}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EditFilterHookRunnerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/DataAccess\/Scribunto\/WikitextPreprocessingSnakFormatterTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":60,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Statement\/GuidGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemStatement\/GetItemStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Term\/TermFallbackTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyStatements\/GetPropertyStatements.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/LocalizedTextProviderFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/StatementSubjectRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetLatestPropertyRevisionMetadata.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/ShowCalendarModelDecider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/searchEntities.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":143,"column":22}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemovePropertyLabel\/DeserializedRemovePropertyLabelRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOps.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":122,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabelWithFallback\/GetPropertyLabelWithFallbackResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Statement\/Grouper\/NullStatementGrouper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/Scribunto\/WikibaseLanguageIndependentLuaBindingsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/OtherProjectsSitesProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabelWithFallback\/GetItemLabelWithFallbackResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ReplacePropertyStatement\/ReplacePropertyStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/Values\/TabularDataRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/WikibaseContentLanguages.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":51,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":70,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":144,"column":19}]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/DataAccess\/Scribunto\/WikibaseLibraryNoLinkedEntityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ReplacePropertyStatement\/ReplacePropertyStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabelWithFallback\/GetPropertyLabelWithFallback.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpRemoveSiteLink.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabelWithFallback\/DeserializedGetPropertyLabelWithFallbackRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/WikibasePingback.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":221,"column":50},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":371,"column":45}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyAliases\/DeserializedPatchPropertyAliasesRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabelWithFallback\/GetItemLabelWithFallbackValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/ServiceByTypeDispatcherTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":30,"column":16}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyAliases\/PatchPropertyAliasesResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/PlaceholderExpander\/EntityViewPlaceholderExpanderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TermStoreWriterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyAliases\/PatchedPropertyAliasesValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ItemMergeInteractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/ContentLanguages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/CopyrightMessageBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/unit\/Deserializers\/LegacySnakListDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/DataTypeFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialDispatchStats.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":26,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityContentFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyAliases\/PatchPropertyAliasesValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/PropertyValuePairDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/DescriptionsDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Dumpers\/RdfDumpGeneratorTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":238,"column":27},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":283,"column":35}]},"\/src\/repo\/lib\/tests\/phpunit\/PropertyInfoSnakUrlExpanderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/ValueValidatorLanguageCodeValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/MergeItemsTest.php":{"errors":0,"warnings":4,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":97,"column":21},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":121,"column":39},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":139,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":212,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/SiteLinkPageNormalizerSitelinkTargetResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/CommonsThumbnailFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityRevisionCache.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/WikiPageEntityStorePermissionChecker.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":174,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":203,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":257,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Statement\/Grouper\/ByPropertyIdStatementGrouper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetPropertyLabel\/GetPropertyLabelTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/PatchPropertyDescriptionsRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/StatementDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveItemStatement\/RemoveItemStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/Scribunto\/WikibaseLuaEntityBindingsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ReplacePropertyStatement\/ReplacePropertyStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemovePropertyLabel\/RemovePropertyLabelRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/SitelinkSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/EntityChangeSelectQueryBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/SiteLinkGlobalIdentifiersProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/SnakListDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/FormatSnakValue.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":255,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityStoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/MetaDataBridgeConfig.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":57,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":64,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":75,"column":12}]},"\/src\/repo\/data-access\/src\/ApiEntitySource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/DefaultRepoSettingsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/PropertyView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveItemStatement\/RemoveItemStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/Values\/ObjectUriRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/EditSummaryHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyAliases\/PatchPropertyAliasesRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/AbstractTermPropertyLabelResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EditEntity\/EditEntityStatus.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$sv\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":31,"column":5}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ReplacePropertyStatement\/DeserializedReplacePropertyStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ItemSearchTextGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/TempUserStatus.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/LabelsSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/ApiEntityTitleTextLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabelWithFallback\/GetItemLabelWithFallback.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/TermsRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/StaticContentLanguagesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/WikibaseSnakFormatterBuildersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/ResubmitChanges.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":62,"column":27}]},"\/src\/repo\/lib\/includes\/ServiceByTypeDispatcher.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":62,"column":13}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/WikibaseServicesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ItemVocabularyBaseUriTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":28,"column":17}]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/EntityIdPlainLinkFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchProperty\/PatchedPropertyValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/NullEntityRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AssertPropertyExists.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/RevisionedUnresolvedRedirectException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Specials\/SpecialUnconnectedPages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/MediaWikiMessageInLanguageProvider.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":12}]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/OutputFormatValueFormatterFactoryTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":64,"column":28},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":67,"column":25},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":171,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/ErrorResponseToHttpStatus.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/SetQualifierTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/ItemTermStoreWriterAdapter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/DispatchingEntityStoreWatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveItemStatement\/RemoveItemStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Notifications\/ChangeHolder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ItemDisambiguationFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/tests\/EntityChangeTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":45,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":51,"column":13}]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/GlobeCoordinateDetailsFormatterTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":29,"column":35}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchProperty\/DeserializedPatchPropertyRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/Formatters\/DefaultEntityLinkFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":127,"column":12}]},"\/src\/repo\/repo\/includes\/Notifications\/ChangeTransmitter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/RemoveStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/TypeDispatchingEntityStoreTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":62,"column":31}]},"\/src\/repo\/repo\/includes\/Store\/EntityTitleStoreLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveItemStatement\/DeserializedRemoveItemStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpStatementRank.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Notifications\/HookChangeTransmitter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/EntityIdDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/BinaryOptionDispatchingSnakFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Actions\/ViewEntityAction.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/CachingKartographerEmbeddingHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/LibNoBadUsageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/WikibaseLib.datatypes.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/config\/WikibaseLib.default.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/Wikibase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Summary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/LangLinkSiteGroupsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/docs\/namespaces.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/CompactEntitySerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/MatchingTermsLookupFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/WikiPageEntityDataLoader.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":33,"column":12}]},"\/src\/repo\/.phan\/config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EntityTypesConfigFeddyPropsAugmenter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetLatestItemRevisionMetadataTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/AddItemStatement\/AddItemStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/ItemDiffTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Statement\/Grouper\/FilteringStatementGrouper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/UpdateExceptionHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/WikibaseServicesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/RemoveStatement\/RemoveStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/Formatters\/EntityLinkFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/ItemPartsSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/TermsCollisionDetector.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpValidationException.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":50,"column":43}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/FederatedPropertiesServiceFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetPropertyAliasesInLanguage\/GetPropertyAliasesInLanguageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemovePropertyLabel\/RemovePropertyLabel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/TitleLookupBasedEntityExistenceChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Statement\/Grouper\/StatementGrouper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/UpdateRepo\/UpdateRepoOnMove.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Statement\/StatementByGuidMapTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetItemLabels\/GetItemLabelsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Api\/ApiListEntityUsage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/WikibaseEntityPermissionChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/ChangesListSpecialPageHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/LabelPrefetchHookHandlerTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":126,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":129,"column":43}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyDescriptions\/DeserializedPatchPropertyDescriptionsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntitySearchHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Rdbms\/TermsDomainDb.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AssertUserIsAuthorized.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyAliases\/PatchPropertyAliases.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/ByTypeDispatchingEntityIdLookup.php":{"errors":2,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":46,"column":12},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":63,"column":40},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":68,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyDescriptions\/PatchPropertyDescriptionsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/SnakNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/UpdateRepo\/UpdateRepoOnDelete.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/AliasesDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityUrlLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityStoreWatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/StatementListSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/ArticleRevisionVisibilitySetHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Rdbms\/ClientDomainDbFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemDescriptions\/PatchItemDescriptionsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchItem\/PatchItemTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/ReferenceListDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EditEntity\/StatsdSaveTimeRecordingEntityStore.php":{"errors":8,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":40,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":44,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":64,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":75,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":79,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":83,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":87,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":91,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpsMergeTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":77,"column":35}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/WholeEntityEditSummaryToFormattableSummaryConverterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/RouteHandlersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/LanguageWithConversionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/SummaryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/ChangeHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddPropertyAliasesInLanguage\/AddPropertyAliasesInLanguageResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetPropertyLabel\/SetPropertyLabelResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/RoutesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddPropertyAliasesInLanguage\/DeserializedAddPropertyAliasesInLanguageRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/DataAccess\/WikibaseDataAccessTestItemSetUpHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/GlobeCoordinateKartographerFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/Termbox\/Renderer\/TermboxRemoteRenderer.php":{"errors":5,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":31,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":90,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":102,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":110,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":126,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":127,"column":27}]},"\/src\/repo\/view\/src\/Termbox\/Renderer\/TermboxNoRemoteRendererException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddPropertyAliasesInLanguage\/AddPropertyAliasesInLanguage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/unit\/Deserializers\/LegacyPropertyDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/PropertyTermsRebuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddItemAliasesInLanguage\/AddItemAliasesInLanguage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddPropertyAliasesInLanguage\/AddPropertyAliasesInLanguageValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/SitelinksValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/TermBufferTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/tests\/RepoRevisionIdentifierTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/SiteLinksRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Store\/ClientStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/PropertyValueExpertsModuleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/JsonDiffJsonPatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/Termbox\/Renderer\/TermboxRenderer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/Termbox\/Renderer\/TermboxRenderingException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EditEntity\/MediaWikiEditFilterHookRunner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/EntitySourceLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/ItemSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityExistenceCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Rdbms\/RepoDomainTermsDb.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/TermValidatorFactoryPropertyLabelValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Rdbms\/ClientDomainDb.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/TermIndexSearchCriteria.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/Values\/MonolingualTextRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/PrefetchingTermLookupAliasesRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Notifications\/ChangeNotifier.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/TermLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/AssertValidTopLevelFieldsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyDescriptions\/PatchedPropertyDescriptionsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/SqlChangeStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/SiteLinkChangeOpFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Statement\/StatementGuidValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetPropertyLabel\/SetPropertyLabelRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddItemAliasesInLanguage\/AddItemAliasesInLanguageResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/LoggerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityChangeFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/EntityQuantityUnitRebuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/PlaceholderExpander\/ExternallyRenderedEntityViewPlaceholderExpanderTest.php":{"errors":2,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$id\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":226,"column":5},{"message":"Doc comment for parameter \"$revisionId\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":248,"column":5}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityParserOutputGeneratorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/MakeGlobalVariablesScriptHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/Values\/CommonsMediaRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/Values\/GlobeCoordinateRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Merge\/MergeFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":73,"column":12}]},"\/src\/repo\/lib\/includes\/Store\/Sql\/EntityIdLocalPartPageTableEntityQuery.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":26,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":30,"column":15}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddPropertyAliasesInLanguage\/AddPropertyAliasesInLanguageRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Statement\/StatementGuidTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/DataValue\/ValuesFinder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/ResponseFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetPropertyLabel\/DeserializedSetPropertyLabelRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpReferenceRemove.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/Termbox\/TermboxModule.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$file\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":23,"column":5}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/MatchingTermsLookupFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddItemAliasesInLanguage\/AddItemAliasesInLanguageRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/Middleware\/ResponseHeaderCountingTestMiddleware.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/UpdateRepo\/UpdateRepoOnDeleteJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/WikibaseSnakFormatterBuilders.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Sql\/SqlSiteLinkConflictLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/SetSitelinkRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddItemAliasesInLanguage\/AddItemAliasesInLanguageValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddItemAliasesInLanguage\/DeserializedAddItemAliasesInLanguageRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/fixtures\/FakeEntityDocument.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/SiteLinkDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/TermValidatorFactoryAliasesInLanguageValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/EntityDocumentView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ValueParserFactoryTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":88,"column":16}]},"\/src\/repo\/lib\/includes\/Store\/RedirectResolvingLatestRevisionLookup.php":{"errors":0,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":37,"column":23},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":42,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":50,"column":43}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityContentDataCodecTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/RepoItemUriParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/fixtures\/ItemFixtures.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemDescriptions\/PatchedItemDescriptionsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabels\/DeserializedGetPropertyLabelsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/Values\/ObjectUriRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/SkinAfterPortletHandlerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":160,"column":35}]},"\/src\/repo\/lib\/tests\/phpunit\/SourceDispatchingPropertyDataTypeLookupTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":57,"column":36},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":81,"column":36}]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/SetPropertyDescriptionRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/AliasTermBufferTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/NamespaceCheckerTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":93,"column":23},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":97,"column":37}]},"\/src\/repo\/repo\/includes\/EditEntity\/MediaWikiEditEntityFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":81,"column":12}]},"\/src\/repo\/repo\/includes\/Merge\/Validator\/NoCrossReferencingStatements.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/RemoveClaimsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/ItemPatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/fixtures\/PropertyFixtures.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemDescriptions\/DeserializedPatchItemDescriptionsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/SnakDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/UpdateRepo\/UpdateRepo.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/EntityUpdaterStatementUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/Exceptions\/EntityUpdateFailed.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/Values\/TabularDataRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/Values\/LiteralValueRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Store\/AddUsagesForPageJob.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":41,"column":30},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":101,"column":30}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ItemRedirectCreationInteractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/ReferenceDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/SnakValueDeserializerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":59,"column":33}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/TermsLanguagesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/Exceptions\/StatementSubjectDisappeared.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/RemoveItemDescription\/RemoveItemDescriptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/EntityView.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":47,"column":15}]},"\/src\/repo\/lib\/includes\/Rdbms\/DomainDb.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetPropertyLabel\/SetPropertyLabel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/NewDatabaseEntitySourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/EntityChangeLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetPropertyLabel\/SetPropertyLabelValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/SitelinkDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpFactoryProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/WikibaseClientSchemaTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/PlaceholderExpander\/TermboxRequestInspectorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/CachingItemOrderProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/SnakFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/fixtures\/EntityOfUnknownType.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/EntityUsageFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/SerializerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Serializer\/ClientStatementListSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/ItemStatementIdRequestValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchSitelinks\/PatchSitelinks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/SettingsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/WikibaseEntityRevisionLookupItemRevisionMetadataRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityIdHtmlLinkFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/ViewContent.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":27,"column":12}]},"\/src\/repo\/repo\/includes\/Store\/Sql\/Terms\/EntityTermsSelectQueryBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/PropertyInfoTable.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Rdbms\/ReplicationWaiter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/SummaryFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemDescriptions\/PatchItemDescriptionsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/EntityDifferTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/PropertySerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetSitelinks\/GetSitelinksRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/rebuildItemsPerSite.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetSitelinks\/GetSitelinksValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Rdbms\/RepoDomainDb.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TermBufferTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EditEntity\/StatsdSaveTimeRecordingEditEntity.php":{"errors":8,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":36,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":40,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":44,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":48,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":52,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":56,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":64,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":68,"column":12}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/AffectedPagesFinderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/tests\/ChangeRowTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetSitelinks\/DeserializedGetSitelinksRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Statement\/StatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/DefaultValidatorBuildersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Notifications\/WikiPageActionEntityChangeFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/FallbackChainModuleMethods.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":24,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Interactors\/ItemMergeInteractorTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":103,"column":21}]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/unit\/Deserializers\/LegacyItemDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Notifications\/ChangeTransmitterException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/EntityTermsViewFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetSitelinks\/GetSitelinksResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/RepoDomainDbFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Rdbms\/RepoDomainDbFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/ApiPrefetchingTermLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/UpdateRepo\/UpdateRepoJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/FederatedPropertiesTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/UsageDeduplicator.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":117,"column":13}]},"\/src\/repo\/lib\/includes\/Store\/CachingFallbackLabelDescriptionLookup.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":108,"column":13}]},"\/src\/repo\/lib\/includes\/Rdbms\/TermsDomainDbFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Term\/AliasGroupListTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Merge\/StatementsMerger.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":50,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":126,"column":13}]},"\/src\/repo\/repo\/includes\/Actions\/SubmitEntityAction.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EditEntity\/StatsdTimeRecordingEditFilterHookRunner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Helpers\/TestPropertyValuePairDeserializerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Serializer\/ClientEntitySerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiringTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/Values\/QuantityRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/SearchEntitiesRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/Middleware\/TempUserCreationResponseHeaderMiddlewareTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":40,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":76,"column":13}]},"\/src\/repo\/client\/includes\/Store\/DescriptionLookup.php":{"errors":0,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":73,"column":31},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":146,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":157,"column":53}]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/DatabaseInnerTermStoreCleanerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":265,"column":17}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TermValidatorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/PropertyInfoProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetSitelinks\/GetSitelinks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetItemDescriptionWithFallback\/GetItemDescriptionWithFallbackTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Actions\/SubmitEntityStatus.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$sv\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":30,"column":5}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/TermboxFlagTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/SiteLinkPageNormalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/DeserializerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EditEntity\/EditFilterHookRunner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/DispatchingEntityTypeStatementGrouperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchSitelinks\/PatchedSitelinksValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/AliasesInLanguage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/ItemDifferTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/Scribunto\/EntityAccessorTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$statementDeprecated\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":247,"column":5}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Diff\/EntityContentDiffViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddPropertyStatement\/AddPropertyStatementResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/EntityChangeNotificationJobTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/NullUsageTracker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/dumpJson.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Entity\/BasicEntityIdParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/ViewHooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityRedirectCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/MediaWikiLanguageDirectionalityLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchSitelinks\/PatchSitelinksResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddPropertyStatement\/DeserializedAddPropertyStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/PatchItemLabelsRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/HashUsageAccumulator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/EntityIdFormatterFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/WikibaseApiTestCase.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":168,"column":47}]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Value.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/StatementGrouperBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetLatestPropertyRevisionMetadataTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Actions\/HistoryEntityAction.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/BabelUserLanguageLookupDouble.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":18,"column":15}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/EntityParserOutputDataUpdaterCollectionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/LanguageDirectionalityLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/DispatchStatsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/EntityUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpsMerge.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/Values\/TimeRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/ItemRevision.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/PrefetchingWikiPageEntityMetaDataAccessor.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":261,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TermLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/DispatchingEntityTypeStatementGrouper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/IdGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FingerprintSearchTextGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/EntityTypeDefinitions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/unit\/Deserializers\/LegacyStatementDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangedLanguagesCounter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/EntitySourceDefinitionsConfigParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Sql\/Terms\/DatabaseTermsCollisionDetector.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":138,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/TermListSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/MwTimeIsoFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/GenericEventDispatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchSitelinks\/PatchSitelinksRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddPropertyStatement\/AddPropertyStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/WikiPageEntityRevisionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/DummyChangeOpResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/GetClaimsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Store\/UsageUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/PropertyDescriptionEditRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchSitelinks\/PatchSitelinksValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/Template\/TemplateFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":22,"column":19}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/Scribunto\/WikibaseLanguageDependentLuaBindingsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/WikibaseEntityRevisionLookupPropertyRevisionMetadataRetriever.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":27,"column":17}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchSitelinks\/DeserializedPatchSitelinksRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Property.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/integration\/LegacyDeserializerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/PageTableEntityQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/TermSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/RdfBuilderFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ItemDisambiguation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/Template\/TemplateRegistry.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/FederatedPropertiesTestTrait.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":61,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":66,"column":13},{"message":"Doc comment for parameter \"$name\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":107,"column":5},{"message":"Doc comment for parameter \"$value\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":107,"column":5}]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/PropertyValuePair.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/Middleware\/RequestPreconditionCheckTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/ShowSearchHitHandlerTest.php":{"errors":0,"warnings":4,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":54,"column":17},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":126,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":174,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":193,"column":39}]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/EntityRevisionLookupStatementRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/FakePrefetchingTermLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Api\/ApiPropsEntityUsageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/UpdateRepo\/UpdateRepoOnMoveJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/WikiPageEntityMetaDataAccessor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/LoggerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddPropertyStatement\/AddPropertyStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/LabelDescriptionNotEqualValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/StoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/UsageAspectTransformer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/PropertyStatementIdRequestValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/Template\/Template.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/Values\/GlobeCoordinateRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/AddPageInfo.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Descriptions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/SettingsArray.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Dumpers\/JsonDumpGeneratorTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":119,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":274,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":385,"column":35}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Localizer\/MessageParameterFormatterTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":69,"column":17},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":87,"column":17}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddPropertyStatement\/AddPropertyStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/AliasTermBufferTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/LanguageFallbackChainFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/UniquenessViolation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/TypedSnakSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/UsageTracker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/EntityPrefetcherSpy.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/Values\/QuantityRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/integration\/Deserializers\/StatementDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpFactoryProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/Values\/GeoShapeRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/OutputFormatValueFormatterFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Entity\/ItemIdSetTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Sql\/WikiPageEntityRedirectLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Parsers\/EntityIdValueParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Units\/CSVUnitStorage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/SnakFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Localizer\/MessageExceptionLocalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Statement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/PropertyDataTypeChangerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":130,"column":35}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/CommonsMediaValueNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Units\/UnitStorage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabel\/GetPropertyLabel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/FallbackLookupFactoryTermsRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/PageImagesDataUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpFingerprint.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":32,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":36,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":40,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":44,"column":12}]},"\/src\/repo\/repo\/includes\/Parsers\/WikibaseStringValueNormalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/FederatedPropertiesAwareDispatchingEntityIdParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TermsLanguagesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabel\/GetPropertyLabelValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/CreatePropertyRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/MetaDataBridgeConfigTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpReferenceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/Values\/EntityIdRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Label.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/Middleware\/BotRightCheckMiddlewareTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/PrefetchingTermLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Units\/JsonUnitStorage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/RemoveSitelink\/RemoveSitelinkTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/RegexValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/tests\/EntityDiffChangedAspectsFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/integration\/Deserializers\/EntityDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Units\/InMemoryUnitStorage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabel\/GetPropertyLabelResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Search\/Fields\/FieldDefinitionsFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/SnakListSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/PredicateProperty.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/CompactBaseDataModelSerializerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Parsers\/MonolingualTextParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Localizer\/DispatchingExceptionLocalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Store\/Sql\/UnexpectedUnconnectedPagePrimer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/EntityParserOutputGeneratorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/DatabaseTermInLangIdsResolver.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":197,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":206,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":210,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/Values\/ComplexValueRdfHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/tests\/RepoRevisionIdentifierFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/RepoLinkerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/CompositeValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/ApiEntitySourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/LabelsProviderEntityIdHtmlLinkFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/Values\/ComplexValueRdfHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Item.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/InfoActionHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/BaseDataModelDeserializerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/DatabaseItemTermStoreWriterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Store\/Sql\/PagePropsEntityIdLookup.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":47,"column":41}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/Middleware\/PreconditionMiddlewareTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/PageEntityUsages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/Internal\/FingerprintPatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/SiteLinkListSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/PropertyServicesTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":28,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":31,"column":47}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Dumpers\/JsonDataTypeInjectorTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":127,"column":35}]},"\/src\/repo\/view\/src\/StatementHtmlGenerator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":139,"column":13}]},"\/src\/repo\/repo\/includes\/Validators\/TimestampPrecisionValidator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":38,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/BagOStuffSiteLinkConflictLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/StatementTransclusionInteractorTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":201,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":219,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":246,"column":17}]},"\/src\/repo\/view\/src\/ViewPlaceHolderEmitter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/repo\/includes\/Parsers\/MwEraParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/EntityRevisionLookupPropertyDataRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Store\/DescriptionLookupTest.php":{"errors":0,"warnings":6,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":204,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":205,"column":49},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":210,"column":39},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":233,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":234,"column":49},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":261,"column":17}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Localizer\/ChangeOpValidationExceptionLocalizerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":75,"column":17}]},"\/src\/repo\/lib\/includes\/Units\/UnitConverter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":40,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/ParserOutput\/FederatedPropertiesUiEntityParserOutputGeneratorDecoratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/integration\/TestFactoryBuilder.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":46,"column":19}]},"\/src\/repo\/lib\/tests\/phpunit\/MockRepositoryTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":694,"column":17}]},"\/src\/repo\/view\/src\/EntityMetaTagsCreator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/Values\/EntityIdRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/NumberValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/DumpEntities.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":255,"column":76}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchStatement\/PatchedStatementValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/StatementChangeOpFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/AnonymousEditWarningBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/tests\/MockRepoClientCentralIdLookup.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":45,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":49,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":55,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":61,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":74,"column":12}]},"\/src\/repo\/repo\/includes\/Rdf\/Values\/LiteralValueRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/integration\/SerializerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Localizer\/ParseExceptionLocalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/PropertyInfoBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/PropertyPartsBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/ImageLinksDataUpdaterTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":31,"column":35}]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/RemovePropertyStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Units\/BaseUnitStorage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/TermStoreWriterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Parsers\/MediaWikiNumberUnlocalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/Middleware\/AuthenticationMiddlewareTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/ApiJsonFormatTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":158,"column":13}]},"\/src\/repo\/client\/includes\/Usage\/UsageTrackingLanguageFallbackLabelDescriptionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/ErrorHandlingSnakFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"...$args\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":98,"column":5}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/Internal\/SiteLinkListPatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/EntitySourceLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/Values\/ExternalIdentifierRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Localizer\/GenericExceptionLocalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Rank.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/integration\/DeserializerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/Values\/GeoShapeRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialModifyEntity.php":{"errors":1,"warnings":1,"messages":[{"message":"Doc comment for parameter \"$anonymousEditWarningBuilder\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":45,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":302,"column":34}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/ReferenceFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/rebuildEntityQuantityUnit.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/MockRepository.php":{"errors":7,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":103,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":372,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":442,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":462,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":466,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":484,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":609,"column":12}]},"\/src\/repo\/repo\/includes\/Validators\/MembershipValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/Middleware\/MiddlewareHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/TermLookupEntityTermsRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/StatementListSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/StatementSerializationRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/EscapingValueFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/SiteLinkTable.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":76,"column":13}]},"\/src\/repo\/lib\/includes\/PropertyInfoSnakUrlExpander.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/CachingPrefetchingTermLookup.php":{"errors":14,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":91,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":98,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":106,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":114,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":122,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":143,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":148,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":243,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":302,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":311,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":323,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":337,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":362,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":380,"column":13}]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/Util\/MockJobQueueFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/RedirectTrackingUsageAccumulator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/EntityTypesTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":64,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpLabelTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Localizer\/ChangeOpApplyExceptionLocalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiringTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Api\/PageTermsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/NumberRangeValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/NullSubscriptionManager.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/EntityPrefetcherSpyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpQualifier.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/JulianDateTimeValueCleaner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/EscapingValueFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/NonExistingEntityIdHtmlFormatterLinker.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":52,"column":12}]},"\/src\/repo\/repo\/includes\/Store\/Sql\/DatabaseSchemaUpdater.php":{"errors":2,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":193,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":228,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":276,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":280,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":309,"column":46}]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/integration\/RealEntitiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/PropertyParts.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/DifferenceEngineViewHeaderHookHandlerTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":173,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":178,"column":28}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/GenericChangeOpResultTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/populateChangesSubscription.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/ParserOutput\/FederatedPropertiesPrefetchingEntityParserOutputGeneratorDecoratorTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":86,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":89,"column":43}]},"\/src\/repo\/lib\/includes\/TermFallbackCache\/TermFallbackCacheFacade.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/PropertyIdResolverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/SnakSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/IO\/EntityIdReaderTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":36,"column":27}]},"\/src\/repo\/lib\/includes\/Formatters\/NonExistingEntityIdHtmlBrokenLinkFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Localizer\/ChangeOpDeserializationExceptionLocalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/ServiceBySourceAndTypeDispatcherTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":42,"column":16}]},"\/src\/repo\/repo\/includes\/Validators\/EntityConstraintProvider.php":{"errors":2,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$entityType\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":63,"column":5},{"message":"Doc comment for parameter \"$entityId\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":63,"column":5}]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/LatestPropertyRevisionMetadataResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/FullEntityParserOutputGeneratorIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetItemStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/EntityUpdaterItemUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpResultStub.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/TermFallbackCache\/TermFallbackSerializerTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/ResultBuilder.php":{"errors":8,"warnings":5,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":361,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":445,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":452,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":459,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":565,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":587,"column":29},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":784,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":786,"column":27},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":796,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":846,"column":28},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":990,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":992,"column":30},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":996,"column":24}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/PropertyLabelNotResolvedExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/IO\/LineReaderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialMyLanguageFallbackChain.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Aliases.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/DataValueValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Store\/Sql\/DirectSqlStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/Values\/TimeRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/ItemAliasesInLanguageEditRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/TermDeserializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":58,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/ReferenceListSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/TermFallbackCache\/TermFallbackCacheServiceFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":20,"column":12}]},"\/src\/repo\/lib\/tests\/phpunit\/SimpleCacheTestCase.php":{"errors":0,"warnings":4,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":286,"column":16},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":330,"column":16},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":374,"column":16},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":466,"column":19}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/ParserOutput\/EntityParserOutputGeneratorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/EntityUpdaterStatementRemover.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Sql\/SqlIdGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/UpdateRepo\/UpdateRepoOnDeleteTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Description.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/LanguageNameLookupFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/ItemStubRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/HtmlTimeFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/GlobalStateFactoryMethodsResourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangedLanguagesCounterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/CachingPropertyInfoLookup.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":186,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":193,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/tests\/TestChanges.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":45,"column":20}]},"\/src\/repo\/repo\/includes\/Rdf\/EntityRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Actions\/EditEntityAction.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/DispatchingEntityMetaTagsCreatorFactoryTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":45,"column":40}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/RemoveReferencesTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":100,"column":21},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":130,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Reference.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/WikibaseEntityRevisionLookupStatementSubjectRevisionMetadataRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Qualifiers.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/EntityUsage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/Middleware\/StatementRedirectMiddlewareTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/FormatterLabelDescriptionLookupFactoryTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":59,"column":30},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":63,"column":39},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":77,"column":25}]},"\/src\/repo\/lib\/includes\/Formatters\/NumberLocalizerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/DatabaseTermInLangIdsAcquirer.php":{"errors":5,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":121,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":127,"column":44},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":235,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":312,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":357,"column":21},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":394,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":416,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":421,"column":13}]},"\/src\/repo\/lib\/tests\/phpunit\/EntityFactoryTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":24,"column":23},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":27,"column":27}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Store\/UsageUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Parsers\/MwTimeIsoParser.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":213,"column":17}]},"\/src\/repo\/repo\/includes\/Validators\/ValidatorErrorLocalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/SubscriptionManager.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/UnmappedEntityIdValueFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":13,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/StatementListProviderDummy.php":{"errors":6,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":31,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":35,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":39,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":43,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":47,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":55,"column":12}]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpDescription.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/MultiPropertyTermStoreWriter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/SiteLinksView.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":243,"column":13}]},"\/src\/repo\/repo\/maintenance\/dumpRdf.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/PurgeEntityDataJobTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/federated-properties\/src\/FederatedPropertyId.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":61,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":69,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/FallbackHintHtmlTermRendererTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/HtmlSnakFormatterFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/Util\/ReplicaPrimaryAwareRecordIdsAcquirerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/EntityTypeDefinitionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/StringNormalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/DatabaseItemTermStoreWriter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EntityIdHtmlLinkFormatterFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/TermStoreCleaner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/TitleLookupBasedEntityTitleTextLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Parsers\/MediaWikiMonthNameProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/ApiEntityExistenceCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/EntitySourceDefinitionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/DispatchingValueSnakRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialSetDescription.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/UnknownTypeEntityIdHtmlLinkFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpsTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":118,"column":29},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":196,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":203,"column":35}]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/ItemParts.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/Util\/FakeLoadBalancer.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":31,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":46,"column":12}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/RepoItemLinkGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/HtmlExternalIdentifierFormatterTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":27,"column":40},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":31,"column":39}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/EditFilterHookRunnerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":43,"column":35}]},"\/src\/repo\/repo\/includes\/ChangeOp\/SiteLinkChangeOpFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/federated-properties\/tests\/FederatedPropertyIdTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/MediaWikiContentLanguages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/Middleware\/UserAgentCheckMiddlewareTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/UpdateRepo\/UpdateRepoOnMoveTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/FormatEntities.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":148,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":160,"column":20}]},"\/src\/repo\/lib\/includes\/Store\/Sql\/WikiPageEntityMetaDataLookup.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":287,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/PermissionCheckResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpStatementRankTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/SubEntityTypesMapperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/MediaWikiLocalizedTextProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/DataTypeSelector.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/unit\/MediaWiki\/EntitySourceDocumentUrlProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/LanguageFallbackIndicatorTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":24,"column":35}]},"\/src\/repo\/lib\/includes\/Formatters\/DispatchingEntityIdHtmlLinkFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/RemoveItemLabelRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/CachingOtherProjectsSitesProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpResultTraversal.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":23,"column":13}]},"\/src\/repo\/lib\/includes\/Formatters\/MonolingualWikitextFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/rebuildPropertyTerms.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/resources\/templates.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":15,"column":24}]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Api\/ApiListEntityUsageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Store\/AddUsagesForPageJobTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/Internal\/AliasGroupListPatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/Middleware\/PreconditionMiddlewareFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Sitelink.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Parsers\/MwDateFormatParserFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/Util\/FakeLBFactory.php":{"errors":6,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":27,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":35,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":43,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":47,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":51,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":71,"column":15}]},"\/src\/repo\/data-access\/tests\/phpunit\/Serializer\/ForbiddenSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/MockPropertyLabelResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/FallbackLabelDescriptionLookupFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/NullChangeOpTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/RecentChangeFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/StatementSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/TermValidatorFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":183,"column":12}]},"\/src\/repo\/lib\/includes\/LanguageNameLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialAvailableBadges.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":81,"column":31}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/ItemLabelEditRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Statement\/StatementListTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchStatement\/PatchStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/ParserFunctionRegistrantTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/WikibasePingbackTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/EntityRevisionLookupItemDataRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/EntityChangeOpProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/AliasChangeOpDeserializationTester.php":{"errors":1,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":54,"column":37},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":80,"column":13}]},"\/src\/repo\/lib\/includes\/Reporting\/ExceptionHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/PlaintextTimeFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/SnakDeserializer.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":140,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":187,"column":13}]},"\/src\/repo\/client\/includes\/Store\/Sql\/BulkSubscriptionUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Reporting\/LogWarningExceptionHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/changePropertyDataType.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/HashSiteLinkStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/LatestItemRevisionMetadataResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/ModifiedLanguageCodes.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/WikibaseSettings.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityContentTooBigException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/DispatchableSerializerTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/PropertySourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/DataFieldValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/Middleware\/UnexpectedErrorHandlerMiddlewareTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":40,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":78,"column":13}]},"\/src\/repo\/repo\/includes\/Api\/EntityByTitleHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/NewDatabaseEntitySource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/MessageInLanguageProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Statement\/ReferencedStatementFilterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Reporting\/ReportingExceptionHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/StorageException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/EntitySearchException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Reporting\/RethrowingExceptionHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchItem\/PatchedItemValidatorTest.php":{"errors":0,"warnings":4,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":345,"column":32},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":349,"column":34},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":462,"column":32},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":466,"column":34}]},"\/src\/repo\/repo\/includes\/Parsers\/TimeParserFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/RdfVocabularyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/ImplicitDescriptionUsageLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Sites\/SiteMatrixParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/DescriptionsChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Entity\/PropertyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/CommonsMediaExistsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/SiteLinkDeserializer.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":56,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":69,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":83,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":93,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":98,"column":13}]},"\/src\/repo\/repo\/maintenance\/importFederatedPropertiesSampleData.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":49,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":59,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/ApiEntityLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/ItemPartsBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/LanguageLinkBadgeDisplayTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":36,"column":35}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Domain\/ReadModel\/ValueTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/FallbackLabelDescriptionLookupFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/SiteLinkSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/FieldPropertyInfoProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/PropertySpecificComponentsRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/CachingSiteLinkLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/DatabaseMatchingTermsLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/GlobeCoordinateKartographerFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetPropertyLabelWithFallback\/GetPropertyLabelWithFallbackTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/LinkedData\/EntityDataUriManager.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/DataType.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Labels.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/ReferenceList.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/CachingKartographerEmbeddingHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/UsageAccumulatorFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Sitelinks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Exception\/StatementGuidChangedException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Exception\/StatementNotFoundException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Domain\/ReadModel\/LabelsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Api\/ApiFormatReferenceUnitTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/CreateItemRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Exception\/PropertyChangedException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/WrappingEntityIdFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/TermLanguageFallbackChain.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/EditActionHookHandler.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":69,"column":12}]},"\/src\/repo\/client\/includes\/Usage\/UsageLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/StatementList.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/StaticTypeIdsStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/OtherProjectsSidebarGeneratorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/LanguageNameLookupFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/TermListDeserializer.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":65,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":78,"column":13}]},"\/src\/repo\/repo\/includes\/Specials\/SpecialRedirectEntity.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":175,"column":34}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/ByPropertyIdGrouperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/LanguageLinkBadgeDisplayTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/StringLengthValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpSiteLinkTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Domain\/ReadModel\/DescriptionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/AliasGroupListSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/DatabasePropertyTermStoreWriter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Entity\/EntityIdTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/TruthyStatementRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityLinkTargetEntityIdLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Domain\/ReadModel\/NewStatementReadModel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/SetDescription.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/ApiEntityNamespaceInfoLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/LatestStatementSubjectRevisionMetadataResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/ParserOutputUsageAccumulator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/SiteLinkBadgeChangeOpSerializationValidatorTest.php":{"errors":0,"warnings":5,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":36,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":61,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":78,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":98,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":122,"column":13}]},"\/src\/repo\/lib\/includes\/ServiceBySourceAndTypeDispatcher.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":43,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":59,"column":12}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/PropertyLabelEditRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Sites\/SitesBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/SourceAndTypeDispatchingTitleTextLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/PropertyParserFunctionRunnerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EntityReferenceExtractors\/EntityReferenceExtractorDelegator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":36,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/PropertyRevision.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetStatement\/GetStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/NormalizedTermStorageMapping.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/ShortDescHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/AvailableBadges.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/EntityUriValidator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":33,"column":12}]},"\/src\/repo\/repo\/includes\/EntityReferenceExtractors\/EntityReferenceExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Sql\/WikiPageEntityStore.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":204,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/OutputPageBeforeHTMLHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/StatsdRecordingSimpleCache.php":{"errors":7,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":62,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":73,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":77,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":85,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":111,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":115,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":119,"column":12}]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Api\/ApiClientInfoTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchPropertyAliases\/PatchedPropertyAliasesValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/EntityTypeDefinitionsTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":27,"column":46}]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/StatementRevision.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/ApiXmlFormatTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/ParserFunctions\/CommaSeparatedListTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":28,"column":63}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/EntityId\/InMemoryEntityIdPagerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/ApiPropertyDataTypeLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/References.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/SnakRdfBuilderTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":65,"column":35}]},"\/src\/repo\/client\/includes\/Usage\/UsageTrackingSnakFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EntityReferenceExtractors\/SiteLinkBadgeItemReferenceExtractor.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":33,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":43,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemPartsRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/MultipleEntitySourceServicesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/BaseUriExtractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/DatabaseTypeIdsStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyLabelsRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/AlternativeValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/LanguageFallbackIndicator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":30,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/DataAccessSettingsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Entity\/ItemIdTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/AliasesChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/StatementDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ClientParserOutputDataUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Normalization\/SnakNormalizer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":67,"column":13}]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpReference.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/EditSummaryFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemDescriptionRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/EntityId\/SuffixEntityIdParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/PropertyValueSnakFormatterTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":145,"column":40}]},"\/src\/repo\/repo\/includes\/Specials\/SpecialSetAliases.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/TermCacheKeyBuilder.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemAliasesRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/EntitySourceAndTypeDefinitionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/DatabaseUsageCheckingTermStoreCleaner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/SnakValueDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/LinkedData\/EntityDataFormatProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Normalization\/StringValueNormalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EntityReferenceExtractors\/StatementEntityReferenceExtractor.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":82,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/AddItemAliasesInLanguageRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/WikibaseClient.ServiceWiring.php":{"errors":0,"warnings":80,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":141,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":152,"column":41},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":156,"column":58},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":168,"column":39},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":201,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":210,"column":63},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":221,"column":49},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":234,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":240,"column":56},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":251,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":270,"column":41},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":276,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":289,"column":54},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":298,"column":55},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":340,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":348,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":364,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":373,"column":38},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":383,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":390,"column":40},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":403,"column":40},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":409,"column":38},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":413,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":416,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":426,"column":46},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":430,"column":56},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":439,"column":49},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":449,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":463,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":497,"column":63},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":509,"column":36},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":515,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":527,"column":36},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":538,"column":54},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":555,"column":48},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":569,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":574,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":579,"column":54},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":588,"column":50},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":594,"column":32},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":598,"column":51},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":602,"column":36},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":610,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":619,"column":62},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":633,"column":52},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":649,"column":49},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":662,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":677,"column":48},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":686,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":710,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":746,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":769,"column":54},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":781,"column":40},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":792,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":810,"column":63},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":818,"column":51},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":831,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":841,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":851,"column":36},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":862,"column":55},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":874,"column":34},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":878,"column":49},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":890,"column":30},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":927,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":948,"column":46},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":959,"column":55},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":973,"column":31},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":986,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":990,"column":36},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":994,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1001,"column":50},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1014,"column":54},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1024,"column":36},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1028,"column":46},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1032,"column":40},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1037,"column":49},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1050,"column":38},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1065,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1074,"column":50},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1081,"column":42}]},"\/src\/repo\/lib\/includes\/FormatableSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyDescriptionWithFallbackRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/PropertySerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/NoReverseDependencyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/EntityId\/EscapingEntityIdFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/RepoHooks.php":{"errors":1,"warnings":6,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":150,"column":42},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":220,"column":20},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":936,"column":39},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1038,"column":30},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1043,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1062,"column":34},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1067,"column":29}]},"\/src\/repo\/repo\/includes\/Validators\/UrlSchemeValidators.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/SiteTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Domain\/ReadModel\/ItemPartsBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/FederatedPropertiesErrorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/MaintenanceShellStart.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyWriteModelRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/UsageAccumulator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EntityReferenceExtractors\/EntityReferenceExtractorCollection.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/Formatters\/DefaultEntityLinkFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Sql\/PropertyInfoTableBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyDescriptionRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/TermsEditSummaryToFormattableSummaryConverter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/LabelsChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/PropertyDataTypeLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Normalization\/StatementNormalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Modules\/RepoAccessModule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Api\/ApiFormatReferenceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/EntityIdLinkFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/FingerprintChangeOpFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/EntityId\/PlainEntityIdFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ArrayValueCollector.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/SnakListDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/PropertyRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Normalization\/DataValueNormalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/ApiHelperFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Modules\/MediaWikiConfigValueProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/EditActionHookHandlerTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":50,"column":33},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":98,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":149,"column":35}]},"\/src\/repo\/lib\/tests\/phpunit\/Rdbms\/ReplicationWaiterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/LangLinkHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/RestrictedEntityLookupFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/AliasGroupSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/LabelUniquenessValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/LoginFormValidErrorMessagesHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Normalization\/ReferenceNormalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Modules\/SettingsValueProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/SummaryFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/CacheAwarePropertyInfoStore.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":149,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":156,"column":13}]},"\/src\/repo\/lib\/includes\/Normalization\/CompositeDataValueNormalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/EntitySourceAndTypeDefinitionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/SpecialListFederatedProperties.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/addUnitConversions.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":281,"column":35}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Usage\/UsageAspectTransformerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/ClientDomainDbFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/SearchEntitiesIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/FederatedPropertiesException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetPropertyDescriptionRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Modules\/MediaWikiConfigModule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Rdbms\/ClientDomainDbFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/EntityId\/EntityIdLabelFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/GetClaimsStatementFilter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":82,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/EditEntityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/Formatters\/EntityLinkFormatterFactoryTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":97,"column":26}]},"\/src\/repo\/repo\/includes\/FederatedProperties\/FederatedPropertiesEntityIdFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/repo\/includes\/Parsers\/DateFormatParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/WikiPagePropertyOrderProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/ValueFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/ExtensionLoadHandlerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":30,"column":13}]},"\/src\/repo\/repo\/includes\/Validators\/SiteLinkUniquenessValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Modules\/PropertyValueExpertsModule.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":41,"column":12}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/ReferenceSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Rdbms\/TermsDomainDbFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/InMemoryPrefetchingTermLookup.php":{"errors":9,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":74,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":78,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":94,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":108,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":113,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":120,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":145,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":152,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":168,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/SiteLinkLookupSitelinkValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/TermFallbackCacheFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/ByPropertyIdArray.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/QuantityDetailsFormatterTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":31,"column":35}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/PropertyDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/OtherProjectsSidebarGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/ApiEntityNamespaceInfoLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/EntityIdLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Domain\/ReadModel\/PropertyPartsBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/WikiPageItemOrderProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/StaticContentLanguages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/CachingFallbackLabelDescriptionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/ItemChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/InterWikiLinkExistsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchPropertyAliases\/PatchPropertyAliasesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Diff\/ClaimDifferenceVisualizerTest.php":{"errors":0,"warnings":4,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":40,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":46,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":51,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":56,"column":35}]},"\/src\/repo\/lib\/includes\/Store\/EntityByLinkedTitleLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/NumberLocalizerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpLabel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/ReferenceListDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Domain\/ReadModel\/SitelinksTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/TermsRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/RemoveQualifiersTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":46,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/OutputPageEntityIdReaderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/ReplaceStatement\/ReplaceStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/EntityId\/EntityIdComposerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/rebuildItemTerms.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":110,"column":13}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Usage\/EntityUsageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Sql\/ChangesSubscriptionTableBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/CompactEntitySerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/Util\/ReplicaPrimaryAwareRecordIdsAcquirer.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":247,"column":47}]},"\/src\/repo\/lib\/includes\/Store\/MatchingTermsLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/WikibaseValueFormatterBuilders.php":{"errors":6,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":189,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":251,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":264,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":273,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":280,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":523,"column":12}]},"\/src\/repo\/repo\/includes\/PurgeEntityDataJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpLabelResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Modules\/SitesModule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialModifyTerm.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/WholeEntityEditSummaryToFormattableSummaryConverter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Domain\/ReadModel\/AliasesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/FederatedPropertiesError.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":55,"column":12}]},"\/src\/repo\/lib\/tests\/phpunit\/Rdbms\/RepoDomainTermsDbTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Sql\/SqlSubscriptionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/Util\/StatsMonitoring.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/WikiTextPropertyOrderProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetItemDescriptionsRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/SourceAndTypeDispatchingTitleTextLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/EntityExistsValidator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":31,"column":12}]},"\/src\/repo\/repo\/includes\/AnonymousEditWarningBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/ByPropertyIdArrayTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Store\/Sql\/BulkSubscriptionUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/Sql\/SqlUsageTracker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Content\/ItemHandler.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":114,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":148,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":195,"column":12}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/PropertyLabelResolverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/PropertyOrderProviderException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/MonolingualHtmlFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Usage\/UsageAccumulatorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/UnresolvedEntityRedirectExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/ReferenceDeserializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":40,"column":13}]},"\/src\/repo\/lib\/tests\/phpunit\/Rdbms\/LocalRepoDbTestHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/WikiPageEntityStorePermissionCheckerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":565,"column":35}]},"\/src\/repo\/lib\/includes\/Store\/EntityIdLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/SetQualifierTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/ValueSnakRdfBuilderFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityExistenceChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Term\/TermList.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/DatabaseTermInLangIdsResolverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/JsonDiffJsonPatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Internal\/MapValueHasherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Domain\/ReadModel\/StatementListTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/PropertyOrderProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetItemStatement\/GetItemStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/FederatedPropertiesAwareDispatchingEntityIdParser.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":68,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":72,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":89,"column":13}]},"\/src\/repo\/lib\/tests\/phpunit\/Rdbms\/RepoDomainDbTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/DatabaseEntitySourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/MessageSnakFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/LanguageLabelDescriptionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/LanguageWithConversion.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Sql\/UpsertSqlIdGenerator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":92,"column":13}]},"\/src\/repo\/client\/includes\/Hooks\/DataUpdateHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/JsonDiffJsonPatchValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/resources.php":{"errors":0,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":15,"column":24},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":965,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":987,"column":35}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Term\/Term.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpAliases.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/FallbackLabelDescriptionLookupFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/DataAccessSnakFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Usage\/UsageDeduplicatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/RemoveClaimsTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":50,"column":49}]},"\/src\/repo\/lib\/includes\/Formatters\/InterWikiLinkWikitextFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/AliasGroupListDeserializer.php":{"errors":6,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":74,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":89,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":97,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":107,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":120,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":124,"column":13}]},"\/src\/repo\/data-access\/tests\/phpunit\/SingleEntitySourceServicesFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Rdbms\/RepoDomainDbFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/ItemStubRdfBuilderIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Store\/Sql\/DirectSqlStoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/DefaultMetaTagsCreatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/RecentChanges\/ChangeLineFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":327,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/ItemSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/CreateClaimTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/EntityChangeFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Term\/TermFallback.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/GenericChangeOpResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/Sql\/EntityUsageTableBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Diff\/EntitySlotDiffRendererTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Content\/ItemContent.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":113,"column":15}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Term\/DescriptionsProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/LatestRevisionIdResult.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":102,"column":13}]},"\/src\/repo\/lib\/includes\/Formatters\/CommonsLinkFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/FingerprintUniquenessValidator.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":59,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":189,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":199,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/TermValidatorFactoryPropertyDescriptionValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Diff\/EntityContentDiffViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/RdfBuilderFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Serialization\/SerializationModifier.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/UsageAccumulatorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/RemovePropertyDescriptionRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/PrefetchingEntityTermLookupBase.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":110,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":123,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":136,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":143,"column":15}]},"\/src\/repo\/lib\/tests\/phpunit\/DataValueFactoryTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":24,"column":35}]},"\/src\/repo\/repo\/includes\/Specials\/SpecialListProperties.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":149,"column":34}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Domain\/Services\/StatementReadModelConverterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/ItemDiffVisualizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/RemoveReferencesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/SitelinksReadModelConverter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Notifications\/ChangeNotifierTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/RestrictedEntityLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityRevision.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/MediaWikiEditEntityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Term\/AliasGroupFallback.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/VocabularyUriFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Store\/Sql\/PagePropsEntityIdLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/TermInLangIdsResolverFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Domain\/Model\/LatestPropertyRevisionMetadataResultTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Content\/ContentHandlerEntityIdLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/SnakHtmlGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/UrlValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialListPropertiesDispatchingFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/integration\/StatementSerializationRoundtripTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/MonolingualTextFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Notifications\/ChangeHolderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Content\/EntityHolder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/EntityLinkTargetEntityIdLookupTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":84,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":94,"column":13}]},"\/src\/repo\/repo\/includes\/Store\/Sql\/SqlEntityIdPager.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":173,"column":13}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/ItemSerializationRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/RemoveItemStatement\/RemoveItemStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/ItemDeserializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":80,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/CreateClaimTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/ApiPrefetchingTermLookup.php":{"errors":2,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$entityId\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":200,"column":5},{"message":"Doc comment for parameter \"$languageCode\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":200,"column":5}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/StoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchItemDescriptions\/PatchItemDescriptionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Serialization\/CallbackFactory.php":{"errors":2,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":26,"column":16},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":43,"column":16},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":51,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":76,"column":12}]},"\/src\/repo\/client\/includes\/Hooks\/ChangesListSpecialPageHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/SiteLinkTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Usage\/UsageTrackingLanguageFallbackLabelDescriptionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/EntityRetrievingDataTypeLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Notifications\/HookChangeTransmitterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/NotMulValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/updateUnits.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":134,"column":13}]},"\/src\/repo\/lib\/includes\/Interactors\/TermSearchInteractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/EntityViewTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Units\/UnitStorageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/FormatSnakValueTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/LanguageFallbackChainFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Term\/AliasGroup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/ApiEntityTitleTextLookup.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":39,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/StatementRankSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Interactors\/MatchingTermsSearchInteractorFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/ItemIdRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/TermValidatorFactoryItemDescriptionValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/Sql\/SqlSubscriptionManager.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":40,"column":27}]},"\/src\/repo\/client\/includes\/Hooks\/LoadExtensionSchemaUpdatesHookHandler.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":50,"column":17}]},"\/src\/repo\/data-access\/tests\/phpunit\/SingleEntitySourceServicesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/LinkedData\/EntityDataRequestHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetPropertyDescriptionsRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/BaseUriExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/ApiRequestException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/DataAccessSettingsFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/NTriplesRdfTestHelper.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":75,"column":17}]},"\/src\/repo\/repo\/includes\/Validators\/NotEntityIdValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/PrefetchingTermLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Domain\/Model\/LatestStatementSubjectRevisionMetadataResultTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/integration\/EntitySerializationRoundtripTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Sql\/DispatchStats.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":46,"column":13}]},"\/src\/repo\/repo\/maintenance\/rebuildPropertyInfo.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Diff\/DifferencesSnakVisualizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/CompactBaseDataModelSerializerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/ItemViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/DefaultFederatedPropertiesEntitySourceAdder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/EditEntity.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":183,"column":32},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":186,"column":78}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/ExceptionIgnoringEntityLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/CompositeEntityValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/BabelUserLanguageLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Interactors\/TermSearchOptions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/CachingPropertyInfoTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":47,"column":38}]},"\/src\/repo\/repo\/includes\/ValidatorBuilders.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/PropertyLookupExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/DeserializerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/TermValidatorFactoryPropertyLabelValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/integration\/SiteLinkSerializationRoundtripTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/DispatchingValueSnakRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/BaseDataModelDeserializerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/FedPropertiesTypeDispatchingEntitySearchHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/NoopBNodeLabeler.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":16,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/IdGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/Module\/TemplateModuleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/PropertyTermStoreWriterAdapterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/FederatedPropertiesUiEntityParserOutputGeneratorDecorator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/ByTypeDispatchingEntityPrefetcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/RecentChanges\/SiteLinkCommentCreator.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"...$params\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":317,"column":5}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/EntityIdDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/LabelDescriptionLookupExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Units\/UnitConverterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/NullEntitySearchHelper.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":12}]},"\/src\/repo\/repo\/includes\/Api\/ModifyTerm.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/SiteLinksChangeOpDeserializerTest.php":{"errors":0,"warnings":6,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":70,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":94,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":105,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":116,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":143,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":356,"column":13}]},"\/src\/repo\/repo\/includes\/Store\/Sql\/ItemsPerSiteBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/EntityChangeLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/SitelinkEditRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Domain\/Model\/LatestItemRevisionMetadataResultTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Usage\/UsageTrackingSnakFormatterTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":97,"column":35}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/ItemLookupExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/TermsDomainDbFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/TimeDetailsFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetItemAliasesInLanguageRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/AddPropertyAliasesInLanguage\/AddPropertyAliasesInLanguageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/RecentChanges\/ExternalChange.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/CachingCommonsMediaFileNameLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Diff\/BasicEntityDiffVisualizerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":96,"column":35}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/StatementListDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Sql\/SqlEntityIdPagerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/RedirectResolvingLatestRevisionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Term\/Fingerprint.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Term\/AliasesProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Usage\/NullUsageTrackerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/TitleLookupBasedEntityUrlLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/NonExistingEntityIdHtmlFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Term\/LabelsProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/EntityRevisionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Store\/Sql\/UnexpectedUnconnectedPagePrimerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":48,"column":28}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/InProcessCachingDataTypeLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/DataTypeSelectorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/StoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/integration\/SnakSerializationRoundtripTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Term\/TermTypes.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Term\/FingerprintProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ValueParserFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/AliasGroupSerializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":30,"column":13}]},"\/src\/repo\/lib\/tests\/phpunit\/PropertyInfoDataTypeLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/InfoActionHookHandler.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":61,"column":12}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/PropertyDataTypeLookupExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/SearchEntitiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/SnakValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/StatementHtmlGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/StatementGroupRendererFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Diff\/BasicDiffViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Sql\/SqlItemsWithoutSitelinksFinder.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":66,"column":13}]},"\/src\/repo\/view\/tests\/phpunit\/EntityMetaTagsCreatorTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/SourceAndTypeDispatchingArticleIdLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Notifications\/WikiPageActionEntityChangeFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Entity\/ItemTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/DatabaseTermInLangIdsAcquirerTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":265,"column":17},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":274,"column":17}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/SiteLinkSerializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":49,"column":13}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/EditMetadataRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/integration\/SnakListSerializationRoundtripTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Usage\/PageEntityUsagesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/EntityModificationTestHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/ReferenceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/EntityRedirectLookupExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/TypeValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchItemDescriptions\/PatchedItemDescriptionsValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/ItemPropertyIdHtmlLinkFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Usage\/HashUsageAccumulatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/ClaimsChangeOpDeserializationTester.php":{"errors":9,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$changeRequest\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":26,"column":5},{"message":"Doc comment for parameter \"$entity\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":26,"column":5},{"message":"Doc comment for parameter \"$property\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":26,"column":5},{"message":"Doc comment for parameter \"$changeRequest\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":50,"column":5},{"message":"Doc comment for parameter \"$entity\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":50,"column":5},{"message":"Doc comment for parameter \"$property\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":50,"column":5},{"message":"Doc comment for parameter \"$changeRequest\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":85,"column":5},{"message":"Doc comment for parameter \"$entity\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":85,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":123,"column":20}]},"\/src\/repo\/repo\/includes\/Validators\/NotEqualViolation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/EntityDifferStrategy.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetItemLabelRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/PropertyInfoBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/populateWithRandomEntitiesAndTerms.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":293,"column":13}]},"\/src\/repo\/repo\/includes\/FederatedProperties\/ApiEntitySearchHelper.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":197,"column":13}]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/CleanTermsIfUnusedJobTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Interactors\/MatchingTermsLookupSearchInteractor.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":271,"column":13}]},"\/src\/repo\/repo\/includes\/Validators\/EntityValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/LangLinkHandlerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/FormatSnakValueTest.php":{"errors":0,"warnings":16,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":58,"column":15},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":68,"column":15},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":78,"column":15},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":88,"column":15},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":98,"column":15},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":108,"column":15},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":118,"column":15},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":128,"column":15},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":138,"column":15},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":148,"column":15},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":159,"column":15},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":173,"column":15},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":188,"column":15},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":198,"column":62},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":211,"column":15},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":378,"column":59}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/SnakListSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Interactors\/TermSearchInteractorFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Interactors\/ConfigurableTermSearchInteractor.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Diff\/DispatchingEntityDiffVisualizerTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":37,"column":23},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":40,"column":27}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/EntityReferenceExtractors\/StatementEntityReferenceExtractorTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":109,"column":35}]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/MockPropertyInfoLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/SiteGroupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/LegacyAdapterItemLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/OutputPageJsConfigBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/SourceAndTypeDispatchingPrefetchingTermLookupTest.php":{"errors":0,"warnings":10,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":49,"column":27},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":51,"column":31},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":74,"column":27},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":76,"column":31},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":98,"column":27},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":100,"column":31},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":121,"column":27},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":139,"column":27},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":158,"column":27},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":176,"column":27}]},"\/src\/repo\/repo\/includes\/MediaWikiLanguageDirectionalityLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Content\/EntityContent.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/UtilsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Parsers\/TimeParsingIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ValidatorBuildersTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":81,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":93,"column":35}]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/ItemPropertyIdHtmlLinkFormatterTest.php":{"errors":0,"warnings":7,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":75,"column":17},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":478,"column":17},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":550,"column":58},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":553,"column":61},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":559,"column":66},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":626,"column":58},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":632,"column":66}]},"\/src\/repo\/repo\/includes\/LinkedData\/EntityDataSerializationService.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/FormatEntitiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/integration\/EntityDeserializationCompatibilityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Usage\/RedirectTrackingUsageAccumulatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Normalization\/CommonsMediaValueNormalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/ReferenceFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/RecentChanges\/ExternalChangeFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/DescriptionsChangeOpDeserializationTester.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":62,"column":13}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/MappedRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Entity\/EntityRedirectTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/HttpResponseMockerTrait.php":{"errors":2,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$response\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":15,"column":5},{"message":"Doc comment for parameter \"$statusCode\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":15,"column":5}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Term\/AliasGroupList.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/RangeTraversable.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/ReferenceSerializer.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":60,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":68,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/ChangeOpDeserializationAssert.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/AutoCommentFormatter.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":101,"column":28}]},"\/src\/repo\/repo\/maintenance\/removeTermsInLanguage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/ApiEntityLookup.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":101,"column":27}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/EntityReferenceExtractors\/SiteLinkBadgeItemReferenceExtractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/RemoveClaims.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":123,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":126,"column":13}]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/RevisionBasedEntityRedirectTargetLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/PropertyServices.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":61,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":65,"column":47}]},"\/src\/repo\/lib\/includes\/Interactors\/TermSearchResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/integration\/ReferenceSerializationRoundtripTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialSetSiteLink.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":375,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":439,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/PropertyDiffer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":64,"column":12}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/EntityNamespaceLookupTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":24,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/BagOStuffSiteLinkConflictLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/TermSerializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":28,"column":13}]},"\/src\/repo\/lib\/includes\/Formatters\/InterWikiLinkHtmlFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Entity\/ItemIdParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Usage\/ParserOutputUsageAccumulatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetPropertyLabelRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/EntityTypesTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":29,"column":13}]},"\/src\/repo\/client\/includes\/RecentChanges\/RecentChangesFinder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/SetReferenceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/CachedDatabasePropertyLabelResolverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/Sql\/EntityUsageTable.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":220,"column":27}]},"\/src\/repo\/repo\/includes\/SiteLinkTargetProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Content\/DeferredDecodingEntityHolder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/SidebarLinkBadgeDisplayTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/View\/WikibaseHtmlSnakFormatterFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/SiteLinkListSerializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/integration\/StatementListSerializationRoundtripTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetOpenApiDocRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/SidebarHookHandlerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":99,"column":93}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/RedirectResolvingEntityLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Diff\/ItemDiffVisualizerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":90,"column":35}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/ItemPatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/View\/RepoSpecialPageLinker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/TermChangeOpSerializationValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/ValidatingRequestDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Entity\/DispatchingEntityIdParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Content\/EntityInstanceHolder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/AliasGroupListSerializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":36,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/EntityReferenceExtractors\/EntityReferenceExtractorDelegatorTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":44,"column":23},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":85,"column":17}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/SetClaimValueTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/SetItemDescription\/SetItemDescriptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/OtherProjectsSidebarGeneratorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/SiteLinkList.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/Sql\/SqlUsageTrackerSchemaUpdater.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":59,"column":17}]},"\/src\/repo\/repo\/includes\/FederatedProperties\/ApiServiceFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":73,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/integration\/ReferencesSerializationRoundtripTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchSitelinks\/PatchSitelinksTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/TermLookupExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Content\/EntityContentDiff.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/NamespaceCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/pruneItemsPerSite.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/ClaimsChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/GlobeCoordinateDetailsFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/EchoNotificationsHandlers.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/TermInLangIdsResolverFactoryTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":95,"column":37}]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/LoginFormValidErrorMessagesHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Parsers\/TimeFormatterParserRoundtripTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Merge\/StatementsMergerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":154,"column":13}]},"\/src\/repo\/repo\/includes\/PropertyDataTypeChanger.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/ByTypeDispatchingEntityIdLookupTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":68,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":80,"column":35}]},"\/src\/repo\/client\/includes\/CachingOtherProjectsSitesProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/ItemDiffer.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":64,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":75,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":86,"column":13}]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/LatestRevisionIdResultTest.php":{"errors":0,"warnings":6,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":26,"column":17},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":36,"column":17},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":46,"column":17},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":63,"column":36},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":81,"column":27},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":97,"column":35}]},"\/src\/repo\/repo\/includes\/Api\/CreateRedirect.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/ItemDescriptionEditRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedItemIdRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/ChangeOpDeserializationExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/EntitySourceDefinitionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeModification\/DispatchChangeDeletionNotificationJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/NullEntityMentionListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/MaxReferencedEntityVisitsExhaustedExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/SitelinkEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialEntityPageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/GenericActionApiClient.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":64,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/EntityReferenceExtractors\/EntityReferenceExtractorCollectionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/NullDedupeBag.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/SimpleEntityTermsViewTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":50,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":56,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":64,"column":35}]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/DeletePageNoticeCreatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/StatementListDiffer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":43,"column":13}]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/OutputFormatSnakFormatterFactoryTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":65,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":89,"column":17},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":107,"column":17}]},"\/src\/repo\/client\/includes\/Hooks\/SkinAfterPortletHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Entity\/NumericPropertyIdTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/WrappingEntityIdFormatterFactory.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":27,"column":12}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/StatementSerializer.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":83,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":118,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":127,"column":13}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetPropertyDescription\/GetPropertyDescriptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialPageCopyrightViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/ReferencedEntityIdLookupExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Diff\/ClaimDifferenceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/NamespaceChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/src\/EntityDiffChangedAspects.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/ApiEntityExistenceChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/PropertyValueSnakFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/EntityIdValue.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetItemRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/CommonsLinkFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/SetClaimTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PropertyLabelEditRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedItemLabelEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PropertyIdRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeModification\/DispatchChangeModificationNotificationJob.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":86,"column":17}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/StatementListProvidingEntity.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/DeferredCopyEntityHolderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/EntityDiffer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedPropertyIdRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedPropertyFieldsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialSetLabelTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Sql\/SqlStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedItemRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/SourceAndTypeDispatchingUrlLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/NoLangLinkHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Merge\/Validator\/NoCrossReferencingStatementsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/ByTypeDispatchingEntityRevisionLookupTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":132,"column":23}]},"\/src\/repo\/repo\/includes\/Specials\/SpecialMergeItems.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":248,"column":34}]},"\/src\/repo\/repo\/includes\/FederatedProperties\/ApiPropertyDataTypeLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedItemAliasesInLanguageEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/SetItemDescriptionRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/ItemDiff.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/ApiRequestExecutionException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/ParserHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/WikitextExternalIdentifierFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":31,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/GetEntitiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/ResponseFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/FingerprintChangeOpDeserializerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":34,"column":39}]},"\/src\/repo\/client\/includes\/Hooks\/LoginFormValidErrorMessagesHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/EntityInstanceHolderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/EntityPatcherStrategy.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/StatementSerializationRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/FederatedPropertiesApiTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/NumericPropertyId.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":25,"column":13}]},"\/src\/repo\/lib\/tests\/phpunit\/LanguageFallbackChainFactoryTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":41,"column":51},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":48,"column":49}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/ValidatingRequestDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/RecentChanges\/RecentChangeFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"...$params\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":381,"column":5}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/EntityIdParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/EntityIdParsingException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeModification\/DispatchChangesJob.php":{"errors":2,"warnings":3,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":113,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":185,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":198,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":210,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":278,"column":37}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Entity\/EntityIdValueTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/PlaintextTimeFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":51,"column":12}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/PropertyPatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/ApiEntityUrlLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/ParserOutputUpdateHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/DeserializedRequestAdapterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialDispatchStatsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Merge\/MergeFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/BasicEntityIdParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/LabelsChangeOpDeserializationTester.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":60,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Diff\/ClaimDifferTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/EntityLoadingHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/ApiEntityUrlLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchItemAliases\/PatchedItemAliasesValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/FakePrefetchingTermLookup.php":{"errors":9,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":44,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":48,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":67,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":81,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":86,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":90,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":99,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":103,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":112,"column":12}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/EntityPatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/ItemLabelEditRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/RecentChanges\/RevisionData.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Parsers\/MwDateFormatParserFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/EntityRetrievingTermLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/PropertyIdValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/FederatedPropertiesPrefetchingEntityParserOutputGeneratorDecorator.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":59,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":65,"column":13}]},"\/src\/repo\/lib\/includes\/Formatters\/HtmlExternalIdentifierFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetPropertyRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/DeletePageNoticeCreator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeModification\/DispatchChangeVisibilityNotificationJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Diff\/DiffOpValueFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/BuilderBasedDataTypeValidatorFactoryTest.php":{"errors":0,"warnings":4,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":33,"column":72},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":41,"column":72},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":48,"column":72},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":58,"column":21}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Parsers\/MediaWikiMonthNameProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialAvailableBadgesTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":36,"column":35}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/FieldsFilterValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/EscapingSnakFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/TermListPatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/JsonDiffJsonPatchValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/DatabasePropertyTermStoreWriterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchSitelinks\/PatchedSitelinksValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/LegacyAdapterPropertyLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/EntityIdLinkFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/TermsListViewTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":43,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":51,"column":35}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Hooks\/HtmlPageLinkRendererEndHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ArrayValueCollectorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/maintenance\/populateSitesTable.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialListDatatypesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/MediaWikiNumberLocalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/EntityTypeAwareDiffOpFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/PropertyChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/Termbox\/TermboxModuleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/SearchEntitiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/InMemoryDataTypeLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/SnakFactory.php":{"errors":5,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$propertyId\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":44,"column":5},{"message":"Doc comment for parameter \"$snakType\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":44,"column":5},{"message":"Doc comment for parameter \"$rawValue\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":44,"column":5},{"message":"Doc comment for parameter \"$dataType\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":70,"column":5},{"message":"Doc comment for parameter \"$rawValue\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":70,"column":5}]},"\/src\/repo\/client\/includes\/Hooks\/ParserFunctionRegistrant.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":83,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":91,"column":13}]},"\/src\/repo\/lib\/tests\/phpunit\/TermIndexEntryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Diff\/EntityDiffVisualizerFactoryTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":47,"column":23},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":57,"column":23},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":79,"column":24}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/WikiPageEntityRevisionLookupTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":505,"column":13}]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/DatabaseUsageCheckingTermStoreCleanerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/LabelsProviderEntityIdHtmlLinkFormatterTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":225,"column":17}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ValueParserFactoryTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":38,"column":17},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":52,"column":54},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":75,"column":30}]},"\/src\/repo\/lib\/resources\/Resources.php":{"errors":0,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":20,"column":24},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":29,"column":26},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":44,"column":26}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/PropertyAliasesInLanguageEditRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/Property.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/NewStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/ChangeOpDeserializerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/GenericEventDispatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/TermFallbackCache\/TermFallbackServiceFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/UnDeserializableValueFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/OutputPageBeforeHTMLHookHandler.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":71,"column":12}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/TermValidatorFactoryItemDescriptionValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/EntityDiff.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Usage\/ImplicitDescriptionUsageLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/EntityDocument.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/RdfVocabulary.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":225,"column":21},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":234,"column":21}]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/DatabaseTermStoreWriterTestGetTermsTrait.php":{"errors":1,"warnings":3,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":27,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":69,"column":17},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":75,"column":17},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":81,"column":17}]},"\/src\/repo\/lib\/WikibaseLib.entitytypes.php":{"errors":0,"warnings":12,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":30,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":33,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":37,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":40,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":43,"column":48},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":46,"column":49},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":51,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":54,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":58,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":61,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":64,"column":48},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":67,"column":49}]},"\/src\/repo\/client\/includes\/Hooks\/TrivialHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/FormatEntitiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/StringLengthValidatorTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":58,"column":28}]},"\/src\/repo\/repo\/includes\/Api\/SetQualifier.php":{"errors":0,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":128,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":134,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":137,"column":13}]},"\/src\/repo\/repo\/includes\/ClaimSummaryBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/PatchItemRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Usage\/EntityUsageFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/EntityRedirect.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialListPropertiesTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":59,"column":35}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/StatementListPatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpsResultTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Diff\/SiteLinkDiffViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/TermboxFlag.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchItemAliases\/PatchItemAliasesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/TypeDispatchingEntitySearchHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/SetSitelink\/SetSitelinkTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpApplyExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialMyLanguageFallbackChainTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/MakeGlobalVariablesScriptHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/IntegrationApiTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/NumberValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/SidebarLinkBadgeDisplay.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/LegacyDeserializerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/ItemTermsRebuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/Internal\/SiteLinkListPatcher.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":74,"column":13}]},"\/src\/repo\/repo\/includes\/Rdf\/DateTimeValueCleaner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/DispatchingValueFormatterTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":64,"column":30},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":123,"column":30}]},"\/src\/repo\/repo\/includes\/Rdf\/EntityMentionListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/TermFallbackCache\/TermFallbackCacheFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialSetAliasesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/mocks\/MockClientStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/ItemDescriptionEditRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/RecentChanges\/RecentChangeFactoryTest.php":{"errors":3,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$entitySourceDefinitions\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":39,"column":5},{"message":"Doc comment for parameter \"$clientDomainDb\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":39,"column":5},{"message":"Doc comment for parameter \"$centralIdLookup\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":39,"column":5}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/Internal\/FingerprintPatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/ParserOutputUpdateHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/ConvertArrayObjectToArrayTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/DataFieldValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/OtherProjectsSidebarGeneratorFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialItemsWithoutSitelinksTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Parsers\/MwTimeIsoParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/EntityContentTestCase.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":178,"column":17}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/ApiEntitySearchHelperTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":226,"column":60}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/RecentChanges\/ExternalChangeTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpFingerprintTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialSetLabelDescriptionAliases.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":554,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/Deserializers\/LegacySnakDeserializer.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":54,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":72,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":102,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/ApiHelperFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Content\/EntityHandler.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":174,"column":15},{"message":"Doc comment for parameter \"$entityId\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":180,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":874,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Actions\/HistoryEntityActionTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":88,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":145,"column":35}]},"\/src\/repo\/repo\/includes\/ParserOutput\/FullEntityParserOutputGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/PrefetchingWikiPageEntityMetaDataAccessorTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":147,"column":35}]},"\/src\/repo\/view\/tests\/phpunit\/Termbox\/Renderer\/TermboxRemoteRendererTest.php":{"errors":1,"warnings":1,"messages":[{"message":"Doc comment for parameter \"$languages\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":342,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":350,"column":58}]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/WikitextExternalIdentifierFormatterTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":27,"column":40},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":30,"column":39}]},"\/src\/repo\/repo\/includes\/Hooks\/InfoActionHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/AddPropertyStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetItemStatements\/GetItemStatementsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/TermFallbackCache\/TermFallbackCacheFacadeTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/EntityParserOutputDataUpdaterCollection.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/SiteLinkUniquenessValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/EntityRetrievingClosestReferencedEntityIdLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/EditSummaryFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/MovePageNotice.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/Helpers\/OutputPageEntityViewChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Content\/DeferredCopyEntityHolder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/PatchRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/SnakRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/UseCaseErrorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/Item.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/PropertyParserOutputUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/Internal\/AliasGroupListPatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/InMemoryTermStoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/Deserializers\/LegacyStatementDeserializer.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":57,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":63,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":82,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/GenericActionApiClientTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/WikiPageItemOrderProviderTestHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/RdfProducer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/EntityId\/EntityIdFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/Helpers\/UserPreferredContentLanguagesLookup.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":29,"column":12}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/ItemIdParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/mocks\/Usage\/UsageAccumulatorContractTester.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":167,"column":24}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/StatementIdRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/Helpers\/OutputPageRevisionIdReader.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/FallbackHintHtmlTermRenderer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/LabelUniquenessValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/TestValidatingRequestDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/EntityTerms.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":172,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/EntityId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/Int32EntityId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/EntityId\/InMemoryEntityIdPager.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":53,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":57,"column":12}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/InMemoryEntityLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/WikiPageEntityDataLoaderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/HashDedupeBag.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/WikibaseRepo.entitytypes.php":{"errors":0,"warnings":37,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":84,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":89,"column":53},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":92,"column":39},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":110,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":116,"column":50},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":119,"column":41},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":122,"column":48},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":127,"column":46},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":177,"column":51},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":195,"column":49},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":215,"column":40},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":244,"column":41},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":252,"column":56},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":264,"column":53},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":270,"column":50},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":276,"column":37},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":279,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":286,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":289,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":296,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":301,"column":53},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":304,"column":39},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":322,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":328,"column":50},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":331,"column":41},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":334,"column":48},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":339,"column":46},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":394,"column":51},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":417,"column":40},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":450,"column":41},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":458,"column":56},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":470,"column":53},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":473,"column":50},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":509,"column":37},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":512,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":519,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":522,"column":44}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/DeferredDecodingEntityHolderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/CompositeStatementDataUpdater.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":16,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/FederatedPropertiesEntityIdFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Content\/PropertyContent.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":49,"column":15}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/TermsEditSummaryToFormattableSummaryConverterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/HtmlTimeFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/StatementDataUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/EntityId\/EntityIdPager.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/DedupeBag.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/PropertyIdFilterValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/DatabaseTypeIdsStoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/CreateItem\/CreateItemTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/UnknownForeignRepositoryExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/TypeValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/RecentChanges\/SiteLinkCommentCreatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/EntityId\/EntityIdLabelFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/EntityLookupExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/TermIndexSearchCriteriaTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Specials\/SpecialListFederatedPropertiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/selenium\/LocalSettings.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/WikibaseRepo.FederatedProperties.OverrideEntityServices.php":{"errors":0,"warnings":7,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":24,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":27,"column":37},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":30,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":33,"column":40},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":36,"column":50},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":39,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":46,"column":44}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialItemDisambiguationTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":49,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":84,"column":21}]},"\/src\/repo\/repo\/includes\/ParserOutput\/StatsdTimeRecordingEntityParserOutputGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/ConceptUriSearchHelper.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":35,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/AddItemStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/EntityId\/EscapingEntityIdFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/TypeDispatchingEntityTitleStoreLookupTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":27,"column":31}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/EntityId\/SeekableEntityIdPager.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/UpdateRepoHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/WikibaseSettingsTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":96,"column":31},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":104,"column":31}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/TestValidatingRequestDeserializerServiceContainer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/PropertyDataTypeSearchHelper.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":33,"column":12}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/EntityId\/PlainEntityIdFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpAliasesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Content\/ContentHandlerEntityTitleLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/UrlValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/RecentChanges\/RevisionDataTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/GlobeCoordinateKartographerDataUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/ClientDefaultsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/DisabledEntityTypesEntityLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/MockMatchingTermsLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Actions\/ViewEntityActionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/DataTypeTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ClientNoBadUsageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/WikibaseClient.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/EntityId\/EntityIdComposer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Parsers\/DateFormatParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/LanguageCodeRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/ParseValueTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/MagicWordHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/CompositeEntityValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/PropertyLabelNotResolvedException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/MaxReferenceDepthExhaustedExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/EntityId\/SuffixEntityIdParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchPropertyLabels\/PatchPropertyLabelsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/FakeCache.php":{"errors":7,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":20,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":36,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":40,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":49,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":55,"column":12}]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/PrefetchingPropertyTermLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/SiteIdRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/PropertyHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/EntityLookupException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/StatementChangeOpFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetPropertyDescriptionWithFallbackRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Entity\/PropertyDataTypeMatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Parsers\/MonolingualTextParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/PlaceholderEmittingEntityTermsView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/ExtensionLoadHandler.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":83,"column":26}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/PropertyTermsRebuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Parsers\/WikibaseStringValueNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/EntityConstraintProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataBridge\/DataBridgeConfigValueProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/EntityRetrievingDataTypeLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Statement\/Filter\/PropertySetStatementFilterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/maintenance\/PopulateUnexpectedUnconnectedPagePagePropTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/DispatchingEntityMetaTagsCreatorFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":31,"column":12}]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/LangLinkHandlerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":138,"column":48}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/ExceptionIgnoringEntityLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialNewItem.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Statement\/Filter\/NullStatementFilterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/ReferenceListTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/LanguageLinkBadgeDisplay.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/CacheRetrievingEntityRevisionLookupTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":159,"column":35}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpRemoveStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/resources\/Resources.php":{"errors":0,"warnings":10,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":20,"column":24},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":96,"column":34},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":105,"column":41},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":116,"column":41},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":128,"column":41},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":153,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":171,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":216,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":329,"column":30},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":350,"column":39}]},"\/src\/repo\/repo\/ExampleSettings.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/WikibaseClientHookRunner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/ReferencedEntitiesDataUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/ChangeModification\/ChangeModificationNotificationJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/ListSubscribers.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":96,"column":33}]},"\/src\/repo\/client\/includes\/Hooks\/WikibaseHandleChangeHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetPropertyStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Statement\/Filter\/DataTypeStatementFilterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchItemLabels\/PatchItemLabelsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/MoreLikeWikibaseTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Parsers\/EntityIdValueParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/TermLanguageFallbackChainTest.php":{"errors":0,"warnings":4,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":34,"column":40},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":39,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":44,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":56,"column":43}]},"\/src\/repo\/client\/includes\/ChangeModification\/ChangeDeletionNotificationJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpQualifierRemoveTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/PrefetchingItemTermLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/TitleLookupBasedEntityExistenceCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/UrlSchemeValidatorsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/SiteLinksForDisplayLookup.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":107,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/EntityRetrievingTermLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialNewPropertyTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":373,"column":13}]},"\/src\/repo\/client\/includes\/ChangeModification\/ChangeVisibilityNotificationJob.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":44,"column":19}]},"\/src\/repo\/repo\/includes\/Api\/EntityIdSearchHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/MaxReferenceDepthExhaustedException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/AlternativeValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/PageImagesDataUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/StatementModificationHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialSetDescriptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/EntityRevisionLookupItemDataRetrieverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/EchoSetupHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Parsers\/MediaWikiNumberUnlocalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/Wikibase.i18n.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchPropertyLabels\/PatchedPropertyLabelsValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialItemDisambiguation.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":224,"column":34}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/RestrictedEntityLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/config\/Wikibase.ci.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/RedirectResolvingLatestRevisionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Actions\/ActionTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/SetSiteLink.php":{"errors":1,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":212,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":239,"column":27}]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/RemoveSitelinkRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/WikibaseValueFormatterBuildersTest.php":{"errors":0,"warnings":5,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":81,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":91,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":107,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":113,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":183,"column":17}]},"\/src\/repo\/repo\/includes\/Api\/FederatedPropertyApiValidatorTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/MaxReferencedEntityVisitsExhaustedException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/EntityUriValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/EntityTermsViewFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":45,"column":13}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/PrefetchingTermLookupAliasesRetrieverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/SidebarHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/TermLookupException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialListDatatypes.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":71,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":75,"column":15}]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/TitleLookupBasedEntityRedirectCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/ItemParserOutputUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetItemAliases\/GetItemAliasesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Parsers\/MwEraParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/ParserOutput\/ClientParserOutputDataUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Changes\/InjectRCRecordsJobTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":59,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":391,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":405,"column":13}]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/DatabaseMatchingTermsLookupTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":215,"column":23},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":218,"column":27}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Validation\/ItemValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialModifyTermTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/InterWikiLinkExistsValidatorTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":31,"column":35}]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/TermCacheKeyBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/EntitySavingHelperTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":84,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":88,"column":35}]},"\/src\/repo\/client\/includes\/ParserOutput\/ParserWrappingParserOutputProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/DescriptionProviderHookHandler.php":{"errors":1,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":36,"column":12},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":48,"column":36}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchItemLabels\/PatchedItemLabelsValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/ParserOutput\/ScopedParserOutputProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpTestMockProvider.php":{"errors":0,"warnings":4,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":165,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":195,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":211,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":251,"column":35}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/NumberRangeValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/ParserOutput\/ParserOutputProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/DataUpdateHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/RecentChanges\/ExternalChangeFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataBridge\/DataBridgeConfigValueProvider.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":19,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12}]},"\/src\/repo\/repo\/includes\/Specials\/SpecialWikibaseQueryPage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/PlaceholderExpander\/EntityViewPlaceholderExpander.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/PlaceholderExpander\/PlaceholderExpander.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetLatestStatementSubjectRevisionMetadataTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/StatementSubjectRetrieverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/DataValueValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/SetPropertyLabelRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/OtherProjectsSitesGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangedLanguagesCollectorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/EntityRetrievingClosestReferencedEntityIdLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/TestValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/LoadExtensionSchemaUpdatesHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/RemoveReferences.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":119,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":122,"column":13}]},"\/src\/repo\/client\/includes\/Hooks\/ChangesListLinesHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/LabelDescriptionLookupException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/config\/Wikibase.default.php":{"errors":0,"warnings":4,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":102,"column":31},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":119,"column":24},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":125,"column":25},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":345,"column":24}]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/TimeDetailsFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/PropertyDataTypeLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/UniquenessViolationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/SqlChangeStoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/Middleware\/RequestPreconditionCheck.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataBridge\/DataBridgeResourceLoaderModules.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":80,"column":45}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/EntityByTitleHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Validation\/LabelsAndDescriptionsContentsValidatorTest.php":{"errors":0,"warnings":4,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":125,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":138,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":151,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":164,"column":13}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/InMemoryStatementRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/PlaceholderExpander\/ExternallyRenderedEntityViewPlaceholderExpander.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":70,"column":12}]},"\/src\/repo\/repo\/config\/Wikibase.searchindex.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":27,"column":44}]},"\/src\/repo\/client\/includes\/MoreLikeWikibase.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":16,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":20,"column":15}]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/Middleware\/MiddlewareHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/SidebarLinkBadgeDisplayTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetPropertyStatements\/GetPropertyStatementsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/TimestampPrecisionValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/Middleware\/UserAgentCheckMiddleware.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/SkinAfterBottomScriptsHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/MessageSnakFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/CachingEntityRevisionLookupTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":260,"column":35}]},"\/src\/repo\/repo\/includes\/Specials\/SpecialWikibaseRepoPage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/RecentChanges\/RecentChangesFinderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/Middleware\/RequestPreconditionCheckResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/HTMLForm\/HTMLTrimmedTextField.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":26,"column":12}]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/EchoSetupHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/EscapingSnakFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/CachingPrefetchingTermLookupTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":646,"column":35}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Validation\/DescriptionsSyntaxValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/EntityChangeLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/ValidatorErrorLocalizerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":30,"column":17}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/ItemPartsSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialRedirectEntityTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":95,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":177,"column":35}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/ReplacePropertyStatement\/ReplacePropertyStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/ParserFunctions\/LanguageAwareRendererTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":215,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":243,"column":17}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/EntityUpdaterPropertyUpdaterTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":60,"column":35}]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/MagicWordHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/Middleware\/StatementRedirectMiddleware.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/EntityHandlerTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/EntityNamespaceLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/SitelinksSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/WikibaseRepo.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpMainSnakTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/HTMLForm\/HTMLAliasesField.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/AutoCommentFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/CompositeSiteLinkConflictLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/Middleware\/PreconditionMiddleware.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/EntityExistsValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/LanguageBoundChangeOpResultStub.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/FallbackPropertyOrderProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/LabelsSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/DataUpdateAdapterTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":26,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":41,"column":42}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Parsers\/TimeParserFactoryTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":33,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":42,"column":35}]},"\/src\/repo\/repo\/includes\/Specials\/HTMLForm\/HTMLItemReferenceField.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Validation\/LabelsSyntaxValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialNewEntityTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/Middleware\/TempUserCreationResponseHeaderMiddleware.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/Middleware\/Middleware.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/RateLimitingIdGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/MembershipValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/SetClaim.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":148,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":151,"column":13}]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/EntityIdLocalPartPageTableEntityQueryUnitTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/HTMLForm\/HTMLContentLanguageField.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":72,"column":12}]},"\/src\/repo\/client\/includes\/Changes\/AffectedPagesFinder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/Middleware\/PreconditionMiddlewareFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/ContentHandlerEntityIdLookupTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":59,"column":27},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":62,"column":31}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/EntityUpdaterStatementUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/TypeDispatchingEntityRevisionLookupTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":29,"column":31}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/EntityIdHtmlLinkFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/CommonsMediaExistsValidatorTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":29,"column":35}]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/ErrorHandlingSnakFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/Middleware\/UnexpectedErrorHandlerMiddleware.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/AddItemAliasesInLanguage\/AddItemAliasesInLanguageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/EchoNotificationsHandlersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/Middleware\/AuthenticationMiddleware.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/GlobeCoordinateInlineWikitextKartographerFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpFingerprintResultTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/AliasesDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/Middleware\/StatementRedirectMiddlewareFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/ParameterizedDescriptionTraitTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/SiteLinkTableTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/NonLanguageBoundChangesCounterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/MovePageNoticeTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/Middleware\/BotRightCheckMiddleware.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/EntityIdTitleFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/ItemTermStoreWriterAdapterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetPropertyLabels\/GetPropertyLabelsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/HtmlUrlFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Changes\/ChangeHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/WikiPageEntityRedirectLookupTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":134,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":145,"column":35}]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/ParserHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/PropertyContentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/FingerprintUniquenessValidatorTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":68,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":86,"column":41}]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/WikiTextPropertyOrderProviderTestHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Validation\/StatementsValidatorTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":69,"column":86}]},"\/src\/repo\/client\/includes\/Changes\/PageUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/PropertyValuePairSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/ParserFunctions\/StatementGroupRendererFactoryTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":263,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":298,"column":35}]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/DescriptionProviderHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/LinkTitles.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":120,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":123,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/NotEntityIdValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/DescriptionsSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Actions\/EditEntityActionTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":47,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/PatchPropertyRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/RegexValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/PropertyInfoTableTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":200,"column":38}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/ParserFunctions\/VariantsAwareRendererTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":95,"column":17}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Validation\/EditMetadataValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/LocalizedTextProviderFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Validation\/PropertyIdValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/StatementListSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/RecentChanges\/ChangeLineFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchItemStatement\/PatchItemStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/SetSiteLinkTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/ShowCalendarModelDeciderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpDescriptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/SourceAndTypeDispatchingExistenceCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/EntityRevisionLookupPropertyDataRetrieverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/CommonsThumbnailFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetPropertyLabelWithFallbackRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/EditPageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/SetClaimValue.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":115,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":118,"column":13}]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/MockPropertyInfoLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/InterWikiLinkWikitextFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Changes\/InjectRCRecordsJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/LabelDescriptionNotEqualValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/WikiPageItemOrderProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/MonolingualHtmlFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/EntityIdLocalPartPageTableEntityQueryDbTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Reporting\/ReportingExceptionHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/ChangesListLinesHandlerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":192,"column":35}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/PropertyPartsSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/UnmappedEntityIdValueFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/PropertyDataTypeSearchHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchPropertyStatement\/PatchPropertyStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Reporting\/RethrowingExceptionHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/InMemoryItemRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Validation\/AliasesValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/WikibaseRepo.datatypes.php":{"errors":0,"warnings":53,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":74,"column":24},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":92,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":99,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":106,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":110,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":119,"column":32},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":132,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":139,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":143,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":152,"column":32},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":158,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":165,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":169,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":178,"column":32},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":184,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":189,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":192,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":196,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":210,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":218,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":221,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":225,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":237,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":242,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":248,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":252,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":265,"column":55},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":271,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":280,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":284,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":288,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":297,"column":55},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":306,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":311,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":315,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":319,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":334,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":341,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":345,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":354,"column":32},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":360,"column":50},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":364,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":379,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":404,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":408,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":412,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":421,"column":55},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":427,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":431,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":453,"column":32},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":459,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":463,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":485,"column":32}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/ParserFunctions\/RunnerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/MediaWikiContentLanguagesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/AddPropertyAliasesInLanguageRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/ItemHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/RevisionBasedEntityLookupTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":58,"column":29}]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/EntityIdSiteLinkFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/GetClaims.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":106,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":109,"column":13}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/WikibaseEntityRevisionLookupPropertyRevisionMetadataRetrieverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Normalization\/ReferenceNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/WikiPageEntityMetaDataLookupTest.php":{"errors":2,"warnings":1,"messages":[{"message":"Doc comment for parameter \"$realDB\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":161,"column":5},{"message":"Doc comment for parameter \"$selectCount\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":161,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":174,"column":35}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Validation\/StatementIdValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/TitleLookupBasedEntityTitleTextLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/StatementReadModelHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetItem\/GetItemTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Changes\/WikiPageUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Validation\/SiteIdValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/CombinedEntitySearchHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialNewItemTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":519,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":554,"column":13}]},"\/src\/repo\/lib\/tests\/phpunit\/Normalization\/StringValueNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/LinkedData\/EntityDataSerializationServiceTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":99,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":456,"column":35}]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/BinaryOptionDispatchingSnakFormatterTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":113,"column":35}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/RepoHooksTest.php":{"errors":0,"warnings":5,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":140,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":322,"column":39},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":325,"column":40},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":345,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":395,"column":34}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/Terms\/EntityTermsSelectQueryBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/DispatchingFallbackLabelDescriptionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/DispatchingEntityIdHtmlLinkFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetPropertyDescriptions\/GetPropertyDescriptionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/ListSubscribersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/HttpUrlPropertyOrderProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/HTMLForm\/HTMLItemReferenceFieldTest.php":{"errors":1,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":76,"column":42},{"message":"Doc comment for parameter \"$params\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":88,"column":5}]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/DescriptionTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":267,"column":57}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/DefaultFederatedPropertiesEntitySourceAdderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/MonolingualTextFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/PropertyValuePairDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/WikibaseClientTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Normalization\/StatementNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/BeforePageDisplayHandlerTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$tempUser\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":261,"column":5}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Validation\/StatementValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/maintenance\/DumpRdfTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":286,"column":35}]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/GlobalStateFactoryMethodsResourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/SourceAndTypeDispatchingRedirectCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/HTMLForm\/HTMLAliasesFieldTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":24,"column":38}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/LinkedData\/EntityDataFormatProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Changes\/ChangeRunCoalescer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/StatementSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Changes\/MergeFailedException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/OtherProjectsSitesProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetSitelink\/GetSitelinkTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/HTMLForm\/HTMLContentLanguageFieldTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/maintenance\/PruneItemsPerSiteTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/ChangeModification\/ChangeVisibilityNotificationJobTest.php":{"errors":2,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$expectedRedactedTitles\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":100,"column":5},{"message":"Doc comment for parameter \"$visibilityBitFlag\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":100,"column":5}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ClaimSummaryBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/SetItemLabel\/SetItemLabelTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/LinkedData\/EntityDataSerializationServiceIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Notifications\/PageConnectionPresentationModelTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/AliasesSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/WikibaseRepoSchemaTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/EntityChangeNotificationJob.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":40,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":54,"column":19}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/SetItemLabel\/SetItemLabelRequestTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/maintenance\/ResubmitChangesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/ChangeModification\/ChangeDeletionNotificationJobTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/PropertyIdResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/ModifyEntity.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/CachingCommonsMediaFileNameLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialItemByTitleTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":50,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":76,"column":35}]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/HashSiteLinkStoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Normalization\/SnakNormalizerTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$return\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":62,"column":5}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/EntityIdLabelFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/maintenance\/AddUnitsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetPropertyDescriptionWithFallback\/GetPropertyDescriptionWithFallbackTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/WikiPagePropertyOrderProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Normalization\/CompositeDataValueNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/EntityUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/View\/RepoSpecialPageLinkerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/LinkedData\/EntityDataUriManagerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":29,"column":35}]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/ChangeModification\/RecentChangesModificationTestBase.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":30,"column":17}]},"\/src\/repo\/client\/includes\/DataAccess\/DataAccessSnakFormatterFactory.php":{"errors":1,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":78,"column":12},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":152,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/SetReferenceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/SetLabel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/View\/WikibaseHtmlSnakFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/maintenance\/DumpEntitiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/SitelinkDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/WikibaseRepoTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/SettingsArrayTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/MwTimeIsoFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/WikibaseEntityRevisionLookupItemRevisionMetadataRetrieverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Specials\/SpecialUnconnectedPagesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Changes\/MockPageUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetPropertyAliases\/GetPropertyAliasesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/ParserFunctions\/VariantsAwareRenderer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/MetaContentLanguages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/EntityStubRdfBuilderFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/Terms\/DatabaseTermsCollisionDetectorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/MediaWikiNumberLocalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/ItemContentTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":98,"column":28},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":375,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":477,"column":13}]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/NonExistingEntityIdHtmlBrokenLinkFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Serialization\/SerializationModifierTest.php":{"errors":0,"warnings":5,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":28,"column":17},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":37,"column":17},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":60,"column":17},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":194,"column":31},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":198,"column":30}]},"\/src\/repo\/repo\/tests\/phpunit\/maintenance\/DumpJsonTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":205,"column":35}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/TruthyStatementRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Specials\/SpecialEntityUsageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetItemDescription\/GetItemDescriptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/maintenance\/ImportFederatedPropertiesSampleDataTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/MergeItems.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":69,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/LinkedData\/EntityDataTestProvider.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":50,"column":19}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/WikibaseEntityPermissionCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/HashDedupeBagTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/SetClaimValueTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":268,"column":43}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/StatementDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Serialization\/CallbackFactoryTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":97,"column":35}]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Specials\/SpecialPagesWithBadgesTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":34,"column":35}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/SitelinkSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/ParserFunctions\/StatementGroupRendererFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetItemDescriptions\/GetItemDescriptionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Interactors\/TermSearchResultTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/EntityContentFactoryTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":119,"column":27},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":122,"column":31}]},"\/src\/repo\/repo\/tests\/phpunit\/maintenance\/RebuildItemsPerSiteTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/EntityUpdaterStatementRemoverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/AliasesInLanguageDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Changes\/ChangeRunCoalescerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":403,"column":13}]},"\/src\/repo\/repo\/includes\/Api\/QuerySearchEntities.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Usage\/UsageTrackingIntegrationTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":163,"column":31}]},"\/src\/repo\/client\/includes\/DataAccess\/ParserFunctions\/Runner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/EntityContentDiffTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/ParserFunctions\/StatementGroupRenderer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialSetLabelDescriptionAliasesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/LabelsDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/WikibaseEntityRevisionLookupStatementSubjectRevisionMetadataRetrieverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/SqlEntityIdPagerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":121,"column":27}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/HtmlAssertionHelpers.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":102,"column":15}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/AssertUserIsAuthorizedTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/ParserFunctions\/LanguageAwareRenderer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/PropertySerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Usage\/UsageTrackerContractTester.php":{"errors":1,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":55,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":159,"column":24}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/ContentHandlerEntityTitleLookupTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":52,"column":27},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":55,"column":31}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/ChangesSubscriptionTableBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/LinkedData\/EntityDataRequestHandlerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":114,"column":35}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/DescriptionsDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/ApiErrorReporter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/EntityRevisionLookupStatementRetrieverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialGoToLinkedPageTest.php":{"errors":0,"warnings":4,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":41,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":67,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":84,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":101,"column":35}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/EntityTestHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetItemLabelWithFallback\/GetItemLabelWithFallbackTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/SameTitleSitelinkTargetResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/SiteLinkTargetProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Interactors\/MatchingTermsLookupSearchInteractorTest.php":{"errors":0,"warnings":4,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":87,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":96,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":132,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":139,"column":35}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/FedPropertiesTypeDispatchingEntitySearchHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/ReferenceSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Interactors\/MatchingTermsSearchInteractorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/SiteLinkPageNormalizerSitelinkTargetResolverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/TypeDispatchingWikiPageEntityMetaDataAccessorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/Scribunto\/WikibaseEntityLibrary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Interactors\/TermSearchOptionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Usage\/ParsoidUsageTrackingTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/SqlEntityIdPagerFactoryTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":42,"column":35}]},"\/src\/repo\/client\/includes\/DataAccess\/Scribunto\/SnakSerializationRenderer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/RemoveQualifiers.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":120,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":123,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/StatementGrouperBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/SqlSubscriptionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/ReferenceDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/RemoveItemLabel\/RemoveItemLabelTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/InMemoryPropertyRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/RdfBuilderTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":156,"column":27}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/DummyItemRevisionMetaDataRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/Scribunto\/WikibaseLuaEntityBindings.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/ItemSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/Scribunto\/WikitextPreprocessingSnakFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Usage\/UsageLookupContractTester.php":{"errors":1,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":47,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":197,"column":31}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/ItemStubRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Changes\/ChangeHandlerTest.php":{"errors":0,"warnings":4,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":170,"column":39},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":174,"column":40},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":236,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":324,"column":17}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/SqlItemsWithoutSitelinksFinderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetItemLabel\/GetItemLabelTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeModification\/DispatchChangeVisibilityNotificationJobTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":228,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":244,"column":35}]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Usage\/Sql\/SqlSubscriptionManagerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/architecture\/ArchitectureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialMergeItemsTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":97,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":116,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":247,"column":21}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/SqlStoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/GetEntities.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Dumpers\/JsonDataTypeInjector.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":12}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/ReplaceItemStatement\/ReplaceItemStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/DateTimeValueCleanerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/SetAliasesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/SqlSiteLinkConflictLookupTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":84,"column":23}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeModification\/DispatchChangesJobTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/SiteLinksRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Usage\/Sql\/SqlUsageTrackerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchJsonTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Dumpers\/JsonDumpGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/SetAliases.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":177,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":185,"column":13}]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Usage\/Sql\/EntityUsageTableBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/LinkTitlesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/CreateProperty\/CreatePropertyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeModification\/DispatchChangeDeletionNotificationJobTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Dumpers\/DumpGenerator.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":85,"column":32}]},"\/src\/repo\/repo\/includes\/Api\/SetReference.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":141,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":144,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ItemMoveTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/Scribunto\/WikibaseLibrary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Changes\/AffectedPagesFinderTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":53,"column":35}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/DispatchingEntityViewFactoryTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":49,"column":26}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/CreateRedirectTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":82,"column":35}]},"\/src\/repo\/repo\/includes\/Dumpers\/RdfDumpGenerator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":146,"column":20}]},"\/src\/repo\/repo\/includes\/MaintenanceShellStart.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Usage\/Sql\/EntityUsageTableTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":145,"column":31}]},"\/src\/repo\/client\/WikibaseClient.entitytypes.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":33,"column":50},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":41,"column":50}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/CreateProperty\/CreatePropertyValidatorTest.php":{"errors":0,"warnings":4,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":174,"column":32},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":178,"column":34},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":285,"column":32},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":289,"column":34}]},"\/src\/repo\/repo\/includes\/Api\/ParseValue.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":300,"column":13}]},"\/src\/repo\/client\/includes\/DataAccess\/Scribunto\/EntityAccessor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpMainSnak.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/GetEntitiesRedirectTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetProperty\/GetPropertyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/EntityParserOutputGeneratorTestBase.php":{"errors":4,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":52,"column":35},{"message":"Doc comment for parameter \"$title\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":130,"column":5},{"message":"Doc comment for parameter \"$description\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":130,"column":5},{"message":"Doc comment for parameter \"$title\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":143,"column":5},{"message":"Doc comment for parameter \"$description\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":143,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":175,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":189,"column":35}]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Changes\/WikiPageUpdaterTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":209,"column":35}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/ParserOutputJsConfigBuilderTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":54,"column":35}]},"\/src\/repo\/client\/WikibaseClient.datatypes.php":{"errors":0,"warnings":15,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":35,"column":24},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":47,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":54,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":61,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":68,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":75,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":81,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":87,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":93,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":99,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":106,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":112,"column":39},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":117,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":123,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":128,"column":50}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetPropertyStatement\/GetPropertyStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/CreateClaim.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":111,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":114,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/EditEntityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/CombinedEntitySearchHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/ApiErrorReporterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/EditSummaryHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/Scribunto\/WikibaseLanguageIndependentLuaBindings.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/DataAccess\/ParserFunctions\/PropertyParserFunctionIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/config\/WikibaseClient.default.php":{"errors":0,"warnings":14,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":26,"column":24},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":108,"column":34},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":116,"column":37},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":176,"column":38},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":181,"column":34},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":215,"column":46},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":223,"column":33},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":230,"column":28},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":235,"column":36},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":240,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":245,"column":33},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":251,"column":31},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":261,"column":30},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":266,"column":39}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/RemoveQualifiersTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":99,"column":21},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":130,"column":13}]},"\/src\/repo\/client\/includes\/DataAccess\/Scribunto\/CachingFallbackBasedTermLookup.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":81,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":85,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":134,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":147,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/WikiPageEntityStoreTest.php":{"errors":0,"warnings":5,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":138,"column":31},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":141,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":972,"column":31},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":975,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1045,"column":35}]},"\/src\/repo\/client\/includes\/DataAccess\/Scribunto\/LuaFunctionCallTracker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchProperty\/PatchPropertyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/PropertyInfoTableBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/SqlIdGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/DataAccess\/ParserFunctions\/StatementsParserFunctionIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/ItemsPerSiteBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/UpsertSqlIdGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/SetClaimTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/AvailableBadgesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/DispatchStatsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/DatabaseSchemaUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/DataAccess\/DataAccessSnakFormatterOutputFormatTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/EntityTypeDefinitionsIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/DataAccess\/Scribunto\/WikibaseLibraryNoArbitraryAccessTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/ApiUserBlockedTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/ConceptUriSearchHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/EditEntityFingerprintUniquenessIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/HtmlPageLinkRendererEndHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/BotEditTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/Helpers\/OutputPageEditabilityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/Helpers\/OutputPageRevisionIdReaderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/ResultBuilderTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":71,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1745,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1771,"column":47}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/EntityTermSearchHelperTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":69,"column":17}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/PermissionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/TermTestHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/GetClaimsStatementFilterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/EditEntityClearChangeOpValidateIntegrationTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":149,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":157,"column":35}]},"\/src\/repo\/repo\/WikibaseRepo.ServiceWiring.php":{"errors":0,"warnings":172,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":264,"column":39},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":268,"column":50},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":279,"column":48},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":292,"column":51},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":296,"column":40},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":319,"column":55},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":327,"column":56},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":339,"column":54},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":343,"column":57},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":352,"column":36},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":356,"column":38},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":378,"column":51},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":398,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":422,"column":51},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":429,"column":61},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":438,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":451,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":461,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":467,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":474,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":493,"column":39},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":499,"column":48},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":505,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":512,"column":40},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":516,"column":52},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":531,"column":48},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":553,"column":53},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":585,"column":37},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":591,"column":41},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":609,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":618,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":625,"column":51},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":629,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":643,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":659,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":667,"column":46},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":674,"column":48},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":688,"column":46},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":698,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":706,"column":48},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":715,"column":54},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":728,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":753,"column":36},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":763,"column":51},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":773,"column":46},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":784,"column":37},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":791,"column":40},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":798,"column":56},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":815,"column":53},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":823,"column":38},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":830,"column":38},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":848,"column":50},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":856,"column":36},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":864,"column":52},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":873,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":876,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":883,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":893,"column":58},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":926,"column":37},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":936,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":945,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":953,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":964,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":969,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":990,"column":51},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":999,"column":54},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1024,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1044,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1051,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1055,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1059,"column":51},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1067,"column":41},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1071,"column":46},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1084,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1095,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1109,"column":46},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1118,"column":39},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1129,"column":41},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1135,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1148,"column":59},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1152,"column":61},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1164,"column":57},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1188,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1196,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1200,"column":27},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1205,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1250,"column":57},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1259,"column":56},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1263,"column":49},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1270,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1291,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1306,"column":54},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1323,"column":50},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1328,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1341,"column":37},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1348,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1359,"column":52},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1374,"column":52},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1381,"column":52},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1390,"column":49},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1397,"column":52},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1423,"column":16},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1430,"column":48},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1439,"column":50},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1447,"column":41},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1459,"column":40},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1467,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1478,"column":52},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1486,"column":57},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1514,"column":30},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1518,"column":50},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1527,"column":49},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1531,"column":49},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1543,"column":34},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1551,"column":48},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1556,"column":46},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1562,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1573,"column":46},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1589,"column":39},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1607,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1626,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1654,"column":54},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1659,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1672,"column":50},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1676,"column":41},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1686,"column":37},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1713,"column":61},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1719,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1723,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1733,"column":32},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1737,"column":67},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1749,"column":57},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1763,"column":46},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1771,"column":46},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1780,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1788,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1798,"column":38},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1807,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1814,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1818,"column":46},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1822,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1829,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1842,"column":29},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1863,"column":40},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1867,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1874,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1879,"column":40},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1890,"column":65},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1938,"column":34},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1942,"column":41},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1949,"column":48},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1962,"column":52},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1972,"column":34},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1976,"column":53},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1983,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1987,"column":38},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1992,"column":46},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":2005,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":2029,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":2033,"column":39},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":2037,"column":37},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":2041,"column":39},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":2045,"column":37},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":2060,"column":36},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":2075,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":2080,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":2091,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":2107,"column":30},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":2114,"column":50},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":2122,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":2164,"column":48},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":2171,"column":40}]},"\/src\/repo\/repo\/WikibaseRepo.i18n.magic.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/StatementModificationHelperTest.php":{"errors":0,"warnings":4,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":94,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":97,"column":13},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":210,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":215,"column":35}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/ApiConventionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/GetEntitiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/ApiModuleTestHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/ApiFormatTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/WbRestApi.ServiceWiring.php":{"errors":0,"warnings":131,"messages":[{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":202,"column":9},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":206,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":207,"column":9},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":211,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":212,"column":9},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":221,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":222,"column":9},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":229,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":230,"column":9},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":240,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":240,"column":57},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":247,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":247,"column":53},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":251,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":252,"column":9},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":262,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":263,"column":9},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":305,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":305,"column":49},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":309,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":310,"column":9},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":314,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":314,"column":51},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":318,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":319,"column":9},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":326,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":327,"column":9},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":334,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":334,"column":61},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":341,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":341,"column":64},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":351,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":351,"column":57},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":358,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":359,"column":9},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":369,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":369,"column":53},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":373,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":374,"column":9},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":383,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":384,"column":9},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":392,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":392,"column":58},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":401,"column":5},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":402,"column":9},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":408,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":418,"column":37},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":429,"column":49},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":439,"column":41},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":462,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":466,"column":37},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":470,"column":41},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":474,"column":49},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":478,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":487,"column":31},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":495,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":529,"column":53},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":535,"column":34},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":552,"column":34},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":556,"column":28},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":564,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":575,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":586,"column":39},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":594,"column":40},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":602,"column":51},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":613,"column":33},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":621,"column":34},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":629,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":640,"column":37},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":648,"column":38},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":656,"column":50},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":662,"column":54},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":668,"column":62},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":676,"column":32},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":684,"column":39},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":695,"column":49},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":706,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":714,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":722,"column":55},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":733,"column":37},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":741,"column":38},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":749,"column":49},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":760,"column":41},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":768,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":776,"column":32},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":784,"column":33},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":792,"column":33},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":800,"column":38},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":811,"column":32},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":822,"column":47},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":826,"column":30},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":882,"column":37},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":903,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":926,"column":36},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":951,"column":39},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":959,"column":34},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1002,"column":41},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1025,"column":46},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1050,"column":40},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1076,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1084,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1106,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1119,"column":50},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1127,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1137,"column":36},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1147,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1157,"column":36},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1167,"column":40},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1175,"column":46},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1185,"column":40},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1195,"column":44},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1203,"column":35},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1213,"column":36},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1223,"column":41},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1231,"column":45},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1239,"column":37},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1248,"column":39},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1258,"column":33},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1268,"column":43},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1278,"column":37},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1288,"column":32},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1298,"column":41},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1310,"column":42},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1326,"column":55},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1333,"column":37},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1340,"column":39},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1350,"column":40},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1356,"column":37},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1368,"column":51},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1375,"column":53},{"message":"Use static closure","source":"MediaWiki.Usage.StaticClosure.StaticClosure","severity":5,"fixable":true,"type":"WARNING","line":1382,"column":50}]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/PatchPropertyAliasesRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/ReplacePropertyStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetPropertyAliasesInLanguageRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetPropertyLabelsRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/RemovePropertyLabelRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/PatchItemAliasesRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetPropertyStatementsRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetSitelinkRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/PatchPropertyStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/RemoveItemStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/AssertValidTopLevelFields.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetItemDescriptionRouteHandler.php":{"errors":0,"warnings":0,"messages":[]}}} --- end --- PHPCS run failed $ vendor/bin/phpcbf --- stdout --- PHPCBF RESULT SUMMARY -------------------------------------------------------------------------------- FILE FIXED REMAINING -------------------------------------------------------------------------------- /src/repo/repo/config/Wikibase.example.php 1 0 ...sts/phpunit/unit/ServiceWiring/ContentModelMappingsTest.php 1 0 ...unit/includes/ParserOutput/ExternalLinksDataUpdaterTest.php 2 0 ...punit/unit/ServiceWiring/AllTypesEntityDeserializerTest.php 2 0 /src/repo/repo/includes/MediaWikiLocalizedTextProvider.php 1 0 .../unit/includes/DataAccess/ClientSiteLinkTitleLookupTest.php 1 0 ...o/tests/phpunit/includes/Rdf/PropertyStubRdfBuilderTest.php 1 0 /src/repo/view/tests/phpunit/StatementGroupListViewTest.php 1 0 ...punit/includes/Specials/SpecialWikibaseRepoPageTestBase.php 1 0 /src/repo/lib/tests/phpunit/WikibaseContentLanguagesTest.php 1 0 ...ts/phpunit/unit/includes/ServiceWiring/EntityDifferTest.php 2 0 /src/repo/lib/includes/Store/RevisionBasedEntityLookup.php 3 0 ...punit/unit/includes/Hooks/SiteLinksForDisplayLookupTest.php 1 0 ...o/tests/phpunit/unit/ServiceWiring/EntityIdComposerTest.php 1 0 ...ests/phpunit/unit/ServiceWiring/FulltextSearchTypesTest.php 2 0 ...punit/unit/ServiceWiring/LocalEntityNamespaceLookupTest.php 1 0 /src/repo/client/includes/Serializer/ClientSerializer.php 1 0 /src/repo/lib/packages/wikibase/changes/src/EntityChange.php 1 0 ...po/repo/includes/Specials/ParameterizedDescriptionTrait.php 1 1 ...repo/view/tests/phpunit/ToolbarEditSectionGeneratorTest.php 1 0 ...po/tests/phpunit/includes/ParserOutput/TextInjectorTest.php 1 0 .../includes/DataAccess/DataAccessSnakFormatterFactoryTest.php 1 1 ...ts/phpunit/unit/ServiceWiring/EntityNamespaceLookupTest.php 1 0 .../phpunit/includes/Hooks/PageHistoryPagerHookHandlerTest.php 2 0 .../lib/tests/phpunit/Store/MatchingTermsLookupFactoryTest.php 2 0 /src/repo/lib/tests/phpunit/EntityRevisionLookupTestCase.php 2 0 .../Infrastructure/DataAccess/EntityUpdaterItemUpdaterTest.php 1 0 ...hpunit/unit/includes/ServiceWiring/EntityIdComposerTest.php 1 0 ...ts/phpunit/unit/ServiceWiring/EntityTypeDefinitionsTest.php 1 0 ...ccess/Scribunto/WikibaseLibraryInProcessEntityCacheTest.php 1 0 .../lib/includes/Store/CacheRetrievingEntityRevisionLookup.php 2 0 .../tests/phpunit/unit/includes/Hooks/EntityDataPurgerTest.php 1 0 ...epo/tests/phpunit/unit/ServiceWiring/EntityIdParserTest.php 2 0 ...udes/DataAccess/Scribunto/SnakSerializationRendererTest.php 1 0 .../includes/Store/RevisionBasedEntityRedirectTargetLookup.php 2 0 ...repo/tests/phpunit/unit/ServiceWiring/EntityPatcherTest.php 2 0 /src/repo/repo/includes/SummaryFormatter.php 1 1 ...epo/tests/phpunit/includes/Validators/SnakValidatorTest.php 1 0 ...o/tests/phpunit/includes/Specials/SpecialEntityDataTest.php 1 0 .../phpunit/unit/includes/ServiceWiring/EntityIdParserTest.php 1 0 ...ts/phpunit/includes/ChangeOp/EntityChangeOpProviderTest.php 4 0 ...s/phpunit/unit/ServiceWiring/EntityChangeOpProviderTest.php 1 0 .../tests/phpunit/includes/Rdf/FullStatementRdfBuilderTest.php 3 0 /src/repo/lib/tests/phpunit/StatsdRecordingSimpleCacheTest.php 3 0 ...phpunit/includes/Hooks/SummaryParsingPrefetchHelperTest.php 1 0 ...unit/unit/ServiceWiring/EntitySearchHelperCallbacksTest.php 1 0 /src/repo/client/includes/ClientHooks.php 1 0 /src/repo/view/src/DummyLocalizedTextProvider.php 1 1 ...phpunit/unit/ServiceWiring/WikibaseContentLanguagesTest.php 1 0 ...t/unit/includes/ServiceWiring/DataValueDeserializerTest.php 1 0 ...includes/ParserOutput/ReferencedEntitiesDataUpdaterTest.php 2 0 /src/repo/repo/includes/Specials/SpecialItemByTitle.php 1 0 ...hpunit/Store/LanguageFallbackLabelDescriptionLookupTest.php 2 0 ...nit/includes/ServiceWiring/WikibaseContentLanguagesTest.php 1 0 /src/repo/view/tests/phpunit/SiteLinksViewTest.php 1 0 /src/repo/data-access/src/ByTypeDispatchingEntityIdLookup.php 1 2 ...n/includes/DataAccess/Scribunto/WikibaseLibraryTestCase.php 2 0 /src/repo/repo/includes/ChangeOp/ChangeOps.php 1 0 ...phpunit/unit/includes/ServiceWiring/DataTypeFactoryTest.php 1 0 ...phpunit/unit/ServiceWiring/DataTypeValidatorFactoryTest.php 1 0 ...repo/lib/packages/wikibase/changes/tests/ItemChangeTest.php 2 0 ...repo/tests/phpunit/unit/ServiceWiring/EntityFactoryTest.php 1 0 /src/repo/lib/includes/LanguageFallbackChainFactory.php 1 2 /src/repo/client/includes/Api/PageTerms.php 1 0 /src/repo/lib/includes/DataTypeDefinitions.php 1 1 ...seEntityRevisionLookupPropertyRevisionMetadataRetriever.php 1 0 /src/repo/lib/tests/phpunit/DataTypeDefinitionsTest.php 1 0 ...punit/unit/ServiceWiring/ValueSnakRdfBuilderFactoryTest.php 1 0 ...nit/unit/includes/ServiceWiring/DataTypeDefinitionsTest.php 1 0 ...s/phpunit/unit/includes/Hooks/InfoActionHookHandlerTest.php 2 0 /src/repo/view/src/Termbox/Renderer/TermboxRemoteRenderer.php 1 5 ...t/Formatters/Reference/DataBridgeReferenceFormatterTest.php 1 0 .../repo/includes/Hooks/HtmlPageLinkRendererEndHookHandler.php 1 0 /src/repo/lib/tests/phpunit/Modules/CurrentSiteModuleTest.php 1 0 ...sts/phpunit/SourceDispatchingPropertyDataTypeLookupTest.php 2 0 ...repo/repo/includes/ChangeOp/ChangeOpValidationException.php 1 0 .../tests/phpunit/FingerprintableEntityMetaTagsCreatorTest.php 2 0 ...ests/phpunit/unit/ServiceWiring/DataTypeDefinitionsTest.php 1 0 ...Access/Scribunto/WikitextPreprocessingSnakFormatterTest.php 1 0 /src/repo/repo/includes/Rdf/RdfBuilder.php 3 0 ...DataAccess/Scribunto/CachingFallbackBasedTermLookupTest.php 3 0 ...ib/includes/Store/RedirectResolvingLatestRevisionLookup.php 3 0 ...src/Application/UseCases/PatchItem/PatchedItemValidator.php 1 0 /src/repo/repo/includes/Specials/SpecialGoToLinkedPage.php 1 0 /src/repo/repo/tests/phpunit/includes/Api/MergeItemsTest.php 4 0 /src/repo/client/includes/Specials/SpecialPagesWithBadges.php 1 2 .../repo/tests/phpunit/unit/ServiceWiring/EntityDifferTest.php 2 0 /src/repo/view/src/FallbackChainModuleMethods.php 1 0 ...po/includes/Hooks/Formatters/EntityLinkFormatterFactory.php 1 0 ...ncludes/DataAccess/Scribunto/LuaFunctionCallTrackerTest.php 1 0 /src/repo/repo/includes/WikibasePingback.php 2 0 .../phpunit/includes/Hooks/RecentChangeSaveHookHandlerTest.php 2 0 ...ion/UseCases/PatchProperty/PatchedPropertyValidatorTest.php 4 0 /src/repo/lib/tests/phpunit/Modules/DataTypesModuleTest.php 3 0 ...lib/tests/phpunit/Formatters/VocabularyUriFormatterTest.php 1 0 ...it/includes/Rdf/Values/ExternalIdentifierRdfBuilderTest.php 1 0 ...Middleware/TempUserCreationResponseHeaderMiddlewareTest.php 2 0 /src/repo/client/includes/Store/AddUsagesForPageJob.php 2 0 ...epo/lib/packages/wikibase/data-model/tests/unit/NewItem.php 1 0 .../repo/repo/tests/phpunit/includes/Api/ApiJsonFormatTest.php 1 0 ...epo/tests/phpunit/includes/Dumpers/RdfDumpGeneratorTest.php 2 0 ...nit/includes/Interactors/RedirectCreationInteractorTest.php 1 0 ...tests/phpunit/integration/includes/NamespaceCheckerTest.php 2 0 /src/repo/repo/includes/EditEntity/MediaWikiEditEntity.php 1 1 ...po/lib/packages/wikibase/changes/tests/EntityChangeTest.php 2 0 ...ts/phpunit/unit/ServiceWiring/ItemVocabularyBaseUriTest.php 1 0 ...tion/tests/unit/Deserializers/SnakValueDeserializerTest.php 1 0 /src/repo/repo/maintenance/searchEntities.php 1 0 ...s/phpunit/includes/Interactors/TokenCheckInteractorTest.php 1 0 /src/repo/client/includes/Store/DescriptionLookup.php 3 0 ...phpunit/unit/includes/Hooks/SkinAfterPortletHandlerTest.php 1 0 ...repo/tests/phpunit/includes/ChangeOp/ChangeOpsMergeTest.php 1 0 /src/repo/lib/includes/Store/Sql/SiteLinkTable.php 1 0 .../lib/tests/phpunit/Store/TypeDispatchingEntityStoreTest.php 1 0 .../lib/tests/phpunit/ServiceBySourceAndTypeDispatcherTest.php 1 0 /src/repo/repo/maintenance/ResubmitChanges.php 1 0 ...hpunit/Formatters/OutputFormatValueFormatterFactoryTest.php 3 0 ...phpunit/includes/ParserOutput/ImageLinksDataUpdaterTest.php 1 0 /src/repo/client/includes/Usage/UsageDeduplicator.php 1 0 ...tests/phpunit/unit/ServiceWiring/ValueParserFactoryTest.php 1 0 ...po/repo/tests/phpunit/includes/Api/RemoveReferencesTest.php 2 0 .../repo/client/includes/Store/Sql/PagePropsEntityIdLookup.php 1 0 /src/repo/lib/tests/phpunit/Modules/SitesModuleTest.php 1 0 .../includes/Store/Sql/Terms/DatabaseTermInLangIdsAcquirer.php 3 5 ...cludes/Hooks/HtmlPageLinkRendererEndHookHandlerTestBase.php 5 0 .../phpunit/Formatters/GlobeCoordinateDetailsFormatterTest.php 1 0 /src/repo/repo/includes/Store/Sql/DatabaseSchemaUpdater.php 3 2 ...arserOutput/DispatchingEntityMetaTagsCreatorFactoryTest.php 1 0 /src/repo/view/src/SiteLinksView.php 1 0 ...andlers/Middleware/UnexpectedErrorHandlerMiddlewareTest.php 2 0 ...tests/phpunit/unit/includes/Store/DescriptionLookupTest.php 6 0 ...ib/tests/phpunit/ParserFunctions/CommaSeparatedListTest.php 1 0 ...epo/lib/includes/Store/Sql/WikiPageEntityMetaDataLookup.php 1 0 /src/repo/lib/tests/phpunit/ServiceByTypeDispatcherTest.php 1 0 /src/repo/view/resources/templates.php 1 0 ...epo/repo/tests/phpunit/includes/Api/WikibaseApiTestCase.php 1 0 /src/repo/repo/includes/Specials/SpecialModifyEntity.php 1 1 ...punit/Store/Sql/Terms/DatabaseInnerTermStoreCleanerTest.php 1 0 ...tiesPrefetchingEntityParserOutputGeneratorDecoratorTest.php 2 0 ...sts/phpunit/includes/Hooks/LabelPrefetchHookHandlerTest.php 2 0 ...hpunit/includes/Localizer/MessageParameterFormatterTest.php 2 0 /src/repo/lib/tests/phpunit/DataValueFactoryTest.php 1 0 /src/repo/repo/maintenance/DumpEntities.php 1 0 ...hpunit/unit/includes/Hooks/LanguageLinkBadgeDisplayTest.php 1 0 /src/repo/repo/includes/Specials/SpecialAvailableBadges.php 1 0 ...po/tests/phpunit/includes/Dumpers/JsonDumpGeneratorTest.php 3 0 /src/repo/repo/includes/Parsers/MwTimeIsoParser.php 1 0 ...includes/DataAccess/StatementTransclusionInteractorTest.php 3 0 ...udes/Localizer/ChangeOpValidationExceptionLocalizerTest.php 1 0 ...punit/SourceAndTypeDispatchingPrefetchingTermLookupTest.php 10 0 ...repo/repo/tests/phpunit/includes/Rdf/SnakRdfBuilderTest.php 1 0 ...eModification/DispatchChangeModificationNotificationJob.php 1 0 ...ore/Sql/Terms/Util/ReplicaPrimaryAwareRecordIdsAcquirer.php 1 0 /src/repo/repo/includes/Api/ResultBuilder.php 5 8 /src/repo/lib/includes/Serialization/CallbackFactory.php 2 2 ...nt/includes/Hooks/LoadExtensionSchemaUpdatesHookHandler.php 1 0 ...tests/phpunit/includes/Dumpers/JsonDataTypeInjectorTest.php 1 0 /src/repo/lib/tests/phpunit/MockRepositoryTest.php 1 0 /src/repo/lib/includes/Formatters/AutoCommentFormatter.php 1 0 /src/repo/repo/includes/Specials/SpecialRedirectEntity.php 1 0 ...ts/phpunit/includes/Interactors/ItemMergeInteractorTest.php 1 0 ...t/includes/FederatedProperties/Api/RemoveQualifiersTest.php 1 0 ...s/phpunit/unit/includes/Hooks/EditActionHookHandlerTest.php 3 0 /src/repo/client/includes/Usage/Sql/SqlSubscriptionManager.php 1 0 ...ccess/tests/phpunit/ByTypeDispatchingEntityIdLookupTest.php 2 0 /src/repo/lib/tests/phpunit/EntityTypesTest.php 1 0 ...t/unit/includes/ServiceWiring/EntityTypeDefinitionsTest.php 1 0 ...o/tests/phpunit/includes/Hooks/ShowSearchHitHandlerTest.php 4 0 ...ts/phpunit/unit/includes/Hooks/ExtensionLoadHandlerTest.php 1 0 .../includes/Store/Sql/UnexpectedUnconnectedPagePrimerTest.php 1 0 ...epo/repo/includes/ChangeModification/DispatchChangesJob.php 3 2 ...unit/unit/includes/Usage/UsageTrackingSnakFormatterTest.php 1 0 ...punit/includes/FederatedProperties/Api/RemoveClaimsTest.php 1 0 ...sts/phpunit/includes/Diff/ClaimDifferenceVisualizerTest.php 4 0 ...o/repo/tests/phpunit/includes/Rdf/NTriplesRdfTestHelper.php 1 0 ...epo/repo/tests/phpunit/includes/Api/FormatSnakValueTest.php 16 0 ...tests/phpunit/ByTypeDispatchingEntityRevisionLookupTest.php 1 0 ...repo/tests/phpunit/includes/PropertyDataTypeChangerTest.php 1 0 ...t/Formatters/FormatterLabelDescriptionLookupFactoryTest.php 3 0 /src/repo/view/resources.php 3 0 /src/repo/repo/tests/phpunit/includes/PropertyServicesTest.php 2 0 ...repo/repo/tests/phpunit/includes/ChangeOp/ChangeOpsTest.php 3 0 .../phpunit/Formatters/HtmlExternalIdentifierFormatterTest.php 2 0 /src/repo/repo/includes/RepoHooks.php 6 1 /src/repo/lib/resources/Resources.php 3 0 /src/repo/client/includes/Hooks/ParserFunctionRegistrant.php 2 0 /src/repo/repo/includes/Specials/SpecialListProperties.php 1 0 /src/repo/repo/maintenance/addUnitConversions.php 1 0 ...repo/lib/tests/phpunit/LanguageFallbackChainFactoryTest.php 2 0 ...ferenceExtractors/StatementEntityReferenceExtractorTest.php 1 0 /src/repo/repo/includes/PropertyServices.php 2 0 ...punit/integration/includes/Hooks/SidebarHookHandlerTest.php 1 0 ...sts/phpunit/includes/Diff/BasicEntityDiffVisualizerTest.php 1 0 ...ncludes/Hooks/DifferenceEngineViewHeaderHookHandlerTest.php 2 0 ...geOp/Deserialization/AliasChangeOpDeserializationTester.php 1 1 /src/repo/lib/WikibaseLib.entitytypes.php 12 0 /src/repo/lib/tests/phpunit/SimpleCacheTestCase.php 4 0 ...t/unit/includes/ServiceWiring/EntityNamespaceLookupTest.php 1 0 .../repo/repo/tests/phpunit/includes/IO/EntityIdReaderTest.php 1 0 /src/repo/client/includes/Usage/Sql/EntityUsageTable.php 1 0 ...punit/includes/Diff/DispatchingEntityDiffVisualizerTest.php 2 0 ...ferenceExtractors/EntityReferenceExtractorDelegatorTest.php 2 0 /src/repo/lib/tests/phpunit/EntityFactoryTest.php 2 0 ...ization/SiteLinkBadgeChangeOpSerializationValidatorTest.php 5 0 .../client/includes/Usage/Sql/SqlUsageTrackerSchemaUpdater.php 1 0 /src/repo/lib/tests/phpunit/LanguageFallbackIndicatorTest.php 1 0 /src/repo/client/includes/Hooks/ExtensionLoadHandler.php 1 0 ...repo/tests/phpunit/includes/Diff/ItemDiffVisualizerTest.php 1 0 ...o/tests/phpunit/includes/Hooks/EditFilterHookRunnerTest.php 1 0 ...tests/phpunit/Formatters/PropertyValueSnakFormatterTest.php 1 0 ...ests/phpunit/mocks/Usage/UsageAccumulatorContractTester.php 1 0 ...includes/Store/WikiPageEntityStorePermissionCheckerTest.php 1 0 .../repo/repo/includes/FederatedProperties/ApiEntityLookup.php 1 0 ...punit/Store/Sql/Terms/DatabaseTermInLangIdsAcquirerTest.php 2 0 /src/repo/view/tests/phpunit/SimpleEntityTermsViewTest.php 3 0 /src/repo/repo/includes/Api/EditEntity.php 2 0 ...rastructure/DataAccess/EntityUpdaterPropertyUpdaterTest.php 1 0 /src/repo/repo/maintenance/updateUnits.php 1 0 /src/repo/lib/tests/phpunit/WikibaseSettingsTest.php 2 0 /src/repo/repo/includes/Specials/SpecialSetSiteLink.php 2 0 ...b/tests/phpunit/Formatters/QuantityDetailsFormatterTest.php 1 0 ...n/Validation/LabelsAndDescriptionsContentsValidatorTest.php 4 0 ...po/client/includes/Hooks/DescriptionProviderHookHandler.php 1 1 ...opertiesPrefetchingEntityParserOutputGeneratorDecorator.php 2 0 .../includes/FederatedProperties/ApiEntitySearchHelperTest.php 1 0 ...ncludes/Hooks/Formatters/EntityLinkFormatterFactoryTest.php 1 0 ...s/phpunit/includes/Diff/EntityDiffVisualizerFactoryTest.php 3 0 ...hpunit/Store/Sql/Terms/TermInLangIdsResolverFactoryTest.php 1 0 /src/repo/repo/includes/Rdf/RdfVocabulary.php 2 0 ...Application/UseCases/PatchItem/PatchedItemValidatorTest.php 4 0 /src/repo/view/tests/phpunit/TermsListViewTest.php 2 0 /src/repo/lib/tests/phpunit/TermLanguageFallbackChainTest.php 4 0 ...po/tests/phpunit/includes/Store/CachingPropertyInfoTest.php 1 0 /src/repo/repo/includes/Api/RemoveClaims.php 2 0 .../repo/tests/phpunit/includes/Api/EntitySavingHelperTest.php 2 0 ...po/tests/phpunit/includes/Content/EntityContentTestCase.php 1 0 .../tests/phpunit/Store/EntityLinkTargetEntityIdLookupTest.php 2 0 ...po/tests/phpunit/includes/Parsers/TimeParserFactoryTest.php 2 0 /src/repo/repo/includes/Specials/SpecialMergeItems.php 1 0 .../tests/phpunit/includes/Actions/HistoryEntityActionTest.php 2 0 /src/repo/repo/tests/phpunit/includes/EntityTypesTest.php 1 0 ...tore/Sql/Terms/DatabaseTermStoreWriterTestGetTermsTrait.php 3 1 .../phpunit/integration/includes/Hooks/LangLinkHandlerTest.php 1 0 .../phpunit/Application/Validation/StatementsValidatorTest.php 1 0 ...ngeOp/Deserialization/SiteLinksChangeOpDeserializerTest.php 6 0 ...ts/phpunit/includes/Specials/SpecialAvailableBadgesTest.php 1 0 /src/repo/repo/config/Wikibase.default.php 4 0 /src/repo/client/WikibaseClient.ServiceWiring.php 80 0 /src/repo/repo/config/Wikibase.searchindex.php 1 0 ...repo/lib/tests/phpunit/Store/LatestRevisionIdResultTest.php 6 0 ...ts/phpunit/unit/includes/Changes/InjectRCRecordsJobTest.php 3 0 ...ests/phpunit/Termbox/Renderer/TermboxRemoteRendererTest.php 1 1 /src/repo/repo/includes/Api/SetQualifier.php 3 0 ...sts/phpunit/includes/Specials/SpecialListPropertiesTest.php 1 0 .../phpunit/Formatters/ItemPropertyIdHtmlLinkFormatterTest.php 7 0 ...po/tests/phpunit/includes/Content/DataUpdateAdapterTest.php 2 0 ...eOp/Deserialization/FingerprintChangeOpDeserializerTest.php 1 0 .../repo/repo/tests/phpunit/includes/ValidatorBuildersTest.php 2 0 /src/repo/repo/includes/Specials/SpecialItemDisambiguation.php 1 0 ...es/DataAccess/ParserFunctions/LanguageAwareRendererTest.php 2 0 ...punit/includes/Content/ContentHandlerEntityIdLookupTest.php 2 0 ...phpunit/Store/Sql/Terms/DatabaseMatchingTermsLookupTest.php 2 0 ...phpunit/includes/Store/WikiPageEntityRevisionLookupTest.php 1 0 /src/repo/repo/WikibaseRepo.entitytypes.php 37 0 /src/repo/repo/includes/Api/EntityTerms.php 1 0 ...ient/tests/phpunit/integration/includes/DescriptionTest.php 1 0 ...WikibaseRepo.FederatedProperties.OverrideEntityServices.php 7 0 ...phpunit/Formatters/OutputFormatSnakFormatterFactoryTest.php 3 0 ...phpunit/includes/Specials/SpecialItemDisambiguationTest.php 2 0 .../repo/tests/phpunit/includes/Merge/StatementsMergerTest.php 1 0 .../integration/includes/Hooks/ChangesListLinesHandlerTest.php 1 0 ...ncludes/Store/TypeDispatchingEntityTitleStoreLookupTest.php 1 0 ...punit/includes/BuilderBasedDataTypeValidatorFactoryTest.php 4 0 /src/repo/repo/tests/phpunit/includes/RepoHooksTest.php 5 0 .../repo/lib/tests/phpunit/Store/Sql/PropertyInfoTableTest.php 1 0 /src/repo/repo/resources/Resources.php 10 0 ...es/ChangeModification/RecentChangesModificationTestBase.php 1 0 .../repo/repo/tests/phpunit/includes/Api/SetClaimValueTest.php 1 0 /src/repo/repo/includes/Api/ListSubscribers.php 1 0 ...nit/Store/PrefetchingWikiPageEntityMetaDataAccessorTest.php 1 0 ...repo/repo/tests/phpunit/includes/ValueParserFactoryTest.php 3 0 ...ion/UseCases/CreateProperty/CreatePropertyValidatorTest.php 4 0 .../tests/phpunit/includes/Specials/SpecialNewPropertyTest.php 1 0 ...ccess/ParserFunctions/StatementGroupRendererFactoryTest.php 2 0 .../Formatters/LabelsProviderEntityIdHtmlLinkFormatterTest.php 1 0 ...s/phpunit/includes/Validators/StringLengthValidatorTest.php 1 0 ...es/DataAccess/ParserFunctions/VariantsAwareRendererTest.php 1 0 /src/repo/repo/WikibaseRepo.datatypes.php 53 0 ...ntegration/includes/Specials/SpecialPagesWithBadgesTest.php 1 0 ...ests/phpunit/includes/ChangeOp/ChangeOpTestMockProvider.php 4 0 .../tests/phpunit/Formatters/DispatchingValueFormatterTest.php 2 0 ...ent/includes/DataBridge/DataBridgeResourceLoaderModules.php 1 0 ...s/phpunit/Store/CacheRetrievingEntityRevisionLookupTest.php 1 0 ...epo/tests/phpunit/includes/Actions/EditEntityActionTest.php 1 0 ...unit/Formatters/WikitextExternalIdentifierFormatterTest.php 2 0 /src/repo/repo/includes/Api/SetSiteLink.php 1 1 ...integration/includes/Usage/UsageTrackingIntegrationTest.php 1 0 ...nit/integration/includes/Changes/ChangeRunCoalescerTest.php 1 0 ...sts/phpunit/includes/Specials/SpecialRedirectEntityTest.php 2 0 ...it/includes/Validators/InterWikiLinkExistsValidatorTest.php 1 0 /src/repo/repo/tests/phpunit/maintenance/DumpRdfTest.php 1 0 ...b/tests/phpunit/Serialization/SerializationModifierTest.php 5 0 ...t/integration/includes/Usage/UsageTrackerContractTester.php 1 1 /src/repo/repo/includes/Api/RemoveReferences.php 2 0 ...epo/lib/tests/phpunit/Serialization/CallbackFactoryTest.php 1 0 ...epo/repo/tests/phpunit/includes/Content/ItemContentTest.php 3 0 ...phpunit/includes/Validators/ValidatorErrorLocalizerTest.php 1 0 ...lib/tests/phpunit/Store/CachingEntityRevisionLookupTest.php 1 0 ...phpunit/includes/Store/CachingPrefetchingTermLookupTest.php 1 0 ...nit/includes/Validators/CommonsMediaExistsValidatorTest.php 1 0 .../includes/LinkedData/EntityDataSerializationServiceTest.php 2 0 ...repo/repo/tests/phpunit/includes/Api/CreateRedirectTest.php 1 0 ...s/phpunit/Store/TypeDispatchingEntityRevisionLookupTest.php 1 0 /src/repo/repo/tests/phpunit/maintenance/DumpJsonTest.php 1 0 /src/repo/repo/tests/phpunit/includes/Rdf/RdfBuilderTest.php 1 0 ...tests/phpunit/includes/Content/EntityContentFactoryTest.php 2 0 ...it/integration/includes/Usage/UsageLookupContractTester.php 1 1 .../includes/Validators/FingerprintUniquenessValidatorTest.php 2 0 ...ient/includes/DataAccess/DataAccessSnakFormatterFactory.php 1 1 /src/repo/repo/includes/Api/SetClaim.php 2 0 ...it/includes/Content/ContentHandlerEntityTitleLookupTest.php 2 0 ...s/phpunit/Formatters/WikibaseValueFormatterBuildersTest.php 5 0 ...nit/includes/Store/Sql/WikiPageEntityRedirectLookupTest.php 2 0 ...ts/phpunit/includes/LinkedData/EntityDataUriManagerTest.php 1 0 ...nit/Interactors/MatchingTermsLookupSearchInteractorTest.php 4 0 ...repo/tests/phpunit/includes/Specials/SpecialNewItemTest.php 2 0 /src/repo/repo/includes/Dumpers/DumpGenerator.php 1 0 ...o/lib/tests/phpunit/Store/RevisionBasedEntityLookupTest.php 1 0 .../phpunit/integration/includes/Changes/ChangeHandlerTest.php 4 0 ...t/includes/Specials/HTMLForm/HTMLItemReferenceFieldTest.php 1 1 /src/repo/repo/includes/Api/LinkTitles.php 2 0 ...phpunit/includes/Specials/HTMLForm/HTMLAliasesFieldTest.php 1 0 ...nit/integration/includes/Usage/Sql/EntityUsageTableTest.php 1 0 /src/repo/client/WikibaseClient.entitytypes.php 2 0 /src/repo/repo/includes/Api/SetClaimValue.php 2 0 .../tests/phpunit/includes/Specials/SpecialItemByTitleTest.php 2 0 ...nit/Formatters/BinaryOptionDispatchingSnakFormatterTest.php 1 0 /src/repo/client/WikibaseClient.datatypes.php 15 0 ...hpunit/includes/LinkedData/EntityDataRequestHandlerTest.php 1 0 ...nit/includes/Store/Sql/WikiPageEntityMetaDataLookupTest.php 1 2 /src/repo/repo/includes/Api/GetClaims.php 2 0 ...po/repo/tests/phpunit/includes/Api/RemoveQualifiersTest.php 2 0 /src/repo/client/config/WikibaseClient.default.php 14 0 ...sts/phpunit/includes/Specials/SpecialGoToLinkedPageTest.php 4 0 ...odification/DispatchChangeVisibilityNotificationJobTest.php 2 0 ...it/integration/includes/Changes/AffectedPagesFinderTest.php 1 0 ...o/tests/phpunit/includes/Store/Sql/SqlEntityIdPagerTest.php 1 0 .../phpunit/includes/Store/Sql/SqlEntityIdPagerFactoryTest.php 1 0 /src/repo/repo/includes/Api/MergeItems.php 1 0 ...hpunit/integration/includes/Changes/WikiPageUpdaterTest.php 1 0 .../includes/ParserOutput/DispatchingEntityViewFactoryTest.php 1 0 ...hpunit/includes/Store/Sql/SqlSiteLinkConflictLookupTest.php 1 0 ...o/tests/phpunit/includes/Specials/SpecialMergeItemsTest.php 3 0 ...cludes/ParserOutput/EntityParserOutputGeneratorTestBase.php 3 4 ...t/includes/ParserOutput/ParserOutputJsConfigBuilderTest.php 1 0 /src/repo/repo/includes/Api/RemoveQualifiers.php 2 0 .../repo/repo/tests/phpunit/includes/Api/ResultBuilderTest.php 3 0 ...o/tests/phpunit/includes/Api/EntityTermSearchHelperTest.php 1 0 /src/repo/repo/includes/Api/SetAliases.php 2 0 ...udes/Api/EditEntityClearChangeOpValidateIntegrationTest.php 2 0 /src/repo/repo/includes/Api/SetReference.php 2 0 ...ests/phpunit/includes/Store/Sql/WikiPageEntityStoreTest.php 5 0 ...ts/phpunit/includes/Api/StatementModificationHelperTest.php 4 0 /src/repo/repo/includes/Api/ParseValue.php 1 0 /src/repo/repo/includes/Api/CreateClaim.php 2 0 /src/repo/repo/WikibaseRepo.ServiceWiring.php 172 1 /src/repo/repo/rest-api/src/WbRestApi.ServiceWiring.php 109 22 -------------------------------------------------------------------------------- A TOTAL OF 1139 ERRORS WERE FIXED IN 367 FILES -------------------------------------------------------------------------------- Time: 47.39 secs; Memory: 8MB --- end --- $ vendor/bin/phpcs --report=json --- stdout --- {"totals":{"errors":492,"warnings":50,"fixable":0},"files":{"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PropertyStatementIdRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedPropertyDescriptionEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/ItemStatementIdRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/LabelLanguageCodeRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedPatchRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemLabelsRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/SpecialPageLinker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveItemLabel\/DeserializedRemoveItemLabelRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/JsonPatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedEditMetadataRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveItemLabel\/RemoveItemLabelValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabel\/DeserializedGetPropertyLabelRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemDescriptionsRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabels\/GetPropertyLabelsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabel\/GetPropertyLabelRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/ItemDescriptionEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedItemFieldsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/ValidationError.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveStatement\/RemoveStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/AliasesInLanguageEditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemDescriptions\/PatchItemDescriptionsResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabels\/GetPropertyLabels.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpAliasesResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/PlaceholderExpander\/TermboxRequestInspector.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/StatementIdValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PropertyIdFilterValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetLatestItemRevisionMetadata.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetSitelink\/SetSitelinkValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetSitelink\/DeserializedSetSitelinkRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/EditMetadata.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/StatementSectionsView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabels\/GetPropertyLabelsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpFingerprintResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/DispatchingEntityViewFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/Helpers\/OutputPageEditability.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":39,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":43,"column":13}]},"\/src\/repo\/repo\/includes\/Content\/DataUpdateAdapter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/StatementRankSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/DefaultMetaTagsCreator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/PatchItemEditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveItemLabel\/RemoveItemLabel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/maintenance\/MockAddUnits.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":44,"column":15}]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOp.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/CreatePropertyEditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabels\/GetPropertyLabelsResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/SnakValueDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/BabelUserLanguageLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/StatementReadModelConverter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Localizer\/ExceptionLocalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyDescriptions\/PatchPropertyDescriptions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PropertyAliasesInLanguageEditRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedSitelinkEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveStatement\/RemoveStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetSitelink\/SetSitelink.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyDescriptions\/PatchPropertyDescriptionsResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemDescriptions\/PatchItemDescriptions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyDescriptionsRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/StatementIdRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/FingerprintableEntityMetaTagsCreator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveStatement\/DeserializedRemoveStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialEntityData.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/PropertyTermStoreWriterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/SitelinkRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/OutputPageJsConfigBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/FingerprintChangeOpFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetItemLabelsRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/DummyChangeOpResultTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemStatement\/PatchItemStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/StatementsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/StatementGroupListViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Localizer\/DispatchingExceptionLocalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveItemLabel\/RemoveItemLabelRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetItemDescription\/SetItemDescriptionValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetItemDescription\/DeserializedSetItemDescriptionRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/DifferencesSnakVisualizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/EntityDiffVisualizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/Deserialization\/LabelsChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/PropertyTermsCollisionDetectorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetSitelink\/SetSitelinkResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/PartiallyValidatedLabels.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/ReplaceStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialItemsWithoutSitelinks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemLabelWithFallbackRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/WikibaseHandleChangesHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ChangeOpDeserializerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabel\/DeserializedGetItemLabelRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/EditSectionGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyDescriptions\/PatchPropertyDescriptionsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/config\/Wikibase.example.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/EditMetadataRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/RemovePropertyStatement\/RemovePropertyStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Localizer\/ChangeOpDeserializationExceptionLocalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/RecentChangeSaveHookHandler.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":107,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyPartsRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemStatement\/PatchItemStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/Deserialization\/PropertyChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ApiHelperFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/ExternalLinksDataUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveStatement\/RemoveStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/config\/WikibaseClient.example.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/ItemIdRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyLabelRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemStatement\/DeserializedPatchItemStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/MediaWikiLocalizedTextProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyAliasesInLanguage\/DeserializedGetPropertyAliasesInLanguageRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/SettingsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabel\/GetItemLabelResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetPropertyDescription\/SetPropertyDescriptionResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/TermLookupEntityTermsRetrieverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/ItemFieldsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/Helpers\/OutputPageEntityViewCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/config\/WikibaseClient.ci.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/Module\/TemplateModule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyAliasesInLanguageRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ValueTypeLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ContentModelMappingsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemStatement\/PatchItemStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetItemDescription\/SetItemDescriptionRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetSitelink\/SetSitelinkRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Localizer\/ParseExceptionLocalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/TermFallbackCacheFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/FullStatementRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/PrefetchingTermLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/EntityLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/AllTypesEntityDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/maintenance\/RebuildEntityQuantityUnitTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyRevisionMetadataRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialPageCopyrightView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/ToolbarEditSectionGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Interactors\/EntityRedirectCreationStatus.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/SiteIdRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/ClientSiteLinkTitleLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Localizer\/MessageExceptionLocalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/CreateItem\/DeserializedCreateItemRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpReferenceRemoveTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/maintenance\/updateSubscriptions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/ShortDescHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/AliasTermBuffer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/DeleteDispatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/ClearableEntity.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/Deserializers\/LegacySnakListDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/Scribunto\/WikibaseLanguageDependentLuaBindings.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Content\/PropertyHandler.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":107,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":141,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":175,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/StatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/GeoDataDataUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetPropertyAliasesRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityChangeLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyStatement\/PatchPropertyStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyStatement\/PatchPropertyStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/Exceptions\/EditPrevented.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyAliasesInLanguage\/GetPropertyAliasesInLanguage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/ReferenceListSerializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":58,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/ItemDescriptionsContentsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PropertyIdValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/StatementGuidParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabel\/GetItemLabel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabel\/GetItemLabelValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/SnaksFinder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/Exceptions\/ResourceTooLargeException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityTitleTextLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TermsDomainDbFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Localizer\/GenericExceptionLocalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialWikibaseRepoPageTestBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetItemDescription\/SetItemDescriptionResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetPropertyDescription\/SetPropertyDescriptionRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/DefaultSnakFormatterBuildersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/Deserialization\/TermChangeOpSerializationValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/PropertyStubRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/Deserializers\/StatementDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/CreateItem\/CreateItem.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/ValueSnakRdfBuilderFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/LegacyAdapterPropertyLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyStatement\/DeserializedPatchPropertyStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/SetLabelTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/SnaksFinderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/bootstrap.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TypeIdsAcquirerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/TextInjector.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyAliasesInLanguage\/GetPropertyAliasesInLanguageRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/RepoDomainDbFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/TermLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetPropertyDescription\/SetPropertyDescriptionValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabel\/GetItemLabelRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TokenCheckInteractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Statement\/V4GuidGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/LangLinkSiteGroupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/DispatchingEntityIdParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/PropertyId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/ItemLabelValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyAliasesInLanguage\/GetPropertyAliasesInLanguageValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/BasicDiffView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/Exceptions\/PatchTestConditionFailedException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/EntityParserOutputUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyStatement\/PatchPropertyStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/StringNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ReplaceItemStatement\/ReplaceItemStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/TruthyStatementRdfBuilderFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/CreateItem\/CreateItemResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/DiffView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/Exceptions\/RateLimitReached.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/maintenance\/PopulateUnexpectedUnconnectedPagePageProp.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PropertyDescriptionEditRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/EntityDataPurger.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/Deserialization\/FingerprintChangeOpDeserializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":43,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/Helpers\/UserPreferredContentLanguagesLookupTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$wikiDefaultLanguage\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":95,"column":5}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/ItemDescriptionValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetItemAliasesInLanguage\/GetItemAliasesInLanguageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyAliasesInLanguage\/GetPropertyAliasesInLanguageResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/LinkTargetEntityIdLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetItemDescription\/SetItemDescription.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/PatchPropertyLabelsRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/Deserializers\/LegacyEntityIdDeserializer.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":44,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":49,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":57,"column":13}]},"\/src\/repo\/client\/includes\/DataAccess\/ClientSiteLinkTitleLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/Exceptions\/PatchPathException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ItemTermStoreWriterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/DescriptionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItem\/GetItemRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/LanguageCodeRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PropertyFieldsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/MessageException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/RedirectResolvingEntityLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/Exceptions\/TempAccountCreationLimitReached.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityLinkFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/Exceptions\/SitelinkTargetNotFound.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/SubEntityTypesMapper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ReplaceItemStatement\/ReplaceItemStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabels\/GetItemLabelsResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/DatabaseEntitySource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/maintenance\/UpdateUnitsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/PropertyTermStoreWriterAdapter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ConvertArrayObjectsToArray.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/CreateItem\/CreateItemRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/TitleLookupBasedEntityUrlLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/PropertyRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/BeforePageDisplayHandler.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":83,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/PropertyLookupException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemWriteModelRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/SiteLinksForDisplayLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/Deserialization\/SiteLinkBadgeChangeOpSerializationValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TermInLangIdsResolverFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Statement\/StatementGuidValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetPropertyDescription\/SetPropertyDescription.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/Deserializers\/EntityDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabels\/DeserializedGetItemLabelsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Localizer\/MessageParameterFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItem\/GetItemResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AssertStatementSubjectExists.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/CreateItem\/CreateItemValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/TermFallbackCacheTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/ItemIdSet.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/ImageLinksDataUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/QuerySearchEntitiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Content\/EntityContentFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetPropertyDescription\/DeserializedSetPropertyDescriptionRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/maintenance\/populateEntityUsage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemLabelRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Snak\/PropertyNoValueSnakTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ReplaceItemStatement\/ReplaceItemStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/FallbackLabelDescriptionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescription\/GetPropertyDescriptionValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityDataSerializationServiceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/LabelsSyntaxValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/StorageEntitySerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/EntityParserOutputGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/ReferenceFormatterFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/ArticleRevisionVisibilitySetHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityRdfBuilderFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AssertItemExists.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Localizer\/ChangeOpApplyExceptionLocalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/SerializerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/TermboxViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/StatementRemover.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ReplaceItemStatement\/DeserializedReplaceItemStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/InProcessCachingDataTypeLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/TermStoreWriterFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/MetaContentLanguagesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemLabels\/PatchItemLabelsResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/EntityDiffVisualizerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/FormatterLabelDescriptionLookupFactory.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":77,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":93,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/ItemAliasesInLanguageEditRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/RedirectResolvingLatestRevisionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabels\/GetItemLabels.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Modules\/SitesModuleBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyLabelWithFallbackRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItem\/GetItem.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/SimpleEntityTermsView.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":102,"column":15}]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/src\/EntityChange.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescription\/GetPropertyDescriptionResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/FullStatementRdfBuilderFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/DataAccessSnakFormatterFactoryTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$expectedFormat\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":68,"column":5}]},"\/src\/repo\/view\/tests\/phpunit\/ViewFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/EntityIdTitleFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/SiteLinkPageNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabels\/GetItemLabelsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabels\/GetItemLabelsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/MapSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/SnakFormatTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/maintenance\/RemoveTermsInLanguageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemDescriptionWithFallbackRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ChangeHolderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/CopyrightMessageBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityIdComposerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/Utils.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/LanguageNameLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/SitelinkValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/ItemLabelEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/CleanTermsIfUnusedJob.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":56,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItem\/GetItemValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItem\/DeserializedGetItemRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/ByTypeDispatchingEntityRevisionLookup.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":43,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":57,"column":12}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/ReferencedEntityIdLookupException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/RawMessageParameter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/MonolingualWikitextFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/EntityUpdaterItemUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EnabledEntityTypesForSearchTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/ValueSnakRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/DataAccessServices.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/PrefetchingEntityStubRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/EntitySlotDiffRenderer.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":29,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":43,"column":12}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/DefaultValueFormatterBuildersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/LocalizedTextProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/CreateProperty\/CreateProperty.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Localizer\/ChangeOpValidationExceptionLocalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemStatementsRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/PropertyLabelValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/PatchItemStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Statement\/StatementGuidParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/ItemId.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":29,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemovePropertyDescription\/RemovePropertyDescriptionRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/Deserializers\/LegacyFingerprintDeserializer.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":48,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":58,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":68,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":80,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescriptions\/GetPropertyDescriptionsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescription\/GetPropertyDescription.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemLabels\/PatchItemLabelsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/ItemIdRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/AliasLanguageCodeRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/PartiallyValidatedDescriptions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemCreator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/RevisionBasedEntityLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetItemAliasesRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityRevisionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/EntityDiffOldTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/InternalFormatDeserializerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/Deserialization\/ClaimsChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemovePropertyDescription\/DeserializedRemovePropertyDescriptionRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/TermInLangIdsAcquirer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityTitleStoreLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/WikibaseContentLanguagesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescription\/DeserializedGetPropertyDescriptionRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PropertyDescriptionEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EntityIdLabelFormatterFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedPropertyAliasesInLanguageEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/FulltextSearchTypesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyAliasesRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Statement\/Grouper\/NullStatementGrouperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/DisabledEntityTypesEntityLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/SnakSerializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":70,"column":13}]},"\/src\/repo\/client\/includes\/Serializer\/ClientEntitySerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntitySourceLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/EntityIdSearchHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemovePropertyDescription\/RemovePropertyDescriptionValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/NormalizedTermStorageMappingTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/SkinAfterBottomScriptsHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/PropertyDescriptionValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItem\/PatchItemRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/ItemSerializationRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/WikibaseClient.i18n.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/ExampleSettings.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/EntityDifferTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/AnonymousEditWarningBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/TermboxView.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":57,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":67,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemRevisionMetadataRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialEntityDataTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/StatementTransclusionInteractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/SnakValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/SourceAndTypeDispatchingRedirectChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/PlaceholderEmittingEntityTermsViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedStatementSerializationRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiringTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescriptions\/GetPropertyDescriptions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescriptions\/DeserializedGetPropertyDescriptionsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescription\/GetPropertyDescriptionRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/SitelinkTargetTitleResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Modules\/DataTypesModule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Interactors\/ItemMergeInteractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/PropertyViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Serializer\/ClientStatementListSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/Deserialization\/ChangeOpDeserializationException.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":34,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":38,"column":12}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/SerializableEntityId.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":28,"column":20}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/ReferencedEntityIdLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/HookRunnerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItem\/PatchItemResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/MessageInLanguageProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyCreator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/TypedSnakSerializer.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":41,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":50,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/LocalEntityNamespaceLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/RemovePropertyLabel\/RemovePropertyLabelTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/EntityRevisionLookupTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/EditMetadataValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescriptions\/GetPropertyDescriptionsResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/Scribunto\/SnakSerializationRendererTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/MultiPropertyTermStoreWriterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyStatementsRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/ViewContentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialNewProperty.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/SourceAndTypeDispatchingExistenceChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/BaseDataModelSerializerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/JsonPatchValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ExternalFormatStatementDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/LegacyIdInterpreter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/RepoNoBadUsageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/FindUnusedTermTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/LegacyAdapterItemLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/ExternalLinksDataUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/Reference\/WellKnownReferenceProperties.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/FullStatementRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PatchRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/DescriptionLanguageCodeValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemAliases\/PatchItemAliasesRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/TypeIdsLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/src\/EntityChangeFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/RdfVocabularyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescriptions\/GetPropertyDescriptionsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemovePropertyDescription\/RemovePropertyDescription.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/CompositeValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddItemStatement\/DeserializedAddItemStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PermissionChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/DataTypeFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/CachingPropertyOrderProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/TextInjectorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Serializer\/ClientSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PropertyAliasesInLanguageEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedPropertyIdFilterRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/FallbackLabelDescriptionLookupFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/ShowSearchHitHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemAliases\/DeserializedPatchItemAliasesRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/PageHistoryPagerHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/DiffOpValueFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetItemLabel\/SetItemLabelValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/EntityRedirectLookupException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/StatementRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/ToolbarEditSectionGenerator.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":56,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":105,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":148,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":156,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/StatementWriteModelRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Snak\/PropertyValueSnakTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/StatementListSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Modules\/CurrentSiteModule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/TermInLangIdsResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/KartographerEmbeddingHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/EntitySourceDefinitionsConfigParser.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":99,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":129,"column":20}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityViewFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemLabels\/PatchedItemLabelsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddItemStatement\/AddItemStatementResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/StatementSubjectRevisionMetaDataRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/Deserializers\/LegacyItemDeserializer.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":129,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":135,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":146,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":158,"column":13}]},"\/src\/repo\/lib\/includes\/Store\/HttpUrlPropertyOrderProvider.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":42,"column":15}]},"\/src\/repo\/lib\/includes\/Store\/EntityArticleIdLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/DispatchingSnakFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemLabels\/PatchItemLabelsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemLabels\/DeserializedPatchItemLabelsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/NotMulValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityNamespaceLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/SitelinksRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Reference.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/BadRevisionException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/FieldPropertyInfoProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialWikibasePage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/Reference\/ByCertainPropertyIdGrouper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityPermissionCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/UserInputException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItem\/PatchItem.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/StatementUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityDiffVisualizerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/TermListSerializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":40,"column":13}]},"\/src\/repo\/repo\/includes\/ChangeOp\/Deserialization\/ChangeOpDeserializerFactory.php":{"errors":6,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":123,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":132,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":140,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":148,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":156,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":163,"column":12}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/FallbackLookupFactoryTermsRetrieverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Statement\/Grouper\/FilteringStatementGrouperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityTitleLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityStubRdfBuilderFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItem\/PatchItemValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItem\/DeserializedPatchItemRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemAliasesInLanguageRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/Deserializers\/LegacyEntityDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetItemLabel\/SetItemLabelRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TermsCollisionDetectorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddItemStatement\/AddItemStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/SitelinksValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/SetItemLabelRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/EntityDiffTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/SidebarBeforeOutputHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemAliases\/PatchedItemAliasesValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Statement\/Grouper\/ByPropertyIdStatementGrouperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/RepoLinker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetItemLabelWithFallbackRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/StatsdRecordingSimpleCacheTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/InMemoryEntityLookup.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":107,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":111,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/LanguageNameLookupFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/WikibaseClient.i18n.magic.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/ItemSourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/PropertySpecificComponentsRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddItemStatement\/AddItemStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/Deserialization\/ItemChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/MobileSiteTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetItemLabel\/SetItemLabelResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/SnakFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/ParameterizedDescriptionTrait.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":45,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/FallbackLabelDescriptionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemAliases\/PatchItemAliasesValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ReferenceNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchPropertyDescriptions\/PatchedPropertyDescriptionsValidatorTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$expectedError\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":57,"column":5}]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/Reference\/ByCertainPropertyIdGrouperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/GlobeCoordinateKartographerDataUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/EntityContentDiffView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/LibHooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/OutputPageEntityIdReader.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemAliases\/PatchItemAliasesResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/MonolingualTextLanguagesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Api\/ApiQueryWithContinueTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/SimpleCacheWithBagOStuff.php":{"errors":6,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":227,"column":13},{"message":"Doc comment for parameter \"$key\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":233,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":317,"column":13},{"message":"Doc comment for parameter \"$decodedData\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":412,"column":5},{"message":"Doc comment for parameter \"$default\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":412,"column":5},{"message":"Doc comment for parameter \"$loggingContext\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":412,"column":5}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/PropertyDataTypeLookupException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/StatementEditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/SiteLink.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/PropertyIdProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityRedirectChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/DispatchingEntityDiffVisualizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpRemoveSiteLinkTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/SummaryFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":228,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemLabels\/PatchItemLabels.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/EntityTermsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/src\/ChangeRow.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Statement\/GuidGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/UpdateRepoHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/includes\/Hooks\/EntityDataPurgerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/Deserialization\/DescriptionsChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/DataValue\/UnmappedEntityIdValue.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":19}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/EntityAccessLimitException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/DeleteDispatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/Deserializers\/LegacyPropertyDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/PropertyHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Snak\/PropertyNoValueSnak.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/AliasesValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/ValueDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/Reference\/DataBridgeReferenceFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/ItemSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/ItemAndPropertySourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/TermsCollisionDetectorFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/SourceAndTypeDispatchingUrlLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/EntitySourceDefinitions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/ItemLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/AliasesEditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddItemStatement\/AddItemStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/CachingCommonsMediaFileNameLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/Reference\/ReferenceFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/MatchingTermsLookupFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/SiteLinksViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/EntityParserOutputGeneratorFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":265,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/src\/DiffChange.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityTypeDefinitionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityTermStoreWriter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/PropertyLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/SitelinksEditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveItemDescription\/DeserializedRemoveItemDescriptionRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/TermInLangIdsResolverFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/CompositeSiteLinkConflictLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Interactors\/EntityRedirectCreationInteractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityIdParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/LocalizedTextProviderFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetItemLabel\/SetItemLabel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/includes\/ItemDisambiguationFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetItemLabel\/DeserializedSetItemLabelRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/PropertyLabelsContentsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/PropertyOrderProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/AliasLanguageCodeValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveItemDescription\/RemoveItemDescriptionValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityIdLabelFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/SummaryParsingPrefetchHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/ParserOutputJsConfigBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/CreateProperty\/CreatePropertyValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/StringNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/EntityLoadingHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/PropertyPartsSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/Template\/TemplateFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/GlobeCoordinateInlineWikitextKartographerFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":50,"column":13}]},"\/src\/repo\/repo\/includes\/Interactors\/ItemMergeException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/PermissionsTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/EntityIdComposerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/EntitySavingHelper.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":104,"column":12}]},"\/src\/repo\/repo\/includes\/Specials\/SpecialSetLabel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/SubEntityTypesMapperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/PropertyStubRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/ClaimDifference.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/TypeDispatchingEntityTitleStoreLookup.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":64,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/InMemoryDataTypeLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/BuilderBasedDataTypeValidatorFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/ClientHooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemAliases\/PatchItemAliases.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchProperty\/PatchedPropertyValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/CreateProperty\/CreatePropertyResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/TypeDispatchingEntityStore.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$tags\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":93,"column":5}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/includes\/Specials\/SpecialListPropertiesDispatchingFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/PropertySerializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":76,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/PropertyInfoLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Interactors\/ItemRedirectCreationInteractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/EntityUpdaterIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/EntityIdPlainLinkFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/TermValidatorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/SiteLinkConflictLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityPatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/ItemSerializationRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/SummaryParsingPrefetchHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/src\/ItemChange.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":52,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/bootstrap.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/Reference\/WellKnownReferencePropertiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialSetSiteLinkTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/SitelinkEditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveItemDescription\/RemoveItemDescriptionRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/AllTypesEntitySerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/Template\/TemplateTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/ViewFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/TermIndexEntry.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":156,"column":20}]},"\/src\/repo\/view\/src\/CacheableEntityTermsView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/IdGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/EntityTypesConfigFeddyPropsAugmenterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/PatchSitelinksRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/PropertyValuePairSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/DataValue\/ValuesFinderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Api\/ApiFormatReference.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":46,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":94,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":117,"column":15}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/RepoLinkerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Snak\/SnakObject.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetLatestStatementSubjectRevisionMetadata.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/PatchItemDescriptionsRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/CreateProperty\/DeserializedCreatePropertyRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/Deserializers\/LegacySiteLinkListDeserializer.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":31,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":42,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":48,"column":13}]},"\/src\/repo\/data-access\/src\/MultipleEntitySourceServices.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":53,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":68,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":83,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":91,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":102,"column":12}]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/SerializerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/UnresolvedEntityRedirectException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/EditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/TermListPatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/DatabaseInnerTermStoreCleaner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/EntityStubRdfBuilderFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/ItemsWithoutSitelinksFinder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/MessageInLanguageProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/DataAccess\/Scribunto\/WikibaseLibraryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/DataValueDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/FieldsFilterValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/SiteLinkTargetProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/SourceDispatchingPropertyDataTypeLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/LabelPrefetchHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/RedirectRevision.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/LabelDescriptionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/UserLanguageLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Interactors\/ItemMergeStatus.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/SetPropertyLabel\/SetPropertyLabelRequestTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemStatements\/GetItemStatements.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/ItemValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/PrefetchingPropertyTermLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/ReferenceSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedStatementIdRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/NullTermsCollisionDetector.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/SnakFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Snak\/TypedSnak.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Normalization\/CommonsMediaValueNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/CreateProperty\/CreatePropertyRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/ItemLookupException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/UnknownFlavorException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/Template\/TemplateRegistryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/PropertyDifferTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/NumberLocalizerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/TypeIdsAcquirer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/SubscriptionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemStatements\/GetItemStatementsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/NullPrefetchingTermLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/OtherProjectsSidebarGeneratorTest.php":{"errors":2,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$expectedMethod\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":144,"column":5},{"message":"Doc comment for parameter \"$expectedArgument\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":144,"column":5}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/Scribunto\/CachingFallbackBasedTermLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Interactors\/TokenCheckException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/SourceAndTypeDispatchingArticleIdLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/CacheRetrievingEntityRevisionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetProperty\/GetPropertyValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/Deserialization\/SiteLinksChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/LabelEditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/EntityRedirectLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/PropertyInfoDataTypeLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/EntityStubRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/SiteIdValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/FullEntityParserOutputGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityChangeOpProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/OtherProjectsSitesGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/includes\/SiteLinkPageNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/SitelinksSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/SimpleCacheWithBagOStuffTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/RangeTraversableTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveItemDescription\/RemoveItemDescription.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/SnakUrlExpander.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/DeserializerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/src\/RepoRevisionIdentifier.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/LabelLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemStatements\/GetItemStatementsResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/LanguageCodeValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/BasicEntityDiffVisualizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/TermValidatorFactoryItemLabelValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/DataValue\/UnmappedEntityIdValueTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/bootstrap.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetProperty\/GetPropertyResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/RevisionBasedEntityRedirectTargetLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/DataAccess\/Scribunto\/WikibaseStatsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Interactors\/TokenCheckInteractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/DataValueFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/RdfBuilderFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/ParserHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/EntityTypeAwareDiffOpFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityArticleIdLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemStatements\/DeserializedGetItemStatementsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/SitelinkEditRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemStatements\/GetItemStatementsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/AliasesInLanguageDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Snak\/SnakListTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/CachingPropertyOrderProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/DescriptionsEditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/EntityContentDataCodecTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/EntityRedirectTargetLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/ItemOrderProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/DifferenceContentLanguages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/DispatchingValueFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/LocalEntitySourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/CachedDatabasePropertyLabelResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Interactors\/RedirectCreationException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/ByTypeDispatchingEntityPrefetcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/ExternalUserNamesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/CreateItemEditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescriptionWithFallback\/GetItemDescriptionWithFallback.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/LookupConstants.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/DummyLocalizedTextProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/DataTypeValidatorFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/WbRestApi.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/MappedRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/ItemAliasesInLanguageEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Store.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/SuggestEntitiesRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntitySourceDefinitionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/MediaWiki\/EntitySourceDocumentUrlProvider.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":20,"column":12}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/Scribunto\/LuaFunctionCallTrackerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/ModifyTermTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/DivergingEntityIdException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetProperty\/GetProperty.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Search\/Fields\/WikibaseNumericField.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Modules\/CurrentSiteModuleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpQualifierTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PatchRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedLanguageCodeRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/StatementGroupListView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/PHPUnitTestsHaveGroupWikibaseTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/WikibaseServices.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescriptionWithFallback\/GetItemDescriptionWithFallbackRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Snak\/PropertyValueSnak.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Search\/Fields\/NoFieldDefinitions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/ItemRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/DescriptionsSyntaxValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityTitleTextLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/DataAccess\/Scribunto\/WikibaseLibraryInProcessEntityCacheTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/EntityIdSiteLinkFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchPropertyDescriptions\/PatchPropertyDescriptionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/MessageParameterFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/HtmlTermRenderer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/ValueValidatorLanguageCodeValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescriptionWithFallback\/GetItemDescriptionWithFallbackValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/MobileSiteTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Search\/Fields\/WikibaseIndexField.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/PatchPropertyEditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Api\/ApiPropsEntityUsage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityDataFormatProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/Deserialization\/AliasesChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/WikibaseContentLanguagesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/PropertyIdValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetProperty\/GetPropertyRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/LanguageLabelDescriptionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ItemDisambiguationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/Serializer\/ForbiddenSerializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/ReferencedEntitiesDataUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/EntityRevisionCacheTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PropertyStatementIdRequestValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Search\/Fields\/FieldDefinitions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialItemByTitle.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/EntityPermissionChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Snak\/Snak.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/PropertyDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityStoreWatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetProperty\/DeserializedGetPropertyRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/RemoveItemDescriptionRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/FingerprintableEntityMetaTagsCreatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/PropertyDataTypeLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/UnknownForeignRepositoryException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/TermValidatorFactoryPropertyDescriptionValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/NullChangeOp.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyStatement\/DeserializedGetPropertyStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetPropertyDataTypesHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntitySearchHelperCallbacksTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiringTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Search\/Fields\/FieldDefinitionsFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescriptionWithFallback\/GetItemDescriptionWithFallbackResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Snak\/SnakTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpResultTraversalTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/NoLangLinkHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/RawMessageParameterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TermFallbackCacheFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyLabels\/PatchedPropertyLabelsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/unit\/Deserializers\/LegacySiteLinkListDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/UserLanguageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/ItemLabelsContentsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/EntityLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Search\/ExtendedResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/RdfBuilderTestData.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":343,"column":12}]},"\/src\/repo\/repo\/includes\/Store\/RateLimitingIdGenerator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":32,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/StatementDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Sites\/SiteMatrixParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/EntityIdParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntitySourceAndTypeDefinitionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescriptionWithFallback\/DeserializedGetItemDescriptionWithFallbackRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/AliasesInLanguageValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyStatement\/GetPropertyStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/DescriptionEditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ItemSearchTextGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/ItemStatementIdRequestValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedItemDescriptionEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/SiteLinkBadgeChangeOpSerializationValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/RedirectRevisionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetItemDescriptionWithFallbackRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/AliasesSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/CachingSiteLinkLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyLabels\/PatchPropertyLabelsResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/LabelLanguageCodeValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ExceptionLocalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/RepoItemLinkGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/PropertyPatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/RestrictedEntityLookupFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Api\/ApiClientInfo.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedSiteIdRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/LangLinkHandlerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpRemoveStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/SiteLinkStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/RecentChangeSaveHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/src\/EntityDiffChangedAspectsFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityTermLookupBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyStatement\/GetPropertyStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/MockEntityRevisionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyStatement\/GetPropertyStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/LabelsEditSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/SnakHtmlGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Validation\/PropertyDescriptionsContentsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/SetPropertyLabel\/SetPropertyLabelTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/LinkTargetEntityIdLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/LabelsDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/src\/ChangeStore.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":16,"column":12}]},"\/src\/repo\/lib\/tests\/phpunit\/Modules\/DataTypesModuleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/NullEntityTermStoreWriter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/UseCaseException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Term\/PropertyTermStoreWriter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/SourceAndTypeDispatchingPrefetchingTermLookup.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":57,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":64,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":68,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":79,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/LanguageCodeRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/LanguageBoundChangeOpResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/UseCaseError.php":{"errors":0,"warnings":27,"messages":[{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":80,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":81,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":82,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":83,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":84,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":85,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":86,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":87,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":88,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":93,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":94,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":95,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":96,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":97,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":98,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":99,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":100,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":101,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":102,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":103,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":104,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":105,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":106,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":107,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":108,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":113,"column":9},{"message":"Found duplicate key \"self\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":114,"column":9}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/Exceptions\/EmptyLabelException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/LangLinkHandlerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/EntityChangeOpProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/src\/RepoRevisionIdentifierFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveSitelink\/RemoveSitelink.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/EntitySource.php":{"errors":7,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":15,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":17,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":19,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":27,"column":12}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Term\/ItemTermStoreWriter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/EditMetadataRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/DefaultSnakFormatterBuildersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyLabels\/PatchPropertyLabelsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/AliasGroupListDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/StatementSectionsViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/TruthyStatementRdfBuilderFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescriptionWithFallback\/DeserializedGetPropertyDescriptionWithFallbackRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Modules\/SettingsValueProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItem\/PatchedItemValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/UserProvidedEditMetadata.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EnabledEntityTypesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/StringNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/SetDescriptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchJson.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/EntityPatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedPropertyLabelEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PropertyLabelEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyLabels\/PatchPropertyLabelsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Term\/TermBuffer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/UseCaseRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Sites\/SitesBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/QuantityDetailsFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/build\/phpstan-bootstrap.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyLabels\/DeserializedPatchPropertyLabelsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/PropertyInfoLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/DatabaseTermStoreWriterBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/TypeIdsResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/Exceptions\/PropertyIdMismatchException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/Exceptions\/EmptySitelinkException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/unit\/Deserializers\/LegacyFingerprintDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Model\/User.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/src\/Change.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Term\/TermStoreException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Modules\/RepoAccessModuleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Term\/PropertyLabelResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescriptionWithFallback\/GetPropertyDescriptionWithFallbackRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescriptionWithFallback\/GetPropertyDescriptionWithFallbackValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ItemHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/LegacyFormatDetectorCallbackTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetSitelink\/GetSitelinkResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataValuesValueDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchProperty\/PatchPropertyRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/EntityFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/IO\/EntityIdReader.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/BagOStuffSiteLinkConflictLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/PrefetchingItemTermLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveSitelink\/RemoveSitelinkRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetStatement\/GetStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Notifications\/PageConnectionPresentationModel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetSitelink\/DeserializedGetSitelinkRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/StatementIdRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/LanguageFallbackLabelDescriptionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/SiteIdRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Interactors\/RedirectCreationInteractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/SnakFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/SearchEntities.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ChangeNotifierTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveSitelink\/DeserializedRemoveSitelinkRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/DataTypeFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/ClaimDifferenceVisualizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/PatchStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataValuesValueDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/Exceptions\/InvalidFieldException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/Exceptions\/SerializationException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/Exceptions\/EmptyDescriptionException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PropertyIdFilterRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DescriptionLanguageCodeRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/StatementSerializationRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/DataValueDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/LanguageFallbackLabelDescriptionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/TitleLookupBasedEntityArticleIdLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/TypedValueFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Entity\/PropertyDataTypeMatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveSitelink\/RemoveSitelinkValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/CachingEntityRevisionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/TermListDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetSitelink\/GetSitelinkRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/FingerprintableEntityTermStoreTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescriptionWithFallback\/GetPropertyDescriptionWithFallback.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetStatement\/GetStatementResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityDataUriManagerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/EntityArticleIdNullLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/unit\/Deserializers\/LegacyEntityDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Snak\/DerivedPropertyValueSnakTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/SingleEntitySourceServicesFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityTitleLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Api\/Description.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Entity\/NullEntityPrefetcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ItemRedirect.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/LanguageFallbackChainFactory.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":259,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":285,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/DataAccessSettingsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/SetPropertyDescription\/SetPropertyDescriptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataTypeFactoryValueTypeLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetStatement\/GetStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/TitleLookupBasedEntityRedirectChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Snak\/TypedSnakTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialGoToLinkedPage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/CacheInvalidArgumentException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/Exceptions\/MissingFieldException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchStatement\/PatchStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Entity\/EntityPrefetcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetSitelinks\/GetSitelinksTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetStatement\/DeserializedGetStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetStatement\/GetStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyDescriptionWithFallback\/GetPropertyDescriptionWithFallbackResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Snak\/SnakList.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/WikibaseContentLanguagesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/NoBadUsageTestBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpSiteLink.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/SiteLinkGlobalIdentifiersProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/SnakFormat.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetSitelink\/GetSitelink.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchStatement\/DeserializedPatchStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ItemTermsCollisionDetectorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Interactors\/TokenCheckInteractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyLabels\/PatchPropertyLabels.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Snak\/PropertySomeValueSnak.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/ItemView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/IO\/LineReader.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/TermValidatorFactoryItemLabelValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/InMemoryTypeIdsStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityRevisionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetSitelink\/GetSitelinkValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/Exceptions\/BadgeNotAllowed.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/Exceptions\/InvalidLabelException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/ReplaceItemStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/Reference\/DataBridgeReferenceFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ReplaceStatement\/ReplaceStatementResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemAliases\/GetItemAliasesValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemAliases\/DeserializedGetItemAliasesRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataTypeFactoryValueTypeLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/HtmlUrlFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Snak\/SnakRole.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/HtmlPageLinkRendererEndHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/EntityRevisionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ItemUrlParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemovePropertyStatement\/RemovePropertyStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchProperty\/PatchProperty.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/Exceptions\/InvalidDescriptionException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ReplaceStatement\/DeserializedReplaceStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/ItemRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/EntityTermSearchHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/UpdateRepo\/UpdateRepoOnMoveJobTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyAliases\/GetPropertyAliasesResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/ItemTermsRebuilder.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":90,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/StatementListDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchProperty\/PatchPropertyValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/DataAccess\/Scribunto\/WikibaseEntityLibraryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemAliases\/GetItemAliasesResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ChangeOpFactoryProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/ParserOutputDataUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ValueFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/tests\/EntityDiffChangedAspectsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemovePropertyStatement\/RemovePropertyStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemovePropertyStatement\/DeserializedRemovePropertyStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/ClaimDiffer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/Wikibase.i18n.namespaces.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/Exceptions\/InvalidFieldTypeException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/DifferenceEngineViewHeaderHookHandler.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":47,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemAliases\/GetItemAliasesRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/EntitySearchHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyAliases\/GetPropertyAliases.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/TitleLookupBasedEntityArticleIdLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Snak\/DerivedPropertyValueSnak.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchProperty\/PatchPropertyResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/LanguageDirectionalityLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpQualifierRemove.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/unit\/Deserializers\/LegacySnakDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/ByPropertyIdGrouper.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":36,"column":13}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/InfoActionHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetSitelinksRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ReplaceStatement\/ReplaceStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/UserLanguageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/FallbackLabelDescriptionLookupFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangedLanguagesCollector.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/TermValidatorFactoryAliasesInLanguageValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/Exceptions\/PropertyNotFoundException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityConstraintProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EditEntityFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemovePropertyStatement\/RemovePropertyStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyAliases\/GetPropertyAliasesRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyAliases\/DeserializedGetPropertyAliasesRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/StatementNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemAliases\/GetItemAliases.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/PageHistoryPagerHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/Exceptions\/InvalidSitelinkBadgeException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Statement\/Filter\/DataTypeStatementFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchStatement\/PatchStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/StringValueNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/FullStatementRdfBuilderFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/WikibaseClientHookRunnerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/DataTypeFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyAliases\/GetPropertyAliasesValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Snak\/PropertySomeValueSnakTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/InMemoryTermStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/PropertyInfoLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/DataValueFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Specials\/SpecialPagesWithBadges.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":90,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":144,"column":13}]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/CommonsInlineImageFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/DescriptionsSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/OutputFormatSnakFormatterFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/RdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyStatements\/GetPropertyStatementsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Statement\/StatementGuid.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/UnitConverterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Statement\/StatementFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescription\/GetItemDescriptionResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemAliasesInLanguage\/GetItemAliasesInLanguage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/HtmlPageLinkRendererEndHookHandlerTestBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/GeoDataDataUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Statement\/Filter\/NullStatementFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialNewEntity.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$isMobileView\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":40,"column":5}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/DataAccessSettingsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/SiteLinkLookupSitelinkValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/tests\/ItemChangeTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Dumpers\/RdfDumpGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpsResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/FieldDefinitionsFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchStatement\/PatchedStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/EntityIdValueFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/CommonsInlineImageFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":119,"column":13}]},"\/src\/repo\/repo\/includes\/ChangeOp\/NonLanguageBoundChangesCounter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Statement\/StatementListProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ReplaceStatement\/ReplaceStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemAliasesInLanguage\/GetItemAliasesInLanguageRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/DataTypeValidatorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Statement\/Filter\/PropertySetStatementFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/DispatchingFallbackLabelDescriptionLookup.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":48,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":52,"column":12}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/AddPropertyStatement\/AddPropertyStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/EntityUpdaterPropertyUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyStatements\/GetPropertyStatementsResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Modules\/SitesModuleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TypeIdsLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/unit\/Deserializers\/LegacyEntityIdDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/Formatters\/EntityLinkFormatterFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemAliasesInLanguage\/DeserializedGetItemAliasesInLanguageRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ReplaceStatement\/ReplaceStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityIdLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/InterWikiLinkHtmlFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/DataTypeDefinitionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ValueSnakRdfBuilderFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchStatement\/PatchStatementResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyStatements\/DeserializedGetPropertyStatementsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyStatements\/GetPropertyStatementsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/RemovePropertyDescription\/RemovePropertyDescriptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpDescriptionResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/StatementSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemAliasesInLanguage\/GetItemAliasesInLanguageValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/EntityRdfBuilderFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemStatement\/GetItemStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescription\/GetItemDescription.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Statement\/V4GuidGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityContentDataCodec.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/searchEntities.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EditEntity\/MediaWikiEditEntity.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":510,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/StatementSubjectRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/unit\/Deserializers\/StatementDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/StatementListPatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TypeIdsResolverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/DataTypeDefinitions.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":151,"column":12}]},"\/src\/repo\/repo\/includes\/Specials\/SpecialEntityPage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemStatement\/DeserializedGetItemStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/DataTypeDefinitionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/TermsListView.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":189,"column":13}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/SitelinksReadModelConverterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/SetQualifierTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemAliasesInLanguage\/GetItemAliasesInLanguageResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/DataAccess\/Scribunto\/WikibaseLibraryTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/WikiPageEntityStorePermissionChecker.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":174,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":203,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":257,"column":13}]},"\/src\/repo\/lib\/includes\/ParserFunctions\/CommaSeparatedList.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/ShowCalendarModelDecider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/ItemDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/OtherProjectsSitesProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemStatement\/GetItemStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/EntityRdfBuilderFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/DataTypeDefinitionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/UpdateRepo\/UpdateRepoOnDeleteJobTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescription\/GetItemDescriptionRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Modules\/MediaWikiConfigModuleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyStatements\/GetPropertyStatements.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/SingleEntitySourceServices.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":299,"column":12}]},"\/src\/repo\/client\/includes\/Api\/PageTerms.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemovePropertyLabel\/RemovePropertyLabelValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/InternalFormatEntityDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/PlaceholderExpander\/EntityViewPlaceholderExpanderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/ReferenceDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescription\/DeserializedGetItemDescriptionRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/SiteLinkPageNormalizerSitelinkTargetResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/DataAccessSettings.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchStatement\/PatchStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Statement\/StatementGuidParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemovePropertyLabel\/DeserializedRemovePropertyLabelRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/MergeItemsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/TypeDispatchingWikiPageEntityMetaDataAccessor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/EntityTermsView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TermStoreWriterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/CommonsThumbnailFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpApplyException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescription\/GetItemDescriptionValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ReplacePropertyStatement\/ReplacePropertyStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedRequestAdapter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Statement\/StatementGuidParsingException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/TypeDispatchingEntityRevisionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityNamespaceLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/ItemOrderProviderException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemStatement\/GetItemStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FingerprintSearchTextGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabelWithFallback\/GetPropertyLabelWithFallbackRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/Formatters\/DefaultEntityLinkFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":127,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabelWithFallback\/GetPropertyLabelWithFallbackValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescriptions\/GetItemDescriptionsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ReplacePropertyStatement\/ReplacePropertyStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/DispatchingEntityStoreWatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/RemoveStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/PropertyInfoBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/UnknownTypeEntityIdHtmlLinkFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/DispatchableDeserializerTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EditEntity\/EditEntity.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/ResubmitChanges.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetLatestPropertyRevisionMetadata.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/DispatchingSnakFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/EntityTitleStoreLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/ValueValidatorLanguageCodeValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescriptions\/GetItemDescriptionsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/ThrowingEntityTermStoreWriter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityStoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Statement\/GuidGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/WikibaseServicesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetPropertyLabel\/GetPropertyLabelTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/DummyLocalizedTextProvider.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":12}]},"\/src\/repo\/lib\/includes\/Store\/EntityUrlLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetItemStatementsRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/DifferenceContentLanguagesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabelWithFallback\/GetPropertyLabelWithFallbackResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/Formatters\/EntityLinkFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemovePropertyLabel\/RemovePropertyLabelRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/CopyrightMessageBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ReplacePropertyStatement\/ReplacePropertyStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/PropertyInfoStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ItemDisambiguationFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Statement\/Grouper\/NullStatementGrouper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/NonExistingEntityIdHtmlFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityTypesConfigValueTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/ApiEntitySource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/SidebarBeforeOutputHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/UnDeserializableValueFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/LangLinkSiteGroupsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/TermsCollisionDetector.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityArticleIdNullLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/WikibasePingback.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Specials\/SpecialEntityUsage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/ReplacePropertyStatement\/DeserializedReplacePropertyStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialDispatchStats.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":26,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityMetaTagsCreatorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/Values\/ExternalIdentifierRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Statement\/StatementByGuidMapTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/WikibaseEntityPermissionChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/SiteLinkDiffView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/InconsistentRedirectException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":19,"column":12}]},"\/src\/repo\/repo\/includes\/Rdf\/TermsRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescriptions\/GetItemDescriptionsResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/StatementListDifferTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/DefaultRepoSettingsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveItemStatement\/RemoveItemStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/Scribunto\/WikibaseLanguageIndependentLuaBindingsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/WikibaseContentLanguages.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":51,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":70,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":144,"column":19}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveItemStatement\/RemoveItemStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/CompactEntitySerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AssertPropertyExists.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/TermDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/BinaryOptionDispatchingSnakFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EditEntity\/EditEntityStatus.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$sv\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":31,"column":5}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Statement\/Grouper\/ByPropertyIdStatementGrouper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/ServiceByTypeDispatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabelWithFallback\/GetPropertyLabelWithFallback.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/DataAccess\/Scribunto\/WikitextPreprocessingSnakFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/NullEntityRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/unit\/Deserializers\/EntityDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/ArticleRevisionVisibilitySetHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/FallbackPropertyOrderProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescriptions\/DeserializedGetItemDescriptionsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/ContentLanguages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOps.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/LocalRepoWikiPageMetaDataAccessorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabelWithFallback\/DeserializedGetPropertyLabelWithFallbackRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/LocalizedTextProviderFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/DatabaseTypeIdsStoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/VocabularyUriFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/TempUserStatus.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/SiteLinkGlobalIdentifiersProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveItemStatement\/RemoveItemStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyAliases\/DeserializedPatchPropertyAliasesRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetLatestItemRevisionMetadataTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Statement\/Statement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityRevisionCache.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/DataAccess\/Scribunto\/WikibaseLibraryNoLinkedEntityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemovePropertyLabel\/RemovePropertyLabel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/ChangeHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntitySearchHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemDescriptions\/GetItemDescriptions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ItemDisambiguationFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Notifications\/ChangeHolder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ValidatorErrorLocalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/RemoveItemStatement\/DeserializedRemoveItemStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/EntitySourceAndTypeDefinitions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/tests\/EntityChangeFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/StaticContentLanguagesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Merge\/MergeFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":73,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/Values\/CommonsMediaRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EditFilterHookRunnerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyDescriptions\/DeserializedPatchPropertyDescriptionsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/PageTableEntityQueryBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/AddItemStatement\/AddItemStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/PrefetchingTermLookupAliasesRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/SiteLinkLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Notifications\/ChangeTransmitter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyAliases\/PatchPropertyAliasesResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabelWithFallback\/DeserializedGetItemLabelWithFallbackRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/PropertyValuePairDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/unit\/Deserializers\/LegacySnakListDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyDescriptions\/PatchPropertyDescriptionsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Statement\/StatementGuidTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/TermBufferTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/PropertyTermsRebuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/Scribunto\/WikibaseLuaEntityBindingsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EntityTypesConfigFeddyPropsAugmenter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/ByTypeDispatchingEntityIdLookup.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":46,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":68,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ItemSearchTextGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/ItemTermStoreWriterAdapter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpRemoveSiteLink.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/GlobalStateFactoryMethodsResourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/UnionContentLanguages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityContentFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/GlobeCoordinateKartographerFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/TermLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/RouteHandlersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TermFallbackCacheTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Notifications\/HookChangeTransmitter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EditEntity\/StatsdSaveTimeRecordingEntityStore.php":{"errors":8,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":40,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":44,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":64,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":75,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":79,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":83,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":87,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":91,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddItemAliasesInLanguage\/AddItemAliasesInLanguage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Statement\/Grouper\/FilteringStatementGrouper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/RemoveClaimsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabelWithFallback\/GetItemLabelWithFallbackRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/EntityQuantityUnitRebuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/DescriptionsDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/EntityChangeSelectQueryBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/src\/EntitySourceLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/RoutesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/Values\/MonolingualTextRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/WikibaseSnakFormatterBuildersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/LoggerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityUrlLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AssertUserIsAuthorized.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/TitleLookupBasedEntityExistenceChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/EntityUpdaterStatementUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Statement\/Grouper\/StatementGrouper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/SetPropertyDescriptionRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/Exceptions\/EntityUpdateFailed.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Summary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Statement\/StatementByGuidMap.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":67,"column":13}]},"\/src\/repo\/repo\/includes\/Merge\/Validator\/NoCrossReferencingStatements.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/PropertyView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/TypeDispatchingEntityStoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/SiteLinksRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/Exceptions\/StatementSubjectDisappeared.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddItemAliasesInLanguage\/AddItemAliasesInLanguageResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabelWithFallback\/GetItemLabelWithFallbackResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/WholeEntityEditSummaryToFormattableSummaryConverterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabelWithFallback\/GetItemLabelWithFallbackValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/ApiEntityTitleTextLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/SitelinkSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Statement\/StatementListHolder.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":17,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyAliases\/PatchedPropertyAliasesValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Rdbms\/TermsDomainDb.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpsMergeTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Specials\/SpecialUnconnectedPages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/PatchPropertyDescriptionsRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddPropertyAliasesInLanguage\/AddPropertyAliasesInLanguageResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddPropertyAliasesInLanguage\/DeserializedAddPropertyAliasesInLanguageRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/WikibaseSnakFormatterBuilders.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/WikibaseServicesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/UnionContentLanguagesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/LabelPrefetchHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/LabelsSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/RepoItemUriParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Api\/ApiListEntityUsage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpStatementRank.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/EntityIdPlainLinkFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/WikibaseEntityRevisionLookupItemRevisionMetadataRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Sql\/SqlSiteLinkConflictLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyAliases\/PatchPropertyAliasesValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/Values\/MonolingualTextRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/AbstractTermPropertyLabelResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/AliasTermBufferTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/SnakNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/PlaceholderExpander\/ExternallyRenderedEntityViewPlaceholderExpanderTest.php":{"errors":2,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$id\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":226,"column":5},{"message":"Doc comment for parameter \"$revisionId\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":248,"column":5}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/Values\/TabularDataRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Rdbms\/ClientDomainDbFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/DataTypeFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/Values\/CommonsMediaRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/FormatSnakValue.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":255,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyDescriptions\/PatchedPropertyDescriptionsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Statement\/StatementGuidValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityExistenceCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/DefaultValueFormatterBuildersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchProperty\/PatchedPropertyValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/TermIndexSearchCriteria.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddItemAliasesInLanguage\/AddItemAliasesInLanguageRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetItemLabelWithFallback\/GetItemLabelWithFallback.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/LanguageWithConversionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpValidationException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/ChangesListSpecialPageHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/WikiPageEntityDataLoader.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":33,"column":12}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/AssertValidTopLevelFieldsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/Values\/ObjectUriRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/TermsLanguagesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/RevisionedUnresolvedRedirectException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/UpdateRepo\/UpdateRepoOnMove.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Store\/ClientStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityChangeFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyAliases\/PatchPropertyAliasesRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchProperty\/DeserializedPatchPropertyRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/UpdateRepo\/UpdateRepoOnDeleteJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Notifications\/ChangeNotifier.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EditEntity\/MediaWikiEditFilterHookRunner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Actions\/ViewEntityAction.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Rdbms\/RepoDomainTermsDb.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/SettingsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/NewDatabaseEntitySourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/Values\/ObjectUriRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/ItemPartsSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/ErrorResponseToHttpStatus.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddItemAliasesInLanguage\/AddItemAliasesInLanguageValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/rebuildItemsPerSite.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/unit\/Deserializers\/LegacyPropertyDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddItemAliasesInLanguage\/DeserializedAddItemAliasesInLanguageRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabels\/DeserializedGetPropertyLabelsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/UpdateRepo\/UpdateRepoOnDelete.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Sql\/Terms\/EntityTermsSelectQueryBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Rdbms\/ClientDomainDb.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/Values\/TabularDataRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/ServiceByTypeDispatcher.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":62,"column":13}]},"\/src\/repo\/repo\/includes\/Merge\/StatementsMerger.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":50,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":126,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/UpdateExceptionHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/RedirectResolvingLatestRevisionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/DataValue\/ValuesFinder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/SiteLinkChangeOpFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/DataAccess\/WikibaseDataAccessTestItemSetUpHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/Termbox\/Renderer\/TermboxRemoteRenderer.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":31,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":90,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":102,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":110,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":126,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/ItemDiffTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/AffectedPagesFinderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/LocalEntityTypesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddPropertyAliasesInLanguage\/AddPropertyAliasesInLanguage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/AliasesDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/MediaWikiMessageInLanguageProvider.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":12}]},"\/src\/repo\/repo\/includes\/Api\/MetaDataBridgeConfig.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":57,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":64,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":75,"column":12}]},"\/src\/repo\/lib\/includes\/Store\/MatchingTermsLookupFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/Termbox\/Renderer\/TermboxNoRemoteRendererException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/RemoveStatement\/RemoveStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityParserOutputGeneratorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/RemoveItemDescription\/RemoveItemDescriptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddPropertyAliasesInLanguage\/AddPropertyAliasesInLanguageValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/tests\/EntityChangeTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/SiteLinkPageNormalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/Termbox\/Renderer\/TermboxRenderer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/Termbox\/Renderer\/TermboxRenderingException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/ResponseFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ItemRedirectCreationInteractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetPropertyLabel\/SetPropertyLabelResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/PlaceholderExpander\/TermboxRequestInspectorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/CachingItemOrderProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/RepoDomainDbFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/MatchingTermsLookupFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/StatementGuidValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/StatementListSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/StatementDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/PropertyInfoSnakUrlExpanderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpReferenceRemove.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchPropertyAliases\/PatchPropertyAliases.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/fixtures\/FakeEntityDocument.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/MakeGlobalVariablesScriptHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EditEntity\/MediaWikiEditEntityFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":81,"column":12}]},"\/src\/repo\/client\/includes\/Store\/AddUsagesForPageJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/SitelinksValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/EditSummaryHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemDescriptions\/PatchItemDescriptionsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/fixtures\/ItemFixtures.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/Termbox\/TermboxModule.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$file\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":23,"column":5}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiringTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/Middleware\/ResponseHeaderCountingTestMiddleware.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Rdbms\/DomainDb.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddPropertyAliasesInLanguage\/AddPropertyAliasesInLanguageRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityIdHtmlLinkFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/GetClaimsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/fixtures\/PropertyFixtures.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/EntityDocumentView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/PatchItemLabelsRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/EntityTermsViewFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityContentDataCodecTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityDifferTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/dumpJson.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/ItemSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/DispatchingEntityTypeStatementGrouper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/UpdateRepo\/UpdateRepo.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/EntityUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpFactoryProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/SummaryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetPropertyLabel\/SetPropertyLabelRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetPropertyLabel\/DeserializedSetPropertyLabelRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/SqlChangeStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/fixtures\/EntityOfUnknownType.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/OutputFormatValueFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Rdbms\/ReplicationWaiter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Rdbms\/RepoDomainDb.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/SkinAfterPortletHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Notifications\/WikiPageActionEntityChangeFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Notifications\/ChangeTransmitterException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/SnakListDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/CachingFallbackLabelDescriptionLookup.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":108,"column":13}]},"\/src\/repo\/repo\/includes\/UpdateRepo\/UpdateRepoJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Interactors\/ItemMergeInteractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/tests\/RepoRevisionIdentifierTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/EntityChangeNotificationJobTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/Values\/QuantityRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/EntityUsageFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/WikibaseEntityRevisionLookupPropertyRevisionMetadataRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/PropertyInfoProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/EntityIdLocalPartPageTableEntityQuery.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":26,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":30,"column":15}]},"\/src\/repo\/view\/src\/EntityView.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":47,"column":15}]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/NamespaceCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EditEntity\/StatsdSaveTimeRecordingEditEntity.php":{"errors":8,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":36,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":40,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":44,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":48,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":52,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":56,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":64,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":68,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/TermboxFlagTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetPropertyAliasesInLanguage\/GetPropertyAliasesInLanguageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/SummaryFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/Values\/GlobeCoordinateRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetItemDescriptionWithFallback\/GetItemDescriptionWithFallbackTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Rdbms\/RepoDomainDbFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/LabelDescriptionNotEqualValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/ViewContent.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":27,"column":12}]},"\/src\/repo\/repo\/includes\/Store\/Sql\/Terms\/DatabaseTermsCollisionDetector.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":138,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchSitelinks\/PatchSitelinks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/WikibaseClientSchemaTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/SetSitelinkRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/KartographerEmbeddingHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/unit\/Deserializers\/LegacyItemDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TermBufferTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Serializer\/ClientStatementListSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/EntityIdDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/EntityRevisionLookupStatementRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/PropertyInfoTable.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/ItemPatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Rdbms\/TermsDomainDbFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/EntityParserOutputDataUpdaterCollectionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EditEntity\/StatsdTimeRecordingEditFilterHookRunner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/WikibaseApiTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/SitelinkDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemDescriptions\/PatchedItemDescriptionsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetPropertyLabel\/SetPropertyLabel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/UniquenessViolation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/SetPropertyLabel\/SetPropertyLabelValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/GlobeCoordinateDetailsFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/MwTimeIsoFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/FallbackChainModuleMethods.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/SourceDispatchingPropertyDataTypeLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/MetaDataBridgeConfigTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/DispatchingEntityTypeStatementGrouperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Store\/DescriptionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/EntitySourceDefinitionsConfigParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemDescriptions\/DeserializedPatchItemDescriptionsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/EntityChangeLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Dumpers\/JsonDumpGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Statement\/StatementList.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EditEntity\/EditFilterHookRunner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/Values\/LiteralValueRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/StatementGrouperBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetSitelinks\/GetSitelinksRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetLatestPropertyRevisionMetadataTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/UsageDeduplicator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Statement\/ReferencedStatementFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/GenericEventDispatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/Serialization\/PropertySerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/JsonDiffJsonPatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/MediaWikiLanguageDirectionalityLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetSitelinks\/GetSitelinksValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetSitelinks\/DeserializedGetSitelinksRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/Values\/TimeRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/Middleware\/TempUserCreationResponseHeaderMiddlewareTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/EntityDifferTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/FallbackLookupFactoryTermsRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TermValidatorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/BabelUserLanguageLookupDouble.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":18,"column":15}]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/DatabaseInnerTermStoreCleanerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/ReferenceListDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/RegexValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FingerprintSearchTextGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetSitelinks\/GetSitelinksResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchItemDescriptions\/PatchItemDescriptionsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Serializer\/ClientEntitySerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/ApiPrefetchingTermLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Internal\/MapValueHasher.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetItemLabels\/GetItemLabelsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/FakePrefetchingTermLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityRedirectCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/IdGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Actions\/SubmitEntityAction.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/fixtures\/CustomEntityId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ViewFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/UpdateRepo\/UpdateRepoOnMoveJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Sql\/WikiPageEntityRedirectLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Helpers\/TestPropertyValuePairDeserializerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/NullUsageTracker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/CreatePropertyRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/FederatedPropertiesTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/EntityTypeDefinitions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/ViewHooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchSitelinks\/PatchedSitelinksValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/OutputFormatValueFormatterFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/bootstrap.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Statement\/StatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/EntityPrefetcherSpy.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetSitelinks\/GetSitelinks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/EntityIdFormatterFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/LanguageDirectionalityLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchSitelinks\/PatchSitelinksResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/CompositeValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/DispatchStatsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Actions\/SubmitEntityStatus.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$sv\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":30,"column":5}]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/tests\/ChangeRowTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpsMerge.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Store\/UsageUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/HashUsageAccumulator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/unit\/Deserializers\/LegacyStatementDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TermLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangedLanguagesCounter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddPropertyStatement\/AddPropertyStatementResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Localizer\/MessageParameterFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/Values\/GlobeCoordinateRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/ItemDifferTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Diff\/EntityContentDiffViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/DummyChangeOpResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/Scribunto\/EntityAccessorTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$statementDeprecated\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":247,"column":5}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddPropertyStatement\/DeserializedAddPropertyStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/PageImagesDataUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/SearchEntitiesRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Actions\/HistoryEntityAction.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ItemDisambiguation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/Template\/TemplateFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":22,"column":19}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/SiteLinkDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchSitelinks\/PatchSitelinksRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/Values\/GeoShapeRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/TimestampPrecisionValidator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":38,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ItemMergeInteractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/TermValidatorFactoryPropertyLabelValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/ApiJsonFormatTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/SettingsArray.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Dumpers\/JsonDataTypeInjectorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/WikiPageEntityRevisionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchSitelinks\/PatchSitelinksValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/integration\/LegacyDeserializerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/StoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/RdfBuilderFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Localizer\/MessageExceptionLocalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/PageTableEntityQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/PatchSitelinks\/DeserializedPatchSitelinksRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/ShowSearchHitHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/AliasesInLanguage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/Template\/TemplateRegistry.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/LabelsProviderEntityIdHtmlLinkFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/LoggerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/EntityRevisionLookupPropertyDataRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/NumberValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/AddPageInfo.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/Middleware\/RequestPreconditionCheckTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/ApiEntitySourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/PropertyDataTypeChangerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/EntityParserOutputGeneratorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/Values\/EntityIdRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddPropertyStatement\/AddPropertyStatementRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/LanguageFallbackChainFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Units\/CSVUnitStorage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Units\/UnitStorage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/PrefetchingWikiPageEntityMetaDataAccessor.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":261,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/AliasTermBufferTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/CachingKartographerEmbeddingHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/CommonsMediaValueNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Api\/ApiPropsEntityUsageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/Template\/Template.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/AnonymousEditWarningBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/WikiPageEntityMetaDataAccessor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Value.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ItemVocabularyBaseUriTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/FederatedPropertiesTestTrait.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":61,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":66,"column":13},{"message":"Doc comment for parameter \"$name\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":107,"column":5},{"message":"Doc comment for parameter \"$value\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":107,"column":5}]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/integration\/Deserializers\/StatementDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/DumpEntities.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Parsers\/EntityIdValueParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/SnakFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Units\/JsonUnitStorage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/Scribunto\/WikibaseLanguageDependentLuaBindingsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpFactoryProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Localizer\/DispatchingExceptionLocalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/RemoveSitelink\/RemoveSitelinkTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/UsageAspectTransformer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Search\/Fields\/FieldDefinitionsFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/MembershipValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Store\/DescriptionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/TermsLanguagesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/ItemRevision.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Parsers\/WikibaseStringValueNormalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/TermValidatorFactoryAliasesInLanguageValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/PrefetchingTermLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Units\/InMemoryUnitStorage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/NewItem.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/Values\/ComplexValueRdfHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/LibNoBadUsageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/UsageTracker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/ErrorHandlingSnakFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"...$args\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":98,"column":5}]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpFingerprint.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":32,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":36,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":40,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":44,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddPropertyStatement\/AddPropertyStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/CompactBaseDataModelSerializerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/Middleware\/BotRightCheckMiddlewareTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/AddPropertyStatement\/AddPropertyStatementValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/WikibaseLib.datatypes.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/RemovePropertyStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/NumberRangeValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/TermLookupEntityTermsRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/config\/WikibaseLib.default.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Property.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/PropertyServicesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/FederatedPropertiesServiceFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/rebuildEntityQuantityUnit.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Parsers\/MonolingualTextParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/integration\/Deserializers\/EntityDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpReferenceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/EntitySourceLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/ItemStatementIdRequestValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/InfoActionHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/EscapingValueFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/Wikibase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/ImageLinksDataUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/BaseDataModelDeserializerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Localizer\/ChangeOpValidationExceptionLocalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Store\/Sql\/UnexpectedUnconnectedPagePrimer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabel\/GetPropertyLabel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/Values\/LiteralValueRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/PropertyValuePair.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/FederatedPropertiesAwareDispatchingEntityIdParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/EntityStoreWatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/Values\/QuantityRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabel\/GetPropertyLabelValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/NonExistingEntityIdHtmlFormatterLinker.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":52,"column":12}]},"\/src\/repo\/lib\/includes\/Units\/UnitConverter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":40,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/BagOStuffSiteLinkConflictLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/EntityConstraintProvider.php":{"errors":2,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$entityType\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":63,"column":5},{"message":"Doc comment for parameter \"$entityId\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":63,"column":5}]},"\/src\/repo\/repo\/includes\/Specials\/SpecialModifyEntity.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$anonymousEditWarningBuilder\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":45,"column":5}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/RemoveReferencesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Descriptions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/docs\/namespaces.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/PropertyInfoBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/PropertyValueExpertsModuleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/Middleware\/PreconditionMiddlewareTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Localizer\/ParseExceptionLocalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/EntityPrefetcherSpyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCases\/GetPropertyLabel\/GetPropertyLabelResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Store\/Sql\/PagePropsEntityIdLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchStatement\/PatchedStatementValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/populateChangesSubscription.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/DataValueValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/RepoLinkerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Parsers\/MwEraParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/integration\/TestFactoryBuilder.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":46,"column":19}]},"\/src\/repo\/lib\/includes\/Formatters\/NonExistingEntityIdHtmlBrokenLinkFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/Values\/ExternalIdentifierRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Sql\/DatabaseSchemaUpdater.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":276,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":280,"column":13}]},"\/src\/repo\/view\/src\/StatementHtmlGenerator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":139,"column":13}]},"\/src\/repo\/view\/src\/ViewPlaceHolderEmitter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/EntityUpdaterItemUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Localizer\/GenericExceptionLocalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/CachingPrefetchingTermLookup.php":{"errors":14,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":91,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":98,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":106,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":114,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":122,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":143,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":148,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":243,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":302,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":311,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":323,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":337,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":362,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":380,"column":13}]},"\/src\/repo\/client\/includes\/Usage\/PageEntityUsages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/.phan\/config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Units\/BaseUnitStorage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Statement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/StatementChangeOpFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/DatabaseItemTermStoreWriterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/DatabaseTermInLangIdsResolver.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":197,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":206,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":210,"column":13}]},"\/src\/repo\/view\/src\/EntityMetaTagsCreator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/integration\/SerializerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/Middleware\/AuthenticationMiddlewareTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Label.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/EntityUpdaterStatementRemover.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetItemStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Parsers\/MediaWikiNumberUnlocalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/PropertyInfoSnakUrlExpander.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/ValueParserFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/ValidatorErrorLocalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/Values\/ComplexValueRdfHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/JulianDateTimeValueCleaner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/HtmlTimeFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/tests\/EntityDiffChangedAspectsFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/PredicateProperty.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/integration\/DeserializerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/Internal\/FingerprintPatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/SnakDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Localizer\/ChangeOpApplyExceptionLocalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/ParserOutput\/FederatedPropertiesUiEntityParserOutputGeneratorDecoratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/Middleware\/MiddlewareHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/FullEntityParserOutputGeneratorIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialMyLanguageFallbackChain.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/WikibaseEntityRevisionLookupStatementSubjectRevisionMetadataRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/UsageTrackingLanguageFallbackLabelDescriptionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/NumberLocalizerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Sql\/SqlIdGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/SnakFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/StatementTransclusionInteractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/tests\/RepoRevisionIdentifierFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/TermStoreWriterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/UnmappedEntityIdValueFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":13,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Item.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/SiteLinkTable.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Localizer\/ChangeOpDeserializationExceptionLocalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/IO\/EntityIdReaderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/PropertyDescriptionEditRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/TermFallbackCache\/TermFallbackCacheFacade.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/dumpRdf.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Api\/PageTermsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/Values\/EntityIdRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/CachingPropertyInfoLookup.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":186,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":193,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/unit\/ServiceWiring\/DefaultValidatorBuildersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchItem\/PatchItemTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/TermFallbackCache\/TermFallbackSerializerTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/tests\/integration\/RealEntitiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/Util\/MockJobQueueFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/RedirectTrackingUsageAccumulator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpQualifier.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/Internal\/SiteLinkListPatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/DispatchingEntityMetaTagsCreatorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpLabelTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/DifferenceEngineViewHeaderHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Store\/UsageUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/IO\/LineReaderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/UnknownTypeEntityIdHtmlLinkFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/NullSubscriptionManager.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/PropertyStatementIdRequestValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/tests\/MockRepoClientCentralIdLookup.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":45,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":49,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":55,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":61,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":74,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiringTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/ItemStubRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/MultiPropertyTermStoreWriter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/TermFallbackCache\/TermFallbackCacheServiceFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":20,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/Values\/GeoShapeRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/MockRepository.php":{"errors":7,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":103,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":372,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":442,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":462,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":466,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":484,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":609,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/PropertyPartsBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/SimpleCacheTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/EntityRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/TermValidatorFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":183,"column":12}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/ReferenceFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/EntitySourceDefinitionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/TitleLookupBasedEntityTitleTextLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/GlobalStateFactoryMethodsResourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/GenericChangeOpResultTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/FallbackHintHtmlTermRendererTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/DispatchingEntityIdHtmlLinkFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialSetDescription.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/ReferenceDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/rebuildPropertyTerms.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/MonolingualWikitextFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/EntityFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Rank.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/TermDeserializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":58,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/SiteLinkListTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/RemoveItemLabelRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Store\/Sql\/DirectSqlStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/PurgeEntityDataJobTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/DataAccess\/EntityRevisionLookupItemDataRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpResultStub.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/DispatchingValueSnakRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/StringNormalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/DataFieldValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Parsers\/MwTimeIsoParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/AliasChangeOpDeserializationTester.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":80,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/ParserOutput\/FederatedPropertiesPrefetchingEntityParserOutputGeneratorDecoratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/ModifiedLanguageCodes.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/unit\/MediaWiki\/EntitySourceDocumentUrlProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/LegacyIdInterpreterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/PropertyIdResolverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/UpdateRepo\/UpdateRepoOnDeleteTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Store\/AddUsagesForPageJobTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangedLanguagesCounterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/EntityUsage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/SiteLinksView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/changePropertyDataType.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/ServiceBySourceAndTypeDispatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/Middleware\/StatementRedirectMiddlewareTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/MockRepositoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/Serializer\/ForbiddenSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/PropertyParts.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/src\/HtmlSnakFormatterFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/MediaWikiContentLanguages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Deserializers\/SnakValueDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Parsers\/MediaWikiMonthNameProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/CommonsMediaExistsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/MediaWikiLocalizedTextProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/SubscriptionManager.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/LanguageFallbackIndicatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpDescription.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/PropertyLabelNotResolvedExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/StatementListProviderDummy.php":{"errors":6,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":31,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":35,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":39,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":43,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":47,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":55,"column":12}]},"\/src\/repo\/repo\/includes\/Actions\/EditEntityAction.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/ParserFunctionRegistrantTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialAvailableBadges.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/LanguageNameLookupFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/Values\/TimeRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/DatabaseTermInLangIdsAcquirer.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":235,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":312,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":394,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":416,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":421,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/LatestPropertyRevisionMetadataResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/HashSiteLinkStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityContentTooBigException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/FallbackLabelDescriptionLookupFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/Util\/ReplicaPrimaryAwareRecordIdsAcquirerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/ParserOutput\/EntityParserOutputGeneratorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/DescriptionsChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/MockPropertyLabelResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/importFederatedPropertiesSampleData.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":49,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":59,"column":12}]},"\/src\/repo\/lib\/includes\/Store\/Sql\/WikiPageEntityMetaDataLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Aliases.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/StorageException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EntityIdHtmlLinkFormatterFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/EditFilterHookRunnerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Api\/ApiListEntityUsageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/DatabaseItemTermStoreWriter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/TermStoreCleaner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/Middleware\/UserAgentCheckMiddlewareTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/resources\/templates.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/NewDatabaseEntitySource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/EntityTypeDefinitionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/SiteLinkChangeOpFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/StringLengthValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/Util\/FakeLoadBalancer.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":31,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":46,"column":12}]},"\/src\/repo\/repo\/includes\/Parsers\/MwDateFormatParserFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/tests\/TestChanges.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":45,"column":20}]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Description.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/UpdateRepo\/UpdateRepoOnMoveTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/EntityTypesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/FieldPropertyInfoProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpStatementRankTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchStatement\/PatchStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/WikibasePingbackTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/EscapingValueFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/LanguageNameLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Reference.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/ApiXmlFormatTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/DataTypeSelector.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/CachingKartographerEmbeddingHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/WikibaseSettings.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Reporting\/ExceptionHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/Middleware\/PreconditionMiddlewareFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Qualifiers.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpResultTraversal.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":23,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/CreateItemRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/RepoItemLinkGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/federated-properties\/src\/FederatedPropertyId.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":61,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":69,"column":12}]},"\/src\/repo\/lib\/includes\/Reporting\/LogWarningExceptionHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/LanguageLinkBadgeDisplayTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Diff\/Internal\/AliasGroupListPatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/SubEntityTypesMapperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/SnakDeserializer.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":140,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":187,"column":13}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/StatementSerializationRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/Util\/FakeLBFactory.php":{"errors":6,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":27,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":35,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":43,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":47,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":51,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":71,"column":15}]},"\/src\/repo\/repo\/includes\/Validators\/EntityUriValidator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":33,"column":12}]},"\/src\/repo\/repo\/includes\/Api\/ResultBuilder.php":{"errors":8,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":361,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":445,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":452,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":459,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":565,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":784,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":796,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":990,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/ApiEntityExistenceCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/NullChangeOpTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/SerializerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/SiteLinkBadgeChangeOpSerializationValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/CachingSiteLinkLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/CachingOtherProjectsSitesProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityLinkTargetEntityIdLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Reporting\/ReportingExceptionHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Store\/Sql\/BulkSubscriptionUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/EntityChangeOpProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/PropertySpecificComponentsRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Reporting\/RethrowingExceptionHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/federated-properties\/tests\/FederatedPropertyIdTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/ItemParts.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Parsers\/TimeParserFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/SourceAndTypeDispatchingTitleTextLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/AlternativeValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialRedirectEntity.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/TermLanguageFallbackChain.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/ImplicitDescriptionUsageLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/RouteHandlers\/Middleware\/UnexpectedErrorHandlerMiddlewareTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetPropertyLabelWithFallback\/GetPropertyLabelWithFallbackTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/SiteLinkDeserializer.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":56,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":69,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":83,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":93,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":98,"column":13}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/RecentChangeFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/PermissionCheckResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/DataType.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/EditSummaryFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Api\/ApiFormatReferenceUnitTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/FormatterLabelDescriptionLookupFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/UsageAccumulatorFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/UrlSchemeValidators.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/AliasesChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/ItemAliasesInLanguageEditRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/TruthyStatementRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/LanguageNameLookupFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Domain\/ReadModel\/ValueTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/ShortDescHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Sitelink.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Sql\/WikiPageEntityStore.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":204,"column":13}]},"\/src\/repo\/client\/includes\/Usage\/UsageLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Sites\/SiteMatrixParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/PropertySourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/DatabaseMatchingTermsLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/DeserializerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/TermsEditSummaryToFormattableSummaryConverter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/TermListDeserializer.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":65,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":78,"column":13}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/MessageInLanguageProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EntityReferenceExtractors\/EntityReferenceExtractorDelegator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":36,"column":12}]},"\/src\/repo\/lib\/includes\/Store\/EntityStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/LinkedData\/EntityDataUriManager.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/StatsdRecordingSimpleCache.php":{"errors":7,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":62,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":73,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":77,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":85,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":111,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":115,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":119,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/SearchEntitiesIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EntityReferenceExtractors\/EntityReferenceExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Statement\/StatementListTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Domain\/ReadModel\/LabelsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/TermCacheKeyBuilder.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":12}]},"\/src\/repo\/lib\/includes\/ServiceBySourceAndTypeDispatcher.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":43,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":59,"column":12}]},"\/src\/repo\/repo\/includes\/Api\/FormatEntities.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":148,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":160,"column":20}]},"\/src\/repo\/client\/includes\/Usage\/ParserOutputUsageAccumulator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/AddItemAliasesInLanguageRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/StaticTypeIdsStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/LabelUniquenessValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/RdfVocabularyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/LabelsChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/ByPropertyIdGrouperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/HtmlExternalIdentifierFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/EditActionHookHandler.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":69,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/LatestItemRevisionMetadataResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Api\/ApiClientInfoTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/MultipleEntitySourceServicesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/FallbackLabelDescriptionLookupFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpSiteLinkTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/DatabasePropertyTermStoreWriter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EntityReferenceExtractors\/SiteLinkBadgeItemReferenceExtractor.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":33,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":43,"column":13}]},"\/src\/repo\/data-access\/tests\/phpunit\/DataAccessSettingsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/LanguageFallbackIndicator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":30,"column":12}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Domain\/ReadModel\/DescriptionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/TermListSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialSetAliases.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/ApiEntityLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchPropertyAliases\/PatchedPropertyAliasesValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Statement\/ReferencedStatementFilterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Domain\/ReadModel\/NewStatementReadModel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/OtherProjectsSidebarGeneratorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/RepoHooks.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":220,"column":20}]},"\/src\/repo\/repo\/includes\/Validators\/SiteLinkUniquenessValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/UsageTrackingSnakFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/NoReverseDependencyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/FormatableSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/OutputPageBeforeHTMLHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/addUnitConversions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/ReferenceList.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/LanguageLinkBadgeDisplayTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Sites\/SitesBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/SiteLinkLookupSitelinkValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/WrappingEntityIdFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/NormalizedTermStorageMapping.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/CacheAwarePropertyInfoStore.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":149,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":156,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/ItemPartsBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Normalization\/SnakNormalizer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":67,"column":13}]},"\/src\/repo\/repo\/includes\/Store\/Sql\/PropertyInfoTableBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Exception\/StatementGuidChangedException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Exception\/StatementNotFoundException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/TermSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/EntityId\/InMemoryEntityIdPagerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EntityReferenceExtractors\/StatementEntityReferenceExtractor.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":82,"column":13}]},"\/src\/repo\/repo\/includes\/ArrayValueCollector.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Labels.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Exception\/PropertyChangedException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/EntityByTitleHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Modules\/RepoAccessModule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Normalization\/StringValueNormalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/PlaintextTimeFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/StatementDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/ParserFunctions\/CommaSeparatedListTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/EntityReferenceExtractors\/EntityReferenceExtractorCollection.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetPropertyDescriptionRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/InterWikiLinkExistsValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/PropertyParserFunctionRunnerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Modules\/MediaWikiConfigValueProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/WikiPagePropertyOrderProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/EntitySearchException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/EditActionHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/Sitelinks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/ItemLabelEditRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/DatabaseTypeIdsStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/UsageAccumulator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Api\/ApiFormatReferenceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Term\/TermListTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/StatementList.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/EntityId\/SuffixEntityIdParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/SnakValueDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ClientParserOutputDataUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Modules\/SettingsValueProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/TypedSnakSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/SpecialListFederatedProperties.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/FederatedPropertiesException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/ItemChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Normalization\/StatementNormalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/LoginFormValidErrorMessagesHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/WholeEntityEditSummaryToFormattableSummaryConverter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/DatabaseUsageCheckingTermStoreCleaner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/EntityTypeDefinitionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Normalization\/DataValueNormalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/ApiEntityNamespaceInfoLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/EntityId\/EscapingEntityIdFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Modules\/MediaWikiConfigModule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/SnakRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/WikiPageItemOrderProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/FederatedPropertiesEntityIdFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/lib\/includes\/Normalization\/ReferenceNormalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/EntityExistsValidator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":31,"column":12}]},"\/src\/repo\/lib\/tests\/phpunit\/EntitySourceAndTypeDefinitionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/Formatters\/DefaultEntityLinkFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/LatestStatementSubjectRevisionMetadataResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/SnakListDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityByLinkedTitleLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/rebuildItemTerms.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":110,"column":13}]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpReference.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Normalization\/CompositeDataValueNormalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/LinkedData\/EntityDataFormatProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/EntityId\/PlainEntityIdFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Modules\/PropertyValueExpertsModule.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":41,"column":12}]},"\/src\/repo\/lib\/includes\/Store\/MatchingTermsLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/JsonDiffJsonPatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Hooks\/ExtensionLoadHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/GlobeCoordinateKartographerFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/ApiPropertyDataTypeLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/CachingFallbackLabelDescriptionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Domain\/ReadModel\/ItemPartsBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/PropertyRevision.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/InMemoryPrefetchingTermLookup.php":{"errors":9,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":74,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":78,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":94,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":108,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":113,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":120,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":145,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":152,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":168,"column":12}]},"\/src\/repo\/repo\/includes\/Parsers\/DateFormatParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/ApiEntityNamespaceInfoLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/SnakListSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/WikiTextPropertyOrderProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/SummaryFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Rdbms\/ReplicationWaiterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/PropertyOrderProviderException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/BaseUriExtractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/SetDescription.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/StatementRevision.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetItemDescriptionsRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/JsonDiffJsonPatchValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/SiteTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityIdLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/TermFallbackCacheFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/CreateClaimTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/LangLinkHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Term\/AliasGroupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/ReadModel\/References.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/WikibaseValueFormatterBuilders.php":{"errors":6,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":189,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":251,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":264,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":273,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":280,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":523,"column":12}]},"\/src\/repo\/repo\/includes\/ChangeOp\/FingerprintChangeOpFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/PropertyRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/StaticContentLanguages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/EntityId\/EntityIdLabelFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemPartsRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Usage\/UsageAspectTransformerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/FederatedPropertiesError.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":55,"column":12}]},"\/src\/repo\/lib\/includes\/Store\/EntityExistenceChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/PropertyDataTypeLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/SourceAndTypeDispatchingTitleTextLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyLabelsRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/Formatters\/EntityLinkFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/AvailableBadges.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/PropertyDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Modules\/SitesModule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemDescriptionRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Sql\/ChangesSubscriptionTableBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Rdbms\/ClientDomainDbFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/PurgeEntityDataJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/ItemAliasesRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/ReferenceListDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyDescriptionWithFallbackRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyWriteModelRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialModifyTerm.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyDescriptionRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/RestrictedEntityLookupFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/TermValidatorFactoryPropertyDescriptionValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchPropertyAliases\/PatchPropertyAliasesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/FederatedPropertiesErrorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/OtherProjectsSidebarGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/SiteLinkListSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/MonolingualHtmlFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Domain\/Services\/PropertyRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/PropertyLabelEditRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Store\/Sql\/BulkSubscriptionUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Term\/TermTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Sql\/SqlSubscriptionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Content\/ItemHandler.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":114,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":148,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":195,"column":12}]},"\/src\/repo\/repo\/includes\/AnonymousEditWarningBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/EntitySourceAndTypeDefinitionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Rdbms\/TermsDomainDbFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/Sql\/SqlUsageTracker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/ReferenceDeserializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":40,"column":13}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/ClientDomainDbFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/FingerprintUniquenessValidator.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":59,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":189,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":199,"column":13}]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/SitelinksReadModelConverter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/EntityId\/EntityIdComposerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Diff\/ClaimDifferenceVisualizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/FederatedPropertiesAwareDispatchingEntityIdParser.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":68,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":72,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":89,"column":13}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/ValueFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Usage\/EntityUsageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/WikiPageEntityStorePermissionCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/OutputPageEntityIdReaderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/Util\/ReplicaPrimaryAwareRecordIdsAcquirer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/MessageSnakFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/LatestRevisionIdResult.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":102,"column":13}]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/PropertyValueSnakFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/FallbackLabelDescriptionLookupFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/WikibaseClient.ServiceWiring.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Domain\/ReadModel\/PropertyPartsBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/UrlValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/UnresolvedEntityRedirectExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/Util\/StatsMonitoring.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/EntityIdLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/MaintenanceShellStart.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Sql\/UpsertSqlIdGenerator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":92,"column":13}]},"\/src\/repo\/data-access\/tests\/phpunit\/DatabaseEntitySourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/InterWikiLinkWikitextFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/LanguageWithConversion.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/TermsRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Domain\/ReadModel\/SitelinksTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Usage\/UsageAccumulatorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/EntityRevision.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/StatementListSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Rdbms\/RepoDomainTermsDbTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/TermValidatorFactoryItemDescriptionValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/EditEntityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/NotMulValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/RemovePropertyDescriptionRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/ApiHelperFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/AliasGroupListDeserializer.php":{"errors":6,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":74,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":89,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":97,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":107,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":120,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":124,"column":13}]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Store\/Sql\/DirectSqlStoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/EntityIdLinkFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/CompactEntitySerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/resources.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpLabel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/ByPropertyIdArray.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/CommonsLinkFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/SingleEntitySourceServicesFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/LanguageLabelDescriptionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Domain\/ReadModel\/AliasesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Rdbms\/LocalRepoDbTestHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpLabelResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/DataUpdateHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Content\/ItemContent.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":113,"column":15}]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/DatabaseTermInLangIdsResolverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/PropertyLabelResolverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/DefaultMetaTagsCreatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/NotEntityIdValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/Sql\/EntityUsageTableBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/updateUnits.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/SnakSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/ValueSnakRdfBuilderFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/GetClaimsStatementFilter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":82,"column":13}]},"\/src\/repo\/lib\/tests\/phpunit\/Rdbms\/RepoDomainDbTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/EntityLinkTargetEntityIdLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/VocabularyUriFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Serialization\/SerializationModifier.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialListProperties.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Domain\/ReadModel\/StatementListTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/CompositeEntityValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/TermValidatorFactoryPropertyLabelValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/MonolingualTextFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Usage\/UsageDeduplicatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/RemoveQualifiersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Content\/ContentHandlerEntityIdLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/PropertyOrderProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Store\/Sql\/PagePropsEntityIdLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/QuantityDetailsFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialListPropertiesDispatchingFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Content\/EntityHolder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Rdbms\/RepoDomainDbFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetPropertyDescriptionsRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/ItemDeserializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":80,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/MediaWikiEditEntityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Sql\/SqlEntityIdPager.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":173,"column":13}]},"\/src\/repo\/repo\/includes\/FederatedProperties\/ApiPrefetchingTermLookup.php":{"errors":2,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$entityId\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":200,"column":5},{"message":"Doc comment for parameter \"$languageCode\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":200,"column":5}]},"\/src\/repo\/view\/tests\/phpunit\/SnakHtmlGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/ReferenceListSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/SiteLinksChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Diff\/EntitySlotDiffRendererTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/ItemStubRdfBuilderIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Term\/TermList.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/rebuildPropertyInfo.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/RestrictedEntityLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/DataAccessSnakFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/PrefetchingEntityTermLookupBase.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":110,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":123,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":136,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":143,"column":15}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Diff\/EntityContentDiffViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Serialization\/CallbackFactory.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":51,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":76,"column":12}]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/NumberLocalizerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchItemDescriptions\/PatchItemDescriptionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/SetQualifierTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchItem\/PatchedItemValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/ApiEntityTitleTextLookup.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":39,"column":13}]},"\/src\/repo\/client\/includes\/Usage\/Sql\/SqlSubscriptionManager.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Notifications\/ChangeNotifierTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Interactors\/TermSearchInteractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/EntityChangeFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/EntityViewTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Term\/Term.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpAliases.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Notifications\/ChangeHolderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/DataValueFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/EntityRetrievingDataTypeLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/BaseUriExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/ApiRequestException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/RdfBuilderFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/ByPropertyIdArrayTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Store\/Sql\/Terms\/TermInLangIdsResolverFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/UsageAccumulatorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Interactors\/MatchingTermsSearchInteractorFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/SingleEntitySourceServicesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/StatementRankSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ValidatorBuilders.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/ChangesListSpecialPageHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Domain\/Services\/StatementReadModelConverterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Sql\/DispatchStats.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":46,"column":13}]},"\/src\/repo\/repo\/includes\/ChangeOp\/GenericChangeOpResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Term\/TermFallback.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/SnakValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/CachingPropertyInfoTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/DataAccessSettingsFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Notifications\/HookChangeTransmitterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/DeserializerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Term\/DescriptionsProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Domain\/Model\/LatestPropertyRevisionMetadataResultTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/TypeValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/PropertyTermStoreWriterAdapterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Usage\/UsageTrackingLanguageFallbackLabelDescriptionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/IdGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/ItemViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/DefaultFederatedPropertiesEntitySourceAdder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/LoadExtensionSchemaUpdatesHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Internal\/MapValueHasherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/NotEqualViolation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/StoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/ClaimsChangeOpDeserializationTester.php":{"errors":9,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$changeRequest\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":26,"column":5},{"message":"Doc comment for parameter \"$entity\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":26,"column":5},{"message":"Doc comment for parameter \"$property\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":26,"column":5},{"message":"Doc comment for parameter \"$changeRequest\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":50,"column":5},{"message":"Doc comment for parameter \"$entity\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":50,"column":5},{"message":"Doc comment for parameter \"$property\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":50,"column":5},{"message":"Doc comment for parameter \"$changeRequest\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":85,"column":5},{"message":"Doc comment for parameter \"$entity\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":85,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":123,"column":20}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/RemoveClaimsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/EntityIdDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetItemAliasesInLanguageRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Interactors\/TermSearchOptions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/BabelUserLanguageLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Validators\/EntityValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/TimeDetailsFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/CachingCommonsMediaFileNameLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/LanguageFallbackChainFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Diff\/ItemDiffVisualizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Term\/AliasGroupFallback.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Units\/UnitStorageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Term\/FingerprintTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetStatement\/GetStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/ExceptionIgnoringEntityLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Normalization\/CommonsMediaValueNormalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/Module\/TemplateModuleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/FederatedPropertiesUiEntityParserOutputGeneratorDecorator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/FormatSnakValueTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/PropertyLookupExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/NonExistingEntityIdHtmlFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/StatementSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/TitleLookupBasedEntityUrlLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/NullEntitySearchHelper.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":12}]},"\/src\/repo\/repo\/includes\/Store\/Sql\/ItemsPerSiteBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/NTriplesRdfTestHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Diff\/DifferencesSnakVisualizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Deserializers\/StatementListDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/PrefetchingTermLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/ByTypeDispatchingEntityPrefetcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/LinkedData\/EntityDataRequestHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/RemoveReferencesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/StoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/DescriptionsChangeOpDeserializationTester.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":62,"column":13}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Domain\/Model\/LatestStatementSubjectRevisionMetadataResultTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/LabelDescriptionLookupExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/CompactBaseDataModelSerializerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/AliasGroupSerializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":30,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/ChangeOpDeserializationAssert.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ValueParserFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/populateWithRandomEntitiesAndTerms.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":293,"column":13}]},"\/src\/repo\/repo\/includes\/Store\/Sql\/SqlEntityIdPagerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Term\/AliasGroup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/SourceAndTypeDispatchingArticleIdLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/RecentChanges\/ChangeLineFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":327,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/ItemLookupExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/DispatchableSerializerTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Store\/Sql\/UnexpectedUnconnectedPagePrimerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/CreateClaimTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/BaseDataModelDeserializerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/DispatchingValueSnakRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/ItemPropertyIdHtmlLinkFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Term\/AliasGroupFallbackTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetItemLabelRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/FormatSnakValueTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/NoopBNodeLabeler.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":16,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/Infrastructure\/ValidatingRequestDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Sql\/SqlItemsWithoutSitelinksFinder.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":66,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/InProcessCachingDataTypeLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Usage\/UsageTrackingSnakFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/SiteLinkSerializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":49,"column":13}]},"\/src\/repo\/lib\/tests\/phpunit\/Units\/UnitConverterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/StatementHtmlGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/PropertyInfoBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/EntityChangeLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/TermChangeOpSerializationValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/SiteLinkSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Diff\/BasicEntityDiffVisualizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/MockPropertyInfoLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/TermsDomainDbFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Domain\/Model\/LatestItemRevisionMetadataResultTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/removeTermsInLanguage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/EntityMetaTagsCreatorTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/MediaWikiLanguageDirectionalityLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/EntityModificationTestHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/PropertyDataTypeLookupExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/SiteLinkTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/SnakListSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/InfoActionHookHandler.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":61,"column":12}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Usage\/NullUsageTrackerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/ApiEntitySearchHelper.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":197,"column":13}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchItemDescriptions\/PatchedItemDescriptionsValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Content\/EntityContent.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/RedirectResolvingLatestRevisionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/ItemDescriptionEditRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/ClaimsChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Term\/TermFallbackTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Notifications\/WikiPageActionEntityChangeFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/ItemSerializationRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/EntityRevisionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/DataTypeSelectorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/AutoCommentFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedItemIdRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/SourceAndTypeDispatchingPrefetchingTermLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/EntityRedirectLookupExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetPropertyLabelRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/SitelinkEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/RevisionBasedEntityRedirectTargetLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Interactors\/MatchingTermsLookupSearchInteractor.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":271,"column":13}]},"\/src\/repo\/repo\/includes\/PropertyServices.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/ChangeOpDeserializationExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/AliasGroupListSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Diff\/BasicDiffViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/PropertyInfoDataTypeLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/ReferenceSerializer.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":60,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":68,"column":13}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Usage\/PageEntityUsagesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Interactors\/TermSearchInteractorFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Interactors\/ConfigurableTermSearchInteractor.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":12}]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetOpenApiDocRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/ItemIdRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Parsers\/TimeParsingIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/StatementGroupRendererFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/LangLinkHandlerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/InterWikiLinkHtmlFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/DatabaseTermInLangIdsAcquirerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Term\/Fingerprint.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/LegacyAdapterItemLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/maintenance\/pruneItemsPerSite.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Usage\/HashUsageAccumulatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/ApiEntityLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/OutputPageJsConfigBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/View\/WikibaseHtmlSnakFormatterFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Term\/AliasesProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/BagOStuffSiteLinkConflictLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/TermSerializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":28,"column":13}]},"\/src\/repo\/repo\/includes\/Specials\/SpecialSetSiteLink.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/EditEntity.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Term\/LabelsProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Term\/TermTypes.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/Sql\/EntityUsageTable.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PropertyLabelEditRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Content\/DeferredDecodingEntityHolder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ValidatorBuildersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Term\/FingerprintProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedItemLabelEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/PropertyIdRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Diff\/DispatchingEntityDiffVisualizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/SiteLinkListSerializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/repo\/includes\/View\/RepoSpecialPageLinker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/CleanTermsIfUnusedJobTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/SiteGroupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedPropertyIdRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedPropertyFieldsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/FedPropertiesTypeDispatchingEntitySearchHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Content\/EntityInstanceHolder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Usage\/RedirectTrackingUsageAccumulatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/HttpResponseMockerTrait.php":{"errors":2,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$response\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":15,"column":5},{"message":"Doc comment for parameter \"$statusCode\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":15,"column":5}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/ReplaceStatement\/ReplaceStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Interactors\/TermSearchResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/EntityReferenceExtractors\/StatementEntityReferenceExtractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedItemRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/SearchEntitiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/SidebarHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/LinkedData\/EntityDataSerializationService.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/ReferenceFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/DeserializedItemAliasesInLanguageEditRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/AliasGroupListSerializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":36,"column":13}]},"\/src\/repo\/client\/includes\/RecentChanges\/SiteLinkCommentCreator.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"...$params\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":317,"column":5}]},"\/src\/repo\/repo\/includes\/Api\/ModifyTerm.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/EntityTypesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Usage\/Sql\/SqlUsageTrackerSchemaUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/GlobeCoordinateDetailsFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/RangeTraversable.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/LatestRevisionIdResultTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/FingerprintChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/PropertyDataTypeChanger.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/ApiServiceFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":73,"column":13}]},"\/src\/repo\/repo\/includes\/Content\/EntityContentDiff.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/SitelinkEditRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/RedirectResolvingEntityLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/CachingOtherProjectsSitesProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/StatementSerializationRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Usage\/ParserOutputUsageAccumulatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/OtherProjectsSidebarGeneratorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/RecentChanges\/ExternalChange.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/EntityReferenceExtractors\/SiteLinkBadgeItemReferenceExtractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Parsers\/TimeFormatterParserRoundtripTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/PropertySerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/LoginFormValidErrorMessagesHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/NullEntityMentionListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/SiteLinkTargetProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/SetItemDescription\/SetItemDescriptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetItemRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/EntityNamespaceLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/NullDedupeBag.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/CachedDatabasePropertyLabelResolverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/TermLookupExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetItemStatement\/GetItemStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Diff\/ItemDiffVisualizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/ByTypeDispatchingEntityIdLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/LabelsChangeOpDeserializationTester.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":60,"column":13}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/SidebarLinkBadgeDisplayTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/FormatEntitiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Term\/AliasGroupList.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/SimpleEntityTermsViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/EchoNotificationsHandlers.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/GenericActionApiClient.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":64,"column":13}]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/DeletePageNoticeCreatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/NamespaceChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/Application\/UseCaseRequestValidation\/ItemLabelEditRequestValidatingDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/src\/Serializers\/StatementSerializer.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":83,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":118,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":127,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/ReferenceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/PropertyValueSnakFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/SourceAndTypeDispatchingUrlLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/AliasGroupSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/MaxReferencedEntityVisitsExhaustedExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/EntityReferenceExtractors\/EntityReferenceExtractorDelegatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/WrappingEntityIdFormatterFactory.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":27,"column":12}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/EditMetadataRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Merge\/StatementsMergerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/NamespaceCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/EntityDifferStrategy.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/SkinAfterPortletHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/ApiEntityExistenceChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/TermInLangIdsResolverFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialEntityPageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeModification\/DispatchChangeDeletionNotificationJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/SetReferenceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/WikitextExternalIdentifierFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":31,"column":13}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetPropertyDescription\/GetPropertyDescriptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/ReferencedEntityIdLookupExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialMergeItems.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Store\/Sql\/SqlStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/ByTypeDispatchingEntityRevisionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/PropertyChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/ApiPropertyDataTypeLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/ApiRequestExecutionException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/UtilsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/ItemPropertyIdHtmlLinkFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/EntityReferenceExtractors\/EntityReferenceExtractorCollectionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ServiceWiring\/EntitySourceDefinitionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Diff\/ClaimDifferenceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/SearchEntitiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialPageCopyrightViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/SiteLinkList.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/ReferenceSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/RecentChanges\/ExternalChangeFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/MappedRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/NoLangLinkHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/RemoveItemStatement\/RemoveItemStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/SetItemDescriptionRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/SetClaimValueTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/RemoveClaims.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialSetLabelTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/PlaintextTimeFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":51,"column":12}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/PropertyDiffer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":64,"column":12}]},"\/src\/repo\/repo\/includes\/FederatedProperties\/ApiEntityUrlLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Term\/AliasGroupListTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Merge\/Validator\/NoCrossReferencingStatementsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/Deserialization\/ChangeOpDeserializerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/ParserHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/DeferredCopyEntityHolderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeModification\/DispatchChangeModificationNotificationJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Parsers\/MwDateFormatParserFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/LoginFormValidErrorMessagesHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/ResponseFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/RecentChanges\/RecentChangesFinder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/HtmlExternalIdentifierFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Entity\/BasicEntityIdParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/FederatedProperties\/FederatedPropertiesPrefetchingEntityParserOutputGeneratorDecorator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/EntityInstanceHolderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Parsers\/MediaWikiMonthNameProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/ItemPatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/TermsListViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/data-access\/tests\/phpunit\/FakePrefetchingTermLookup.php":{"errors":9,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":44,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":48,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":67,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":81,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":86,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":90,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":99,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":103,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":112,"column":12}]},"\/src\/repo\/lib\/includes\/Formatters\/EscapingSnakFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/EntityRetrievingTermLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchItemAliases\/PatchedItemAliasesValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Merge\/MergeFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/ParserOutputUpdateHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpsResultTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/Termbox\/TermboxModuleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/FormatEntitiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialDispatchStatsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/EntityIdLinkFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Diff\/ClaimDifferTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/LanguageFallbackChainFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/SetClaimTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpApplyExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/ValidatingRequestDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/EntityIdValue.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/StatementListProvidingEntity.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/includes\/Formatters\/MediaWikiNumberLocalizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/LegacyAdapterPropertyLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Diff\/DiffOpValueFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/GetEntitiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/IntegrationApiTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/BuilderBasedDataTypeValidatorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/CreateRedirect.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetPropertyRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/ItemDiffer.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":64,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":75,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":86,"column":13}]},"\/src\/repo\/client\/includes\/Hooks\/DeletePageNoticeCreator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Api\/FederatedPropertiesApiTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialAvailableBadgesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/InMemoryDataTypeLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/maintenance\/populateSitesTable.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/NumericPropertyId.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":25,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/EntityIdParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/WikiPageEntityRevisionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ArrayValueCollectorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/AddPropertyAliasesInLanguage\/AddPropertyAliasesInLanguageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/StatementListDiffer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":43,"column":13}]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/OutputFormatSnakFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Entity\/ItemIdSetTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialListDatatypesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpFingerprintTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/EntityIdParsingException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/unit\/Serializers\/ItemSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/DatabasePropertyTermStoreWriterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Diff\/EntityDiffVisualizerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/BasicEntityIdParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/ParserFunctionRegistrant.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/RdfVocabulary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/resources\/Resources.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/ApiEntityUrlLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/JsonDiffJsonPatchValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeModification\/DispatchChangesJob.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":113,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":185,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/ApiHelperFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/CommonsLinkFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/EntityDiffer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/OutputPageBeforeHTMLHookHandler.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":71,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ValueParserFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/TermIndexEntryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/ItemDiff.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/integration\/StatementSerializationRoundtripTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Hooks\/HtmlPageLinkRendererEndHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/DatabaseUsageCheckingTermStoreCleanerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/EntityPatcherStrategy.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/WikibaseLib.entitytypes.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/StringLengthValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/TrivialHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/TermFallbackCache\/TermFallbackServiceFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Usage\/ImplicitDescriptionUsageLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/DeserializedRequestAdapterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/PropertyPatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/DateTimeValueCleaner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Parsers\/MwTimeIsoParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeModification\/DispatchChangeVisibilityNotificationJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/RecentChanges\/RecentChangeFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"...$params\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":381,"column":5}]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/PatchItemRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/MakeGlobalVariablesScriptHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/RecentChanges\/RecentChangeFactoryTest.php":{"errors":3,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$entitySourceDefinitions\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":39,"column":5},{"message":"Doc comment for parameter \"$clientDomainDb\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":39,"column":5},{"message":"Doc comment for parameter \"$centralIdLookup\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":39,"column":5}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Diff\/SiteLinkDiffViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialListPropertiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/EntityMentionListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/ParserOutputUpdateHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/ItemTermsRebuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchItemAliases\/PatchItemAliasesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/EntityLoadingHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/NumberValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/EntityPatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/PrefetchingWikiPageEntityMetaDataAccessorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/PropertyIdValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/integration\/EntitySerializationRoundtripTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/TermValidatorFactoryItemDescriptionValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/DatabaseTermStoreWriterTestGetTermsTrait.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":27,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialMyLanguageFallbackChainTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Usage\/EntityUsageFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialSetLabelDescriptionAliases.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":554,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/LegacyDeserializerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/RecentChanges\/ExternalChangeTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/WikibaseRepo.entitytypes.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/SidebarLinkBadgeDisplay.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/view\/tests\/phpunit\/Termbox\/Renderer\/TermboxRemoteRendererTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$languages\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":342,"column":5}]},"\/src\/repo\/client\/includes\/RecentChanges\/RevisionData.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/FieldsFilterValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/SnakFactory.php":{"errors":5,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$propertyId\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":44,"column":5},{"message":"Doc comment for parameter \"$snakType\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":44,"column":5},{"message":"Doc comment for parameter \"$rawValue\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":44,"column":5},{"message":"Doc comment for parameter \"$dataType\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":70,"column":5},{"message":"Doc comment for parameter \"$rawValue\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":70,"column":5}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/TermListPatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/integration\/SiteLinkSerializationRoundtripTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpAliasesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/WikiPageItemOrderProviderTestHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/Property.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialSetAliasesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/DataFieldValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Content\/EntityHandler.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":174,"column":15},{"message":"Doc comment for parameter \"$entityId\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":180,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":874,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/EntityTypeAwareDiffOpFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/WikibaseRepo.FederatedProperties.OverrideEntityServices.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/OtherProjectsSidebarGeneratorFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/GenericEventDispatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialItemsWithoutSitelinksTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/Deserializers\/LegacySnakDeserializer.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":54,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":72,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":102,"column":13}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/EntityDocument.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/TermFallbackCache\/TermFallbackCacheFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/SnakRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/mocks\/MockClientStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/InfoActionHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Actions\/HistoryEntityActionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/ParseValueTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/RdfProducer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchSitelinks\/PatchSitelinksTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Content\/DeferredCopyEntityHolder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/SiteLinkUniquenessValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetItemStatements\/GetItemStatementsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/EntityContentTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/TermIndexSearchCriteriaTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/integration\/SnakSerializationRoundtripTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/Helpers\/OutputPageEntityViewChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ClaimSummaryBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/EntityRedirect.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/AddPropertyStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/PropertyAliasesInLanguageEditRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/StatementChangeOpFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/LabelsProviderEntityIdHtmlLinkFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/MovePageNotice.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/HashDedupeBag.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/EntityDiff.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/TermFallbackCache\/TermFallbackCacheFacadeTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Rdf\/DedupeBag.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/TermboxFlag.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/EntityRetrievingClosestReferencedEntityIdLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/internal-serialization\/src\/Deserializers\/LegacyStatementDeserializer.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":57,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":63,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":82,"column":13}]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/UnDeserializableValueFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/ApiEntitySearchHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/integration\/SnakListSerializationRoundtripTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Hooks\/Helpers\/UserPreferredContentLanguagesLookup.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":29,"column":12}]},"\/src\/repo\/repo\/includes\/Content\/PropertyContent.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":49,"column":15}]},"\/src\/repo\/repo\/includes\/Hooks\/Helpers\/OutputPageRevisionIdReader.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/LabelUniquenessValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/WikiPageEntityDataLoaderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/StatementListPatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/MockMatchingTermsLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/mocks\/Usage\/UsageAccumulatorContractTester.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/SetQualifier.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/InMemoryTermStoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpRemoveStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/integration\/EntityDeserializationCompatibilityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialItemDisambiguationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/TypeValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/TypeDispatchingEntitySearchHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Parsers\/DateFormatParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/GenericActionApiClientTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/DeferredDecodingEntityHolderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/Internal\/SiteLinkListPatcher.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":74,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/TypeDispatchingEntityTitleStoreLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/integration\/ReferenceSerializationRoundtripTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Content\/ContentHandlerEntityTitleLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/EditSummaryFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/resources\/Resources.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/RecentChanges\/SiteLinkCommentCreatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/ExampleSettings.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/DatabaseTypeIdsStoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/FederatedPropertiesEntityIdFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/Internal\/FingerprintPatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/UpdateRepoHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/FullEntityParserOutputGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpQualifierRemoveTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Parsers\/MonolingualTextParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/InMemoryEntityLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/UrlValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/ItemDescriptionEditRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/AddItemStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/WikibaseSettingsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/DispatchingValueFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/integration\/StatementListSerializationRoundtripTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Actions\/ViewEntityActionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/EntityParserOutputDataUpdaterCollection.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Parsers\/WikibaseStringValueNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/FederatedProperties\/Specials\/SpecialListFederatedPropertiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/UnknownForeignRepositoryExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/selenium\/LocalSettings.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/Item.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/CompositeEntityValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/ClientDefaultsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/EntityLookupExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/PropertyParserOutputUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/CacheRetrievingEntityRevisionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/RecentChanges\/RevisionDataTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialNewItem.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/ItemIdParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/DataTypeTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/MagicWordHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-serialization\/tests\/integration\/ReferencesSerializationRoundtripTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/EntityId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/ClientNoBadUsageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchSitelinks\/PatchedSitelinksValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/src\/Entity\/Int32EntityId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/FallbackHintHtmlTermRenderer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchPropertyLabels\/PatchPropertyLabelsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/WikitextExternalIdentifierFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Diff\/Internal\/AliasGroupListPatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/TermsEditSummaryToFormattableSummaryConverterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/FakeCache.php":{"errors":7,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":20,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":36,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":40,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":49,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":55,"column":12}]},"\/src\/repo\/repo\/includes\/ParserOutput\/CompositeStatementDataUpdater.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":16,"column":12}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Entity\/PropertyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/EntityId\/EntityIdFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/LangLinkHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/PropertyTermsRebuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/StatementDataUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/PatchRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetPropertyDescriptionWithFallbackRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Parsers\/EntityIdValueParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/EntityId\/InMemoryEntityIdPager.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":53,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":57,"column":12}]},"\/src\/repo\/client\/includes\/Hooks\/ExtensionLoadHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/EntityConstraintProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/DisabledEntityTypesEntityLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/TitleLookupBasedEntityExistenceCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/PrefetchingPropertyTermLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataBridge\/DataBridgeConfigValueProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/EntityId\/EntityIdPager.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/StatsdTimeRecordingEntityParserOutputGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/LanguageLinkBadgeDisplay.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/PropertyHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Lookup\/MaxReferenceDepthExhaustedExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/changes\/src\/EntityDiffChangedAspects.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/maintenance\/PopulateUnexpectedUnconnectedPagePagePropTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/EntityTerms.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Entity\/EntityIdTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/EntitySavingHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/EntityId\/EntityIdLabelFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/HtmlTimeFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/WikibaseClientHookRunner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/StatementIdRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/WikibaseHandleChangeHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/GlobeCoordinateKartographerDataUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Entity\/PropertyDataTypeMatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/TestValidatingRequestDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/EntityId\/EscapingEntityIdFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialItemDisambiguation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/EntityId\/SeekableEntityIdPager.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialNewPropertyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/EntityId\/PlainEntityIdFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetPropertyStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/UrlSchemeValidatorsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Statement\/Filter\/PropertySetStatementFilterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/ConceptUriSearchHelper.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":35,"column":12}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/PropertyIdFilterValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpTestMockProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialSetDescriptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/RedirectResolvingLatestRevisionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/SiteLinksForDisplayLookup.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":107,"column":13}]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/MoreLikeWikibaseTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Statement\/Filter\/NullStatementFilterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/TermLanguageFallbackChainTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Parsers\/MediaWikiNumberUnlocalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialListDatatypes.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":71,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":75,"column":15}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/EntityId\/EntityIdComposer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/AlternativeValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/PropertyDataTypeSearchHelper.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":33,"column":12}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Entity\/ItemIdTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/SetSitelink\/SetSitelinkTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/EntityId\/SuffixEntityIdParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/PlaceholderEmittingEntityTermsView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/TitleLookupBasedEntityRedirectCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/PrefetchingItemTermLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangedLanguagesCollectorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/TestValidatingRequestDeserializerServiceContainer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/EchoSetupHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/EntityLookupException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/tests\/unit\/Statement\/Filter\/DataTypeStatementFilterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/TermCacheKeyBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/DispatchingEntityMetaTagsCreatorFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":31,"column":12}]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/EntityRetrievingDataTypeLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchPropertyLabels\/PatchedPropertyLabelsValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/EntityByTitleHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/EntityUriValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/ConvertArrayObjectToArrayTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/ExceptionIgnoringEntityLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialModifyTermTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/LanguageCodeRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Actions\/ActionTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialWikibaseQueryPage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/WikibaseClient.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/ReferencedEntitiesDataUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/PropertyLabelNotResolvedException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/RemoveSitelinkRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/InterWikiLinkExistsValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/Wikibase.i18n.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/SidebarHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCaseRequestValidation\/SiteIdRequestValidatingDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/config\/Wikibase.ci.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/UseCaseErrorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/NumberRangeValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/DataUpdateHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetItemAliases\/GetItemAliasesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/DescriptionProviderHookHandler.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":36,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Parsers\/MwEraParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/EntityRetrievingTermLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/Changes\/InjectRCRecordsJobTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/DataValueValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/EntityRevisionLookupItemDataRetrieverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/PageImagesDataUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/MaxReferenceDepthExhaustedException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/Terms\/DatabaseMatchingTermsLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/SpecialWikibaseRepoPage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/ListSubscribers.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/TestValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/ChangeModification\/ChangeModificationNotificationJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/CreateItem\/CreateItemTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetLatestStatementSubjectRevisionMetadataTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/HTMLForm\/HTMLTrimmedTextField.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":26,"column":12}]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/CachingEntityRevisionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/LoadExtensionSchemaUpdatesHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/UniquenessViolationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpMainSnakTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/SetPropertyLabelRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/RestrictedEntityLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/RecentChanges\/ExternalChangeFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/LanguageBoundChangeOpResultStub.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/ChangesListLinesHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/ChangeModification\/ChangeDeletionNotificationJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/EntityTermsViewFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":45,"column":13}]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/OtherProjectsSitesGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/MaxReferencedEntityVisitsExhaustedException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/PrefetchingTermLookupAliasesRetrieverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/TimestampPrecisionValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/TermLookupException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/Middleware\/RequestPreconditionCheck.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/ItemParserOutputUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/ChangeModification\/ChangeVisibilityNotificationJob.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":44,"column":19}]},"\/src\/repo\/repo\/includes\/Specials\/HTMLForm\/HTMLAliasesField.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/EntityNamespaceLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/SidebarLinkBadgeDisplayTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/WikibaseRepo.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/config\/Wikibase.default.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/EntityIdSearchHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialRedirectEntityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/Middleware\/MiddlewareHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/Middleware\/UserAgentCheckMiddleware.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetPropertyStatements\/GetPropertyStatementsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/FallbackPropertyOrderProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/config\/Wikibase.searchindex.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Hooks\/SkinAfterBottomScriptsHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/ValidatorErrorLocalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/HTMLForm\/HTMLItemReferenceField.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/Middleware\/RequestPreconditionCheckResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/EchoSetupHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/SqlChangeStoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/WikibaseValueFormatterBuildersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpFingerprintResultTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/ParserOutput\/ClientParserOutputDataUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/Middleware\/StatementRedirectMiddleware.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/ParserOutput\/ParserWrappingParserOutputProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/ReplacePropertyStatement\/ReplacePropertyStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/StatementSubjectRetrieverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/PlaceholderExpander\/EntityViewPlaceholderExpander.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Specials\/HTMLForm\/HTMLContentLanguageField.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":72,"column":12}]},"\/src\/repo\/client\/includes\/ParserOutput\/ScopedParserOutputProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialNewEntityTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/Middleware\/PreconditionMiddleware.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/PlaceholderExpander\/PlaceholderExpander.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/RecentChanges\/RecentChangesFinderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/ParserOutput\/ParserOutputProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/NonLanguageBoundChangesCounterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/CachingPrefetchingTermLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/TypeDispatchingEntityRevisionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/EntityRetrievingClosestReferencedEntityIdLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/MagicWordHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataBridge\/DataBridgeConfigValueProvider.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":19,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/EntityExistsValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/Middleware\/TempUserCreationResponseHeaderMiddleware.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/StatementModificationHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/LabelDescriptionLookupException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/Middleware\/Middleware.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/ParserFunctions\/LanguageAwareRendererTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/EntityChangeLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model-services\/src\/Lookup\/PropertyDataTypeLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/InMemoryStatementRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/Middleware\/PreconditionMiddlewareFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ParserOutput\/PlaceholderExpander\/ExternallyRenderedEntityViewPlaceholderExpander.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":70,"column":12}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchItemLabels\/PatchItemLabelsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Validation\/ItemValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/MembershipValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/Middleware\/UnexpectedErrorHandlerMiddleware.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/CompositeSiteLinkConflictLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/Middleware\/AuthenticationMiddleware.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataBridge\/DataBridgeResourceLoaderModules.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/ItemTermStoreWriterAdapterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/CommonsMediaExistsValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Parsers\/TimeParserFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/Middleware\/StatementRedirectMiddlewareFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/MoreLikeWikibase.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":16,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":20,"column":15}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/ParameterizedDescriptionTraitTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/AddItemAliasesInLanguage\/AddItemAliasesInLanguageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/EntityHandlerTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/RateLimitingIdGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/WikiTextPropertyOrderProviderTestHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/Middleware\/BotRightCheckMiddleware.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/EntityIdHtmlLinkFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeOp\/ChangeOpDescriptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/TimeDetailsFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/DataUpdateAdapterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/EchoNotificationsHandlersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Entity\/ItemTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/SetSiteLinkTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/EntityUpdaterPropertyUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/EntityIdLocalPartPageTableEntityQueryUnitTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Validation\/LabelsAndDescriptionsContentsValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/SetSiteLink.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":212,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/FingerprintUniquenessValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetPropertyLabels\/GetPropertyLabelsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/EditPageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/MessageSnakFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/SourceAndTypeDispatchingExistenceCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/MovePageNoticeTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/FederatedPropertyApiValidatorTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/ContentHandlerEntityIdLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/EscapingSnakFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Entity\/EntityRedirectTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/NotEntityIdValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/ParserHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/MockPropertyInfoLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/PatchPropertyRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchItemLabels\/PatchedItemLabelsValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Entity\/ItemIdParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/RegexValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Validation\/DescriptionsSyntaxValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/WikiPageEntityRedirectLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/SiteLinkTableTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/PropertyDataTypeSearchHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/EntityUpdaterStatementUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/WikiPageItemOrderProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/AutoCommentFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Entity\/DispatchingEntityIdParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/DescriptionProviderHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Changes\/AffectedPagesFinder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchItemStatement\/PatchItemStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/ParserFunctions\/StatementGroupRendererFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Actions\/EditEntityActionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetPropertyLabelWithFallbackRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Validation\/LabelsSyntaxValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/PropertyContentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/ParserFunctions\/VariantsAwareRendererTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/LocalizedTextProviderFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Validators\/LabelDescriptionNotEqualValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Entity\/NumericPropertyIdTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/CombinedEntitySearchHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/RemoveReferences.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/ErrorHandlingSnakFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/RevisionBasedEntityLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/WikibaseRepo.datatypes.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/GlobeCoordinateInlineWikitextKartographerFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/TitleLookupBasedEntityTitleTextLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/PropertyInfoTableTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/RecentChanges\/ChangeLineFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/ItemPartsSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchPropertyStatement\/PatchPropertyStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Changes\/ChangeHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/EntityIdTitleFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/AddPropertyAliasesInLanguageRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/ListSubscribersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/DispatchingFallbackLabelDescriptionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Changes\/PageUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/SitelinksSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/HtmlUrlFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/ChangesListLinesHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/Entity\/EntityIdValueTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/HttpUrlPropertyOrderProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/LabelsSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/EntityRevisionLookupPropertyDataRetrieverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialNewItemTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetItem\/GetItemTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/unit\/includes\/DataAccess\/ParserFunctions\/RunnerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/Sql\/EntityIdLocalPartPageTableEntityQueryDbTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/SourceAndTypeDispatchingRedirectCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Reporting\/ReportingExceptionHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Validation\/StatementsValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Reporting\/RethrowingExceptionHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/HTMLForm\/HTMLItemReferenceFieldTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$params\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":88,"column":5}]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/ShowCalendarModelDeciderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/MediaWikiContentLanguagesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/WikiPageEntityMetaDataLookupTest.php":{"errors":2,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$realDB\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":161,"column":5},{"message":"Doc comment for parameter \"$selectCount\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":161,"column":5}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetPropertyDescriptions\/GetPropertyDescriptionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/maintenance\/DumpRdfTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/CommonsThumbnailFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/SetClaim.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/AliasesDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/LinkedData\/EntityDataSerializationServiceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Changes\/InjectRCRecordsJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Validation\/EditMetadataValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/InMemoryItemRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/ItemHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/NewStatement.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Normalization\/ReferenceNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Validation\/PropertyIdValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/RepoHooksTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/InterWikiLinkWikitextFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/HTMLForm\/HTMLAliasesFieldTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/maintenance\/PruneItemsPerSiteTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/Terms\/EntityTermsSelectQueryBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/WikibaseEntityRevisionLookupPropertyRevisionMetadataRetrieverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/HashSiteLinkStoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/MonolingualHtmlFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/StatementReadModelHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Hooks\/BeforePageDisplayHandlerTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$tempUser\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":261,"column":5}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/DefaultFederatedPropertiesEntitySourceAdderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Normalization\/StringValueNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/UnmappedEntityIdValueFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/HTMLForm\/HTMLContentLanguageFieldTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/maintenance\/ResubmitChangesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Store\/WikiPagePropertyOrderProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/GlobalStateFactoryMethodsResourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/PropertyValuePairSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/EntityIdSiteLinkFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/SetItemLabel\/SetItemLabelTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Normalization\/StatementNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/SetReferenceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/LinkedData\/EntityDataFormatProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/DescriptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Changes\/WikiPageUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/WikibaseClientTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/DescriptionsSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/maintenance\/AddUnitsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialItemByTitleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/SetItemLabel\/SetItemLabelRequestTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Validation\/AliasesValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Notifications\/PageConnectionPresentationModelTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/BinaryOptionDispatchingSnakFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/StatementListSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ClaimSummaryBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/LinkedData\/EntityDataSerializationServiceIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/LinkTitles.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/WikibaseRepoSchemaTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Validation\/StatementIdValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/maintenance\/DumpEntitiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/DispatchingEntityIdHtmlLinkFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/ChangeModification\/ChangeVisibilityNotificationJobTest.php":{"errors":2,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$expectedRedactedTitles\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":100,"column":5},{"message":"Doc comment for parameter \"$visibilityBitFlag\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":100,"column":5}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Validation\/SiteIdValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/MonolingualTextFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetPropertyDescriptionWithFallback\/GetPropertyDescriptionWithFallbackTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/CachingCommonsMediaFileNameLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/ChangeModification\/ChangeDeletionNotificationJobTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/EntityIdLabelFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Normalization\/SnakNormalizerTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$return\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":62,"column":5}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/PropertyPartsSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/View\/RepoSpecialPageLinkerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/LinkedData\/EntityDataUriManagerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetPropertyAliases\/GetPropertyAliasesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/SetClaimValue.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Changes\/ChangeRunCoalescer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/Changes\/MergeFailedException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Validation\/StatementValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/OtherProjectsSitesProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/SetClaimValueTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/View\/WikibaseHtmlSnakFormatterFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Normalization\/CompositeDataValueNormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/WikibaseRepoTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/EntityStubRdfBuilderFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/ChangeModification\/RecentChangesModificationTestBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/EntityChangeNotificationJob.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":40,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":54,"column":19}]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Specials\/SpecialUnconnectedPagesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/maintenance\/DumpJsonTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/SettingsArrayTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/EntityUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetItemDescription\/GetItemDescriptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetSitelink\/GetSitelinkTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Changes\/MockPageUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/PropertyIdResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/maintenance\/ImportFederatedPropertiesSampleDataTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/TruthyStatementRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/Terms\/DatabaseTermsCollisionDetectorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/WikibaseEntityRevisionLookupItemRevisionMetadataRetrieverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/packages\/wikibase\/data-model\/tests\/unit\/ReferenceListTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/HashDedupeBagTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/PropertyValuePairDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/GetClaims.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetItemDescriptions\/GetItemDescriptionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/ItemContentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Specials\/SpecialEntityUsageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/DataAccessSnakFormatterFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":78,"column":12}]},"\/src\/repo\/lib\/tests\/phpunit\/Serialization\/SerializationModifierTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/MwTimeIsoFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/maintenance\/RebuildItemsPerSiteTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/StatementSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialSetLabelDescriptionAliasesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Specials\/SpecialPagesWithBadgesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/LinkedData\/EntityDataTestProvider.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":50,"column":19}]},"\/src\/repo\/client\/includes\/DataAccess\/ParserFunctions\/VariantsAwareRenderer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/MediaWikiNumberLocalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/AliasesSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Serialization\/CallbackFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/HtmlAssertionHelpers.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":102,"column":15}]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Changes\/ChangeRunCoalescerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/WikibaseEntityPermissionCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/AssertUserIsAuthorizedTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/EntityTestHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Formatters\/NonExistingEntityIdHtmlBrokenLinkFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Interactors\/TermSearchResultTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/EntityContentFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Usage\/UsageTrackingIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetItemLabelWithFallback\/GetItemLabelWithFallbackTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/EntityContentDiffTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/EntityUpdaterStatementRemoverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/SqlEntityIdPagerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/ParserFunctions\/StatementGroupRendererFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialGoToLinkedPageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/SitelinkDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/ModifyEntity.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Usage\/UsageTrackerContractTester.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":55,"column":13}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Content\/ContentHandlerEntityTitleLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/WikibaseEntityRevisionLookupStatementSubjectRevisionMetadataRetrieverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/RdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/ChangesSubscriptionTableBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/FedPropertiesTypeDispatchingEntitySearchHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/ParserFunctions\/Runner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/ParserFunctions\/StatementGroupRenderer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/SetLabel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Interactors\/MatchingTermsLookupSearchInteractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/LinkedData\/EntityDataRequestHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Interactors\/MatchingTermsSearchInteractorFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/ItemStubRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/RemoveItemLabel\/RemoveItemLabelTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/lib\/tests\/phpunit\/Interactors\/TermSearchOptionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/ParserFunctions\/LanguageAwareRenderer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/TypeDispatchingWikiPageEntityMetaDataAccessorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/MetaContentLanguages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/SiteLinkTargetProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/EntityRevisionLookupStatementRetrieverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/StatementDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/SqlEntityIdPagerFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/SameTitleSitelinkTargetResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/SitelinkSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Usage\/ParsoidUsageTrackingTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/SetAliasesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/SqlSubscriptionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetItemLabel\/GetItemLabelTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/AliasesInLanguageDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/DateTimeValueCleanerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/SiteLinkPageNormalizerSitelinkTargetResolverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/StatementGrouperBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Changes\/ChangeHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/SqlItemsWithoutSitelinksFinderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/Scribunto\/WikibaseEntityLibrary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/LabelsDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Specials\/SpecialMergeItemsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Rdf\/SiteLinksRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/MergeItems.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/LinkTitlesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/ReplaceItemStatement\/ReplaceItemStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/Scribunto\/SnakSerializationRenderer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Usage\/UsageLookupContractTester.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":47,"column":13}]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/InMemoryPropertyRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/PropertySerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Infrastructure\/DataAccess\/DummyItemRevisionMetaDataRetriever.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchJsonTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/QuerySearchEntities.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Usage\/Sql\/SqlSubscriptionManagerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/SqlStoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/DescriptionsDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/Scribunto\/WikibaseLuaEntityBindings.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeModification\/DispatchChangeVisibilityNotificationJobTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/SqlSiteLinkConflictLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/ApiErrorReporter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/Scribunto\/WikitextPreprocessingSnakFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/ReferenceSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/RemoveQualifiers.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/CreateProperty\/CreatePropertyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/ReferenceDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Usage\/Sql\/SqlUsageTrackerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/CreateRedirectTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeModification\/DispatchChangesJobTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/Serialization\/ItemSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/GetEntities.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Usage\/Sql\/EntityUsageTableBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/GetEntitiesRedirectTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ChangeModification\/DispatchChangeDeletionNotificationJobTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/architecture\/ArchitectureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Dumpers\/JsonDataTypeInjector.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":12}]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Changes\/AffectedPagesFinderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ItemMoveTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/SetAliases.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Dumpers\/JsonDumpGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/DispatchingEntityViewFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/ApiErrorReporterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/EditEntityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/CreateProperty\/CreatePropertyValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Usage\/Sql\/EntityUsageTableTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetProperty\/GetPropertyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/WikibaseClient.entitytypes.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/Scribunto\/WikibaseLibrary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/EditSummaryHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/Changes\/WikiPageUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/GetPropertyStatement\/GetPropertyStatementTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/EntityParserOutputGeneratorTestBase.php":{"errors":4,"warnings":0,"messages":[{"message":"Doc comment for parameter \"$title\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":130,"column":5},{"message":"Doc comment for parameter \"$description\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":130,"column":5},{"message":"Doc comment for parameter \"$title\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":143,"column":5},{"message":"Doc comment for parameter \"$description\" missing","source":"MediaWiki.Commenting.FunctionComment.MissingParamTag","severity":5,"fixable":false,"type":"ERROR","line":143,"column":5}]},"\/src\/repo\/repo\/includes\/Dumpers\/DumpGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/SetReference.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/ParserOutput\/ParserOutputJsConfigBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/WikibaseClient.datatypes.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/RemoveQualifiersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/Scribunto\/EntityAccessor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/DataAccess\/ParserFunctions\/PropertyParserFunctionIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Dumpers\/RdfDumpGenerator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":146,"column":20}]},"\/src\/repo\/repo\/includes\/MaintenanceShellStart.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/WikiPageEntityStoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/ChangeOp\/ChangeOpMainSnak.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/ParseValue.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/PropertyInfoTableBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/tests\/phpunit\/Application\/UseCases\/PatchProperty\/PatchPropertyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/config\/WikibaseClient.default.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/SqlIdGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/ItemsPerSiteBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/UpsertSqlIdGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/DataAccess\/ParserFunctions\/StatementsParserFunctionIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/SetClaimTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/AvailableBadgesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/Scribunto\/WikibaseLanguageIndependentLuaBindings.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/DispatchStatsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/CreateClaim.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Store\/Sql\/DatabaseSchemaUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/EntityTypeDefinitionsIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/ApiUserBlockedTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/includes\/Api\/CombinedEntitySearchHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/Scribunto\/CachingFallbackBasedTermLookup.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":81,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":85,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":134,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":147,"column":12}]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/ConceptUriSearchHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/includes\/DataAccess\/Scribunto\/LuaFunctionCallTracker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/DataAccess\/DataAccessSnakFormatterOutputFormatTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/EditEntityFingerprintUniquenessIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/client\/tests\/phpunit\/integration\/includes\/DataAccess\/Scribunto\/WikibaseLibraryNoArbitraryAccessTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/BotEditTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/HtmlPageLinkRendererEndHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/Helpers\/OutputPageEditabilityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Hooks\/Helpers\/OutputPageRevisionIdReaderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/ResultBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/EntityTermSearchHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/PermissionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/TermTestHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/GetClaimsStatementFilterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/WikibaseRepo.ServiceWiring.php":{"errors":0,"warnings":1,"messages":[{"message":"Line exceeds 140 characters; contains 142 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":893,"column":142}]},"\/src\/repo\/repo\/WikibaseRepo.i18n.magic.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/EditEntityClearChangeOpValidateIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/StatementModificationHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/ApiConventionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/GetEntitiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/ApiModuleTestHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/tests\/phpunit\/includes\/Api\/ApiFormatTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/WbRestApi.ServiceWiring.php":{"errors":0,"warnings":22,"messages":[{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":206,"column":5},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":211,"column":5},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":221,"column":5},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":229,"column":5},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":240,"column":5},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":247,"column":5},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":251,"column":5},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":262,"column":5},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":305,"column":5},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":309,"column":5},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":314,"column":5},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":318,"column":5},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":326,"column":5},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":334,"column":5},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":341,"column":5},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":351,"column":5},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":358,"column":5},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":369,"column":5},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":373,"column":5},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":383,"column":5},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":392,"column":5},{"message":"Found duplicate key \"VRD\" on array required sorting","source":"MediaWiki.Arrays.AlphabeticArraySort.Duplicate","severity":5,"fixable":false,"type":"WARNING","line":401,"column":5}]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/PatchPropertyAliasesRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/ReplacePropertyStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetPropertyAliasesInLanguageRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetPropertyLabelsRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/RemovePropertyLabelRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/PatchItemAliasesRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetPropertyStatementsRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetSitelinkRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/PatchPropertyStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/RemoveItemStatementRouteHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/AssertValidTopLevelFields.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/repo\/rest-api\/src\/RouteHandlers\/GetItemDescriptionRouteHandler.php":{"errors":0,"warnings":0,"messages":[]}}} --- end --- * sniff MediaWiki.Usage.StaticClosure.StaticClosure is no longer failing * sniff MediaWiki.Arrays.AlphabeticArraySort.Duplicate is now failing * sniff Generic.Files.LineLength.TooLong is now failing $ git checkout .phpcs.xml --- stderr --- Updated 1 path from the index --- stdout --- --- end --- $ /usr/bin/composer install --- stderr --- Installing dependencies from lock file (including require-dev) Verifying lock file contents can be installed on current platform. Nothing to install, update or remove Generating autoload files 23 packages you are using are looking for funding. Use the `composer fund` command to find out more! --- stdout --- --- end --- $ /usr/bin/composer test --- stderr --- > composer validate --no-interaction > composer lint > parallel-lint . --exclude vendor --exclude node_modules --exclude .git --exclude lib/packages/*/*/vendor > composer phpcs > phpcs -p -s --cache > composer phpcs:rest-api > phpcs -p -s --standard=./repo/rest-api/ruleset.xml repo/rest-api/ > composer phpstan > bash build/runPhpstanUnlessMissingDeps.sh > minus-x check . --- stdout --- ./composer.json is valid PHP 8.2.20 | 10 parallel jobs ............................................................ 60/3362 ( 1%) ............................................................ 120/3362 ( 3%) ............................................................ 180/3362 ( 5%) ............................................................ 240/3362 ( 7%) ............................................................ 300/3362 ( 8%) ............................................................ 360/3362 ( 10%) ............................................................ 420/3362 ( 12%) ............................................................ 480/3362 ( 14%) ............................................................ 540/3362 ( 16%) ............................................................ 600/3362 ( 17%) ............................................................ 660/3362 ( 19%) ............................................................ 720/3362 ( 21%) ............................................................ 780/3362 ( 23%) ............................................................ 840/3362 ( 24%) ............................................................ 900/3362 ( 26%) ............................................................ 960/3362 ( 28%) ............................................................ 1020/3362 ( 30%) ............................................................ 1080/3362 ( 32%) ............................................................ 1140/3362 ( 33%) ............................................................ 1200/3362 ( 35%) ............................................................ 1260/3362 ( 37%) ............................................................ 1320/3362 ( 39%) ............................................................ 1380/3362 ( 41%) ............................................................ 1440/3362 ( 42%) ............................................................ 1500/3362 ( 44%) ............................................................ 1560/3362 ( 46%) ............................................................ 1620/3362 ( 48%) ............................................................ 1680/3362 ( 49%) ............................................................ 1740/3362 ( 51%) ............................................................ 1800/3362 ( 53%) ............................................................ 1860/3362 ( 55%) ............................................................ 1920/3362 ( 57%) ............................................................ 1980/3362 ( 58%) ............................................................ 2040/3362 ( 60%) ............................................................ 2100/3362 ( 62%) ............................................................ 2160/3362 ( 64%) ............................................................ 2220/3362 ( 66%) ............................................................ 2280/3362 ( 67%) ............................................................ 2340/3362 ( 69%) ............................................................ 2400/3362 ( 71%) ............................................................ 2460/3362 ( 73%) ............................................................ 2520/3362 ( 74%) ............................................................ 2580/3362 ( 76%) ............................................................ 2640/3362 ( 78%) ............................................................ 2700/3362 ( 80%) ............................................................ 2760/3362 ( 82%) ............................................................ 2820/3362 ( 83%) ............................................................ 2880/3362 ( 85%) ............................................................ 2940/3362 ( 87%) ............................................................ 3000/3362 ( 89%) ............................................................ 3060/3362 ( 91%) ............................................................ 3120/3362 ( 92%) ............................................................ 3180/3362 ( 94%) ............................................................ 3240/3362 ( 96%) ............................................................ 3300/3362 ( 98%) ............................................................ 3360/3362 ( 99%) .. 3362/3362 (100%) Checked 3362 files in 11.8 seconds No syntax error found ............................................................ 60 / 64 (94%) .... 64 / 64 (100%) Time: 1.17 secs; Memory: 148MB ............................................................ 60 / 855 (7%) ............................................................ 120 / 855 (14%) ............................................................ 180 / 855 (21%) ............................................................ 240 / 855 (28%) ............................................................ 300 / 855 (35%) ............................................................ 360 / 855 (42%) ............................................................ 420 / 855 (49%) ............................................................ 480 / 855 (56%) ............................................................ 540 / 855 (63%) ............................................................ 600 / 855 (70%) ............................................................ 660 / 855 (77%) ............................................................ 720 / 855 (84%) ............................................................ 780 / 855 (91%) ............................................................ 840 / 855 (98%) ............... 855 / 855 (100%) Time: 9.9 secs; Memory: 24MB Cannot run PHPStan because MediaWiki dependencies are not installed. MinusX ====== Processing /src/repo... ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. All good! --- end --- $ /usr/bin/npm audit --json --- stdout --- { "auditReportVersion": 2, "vulnerabilities": { "@wdio/cli": { "name": "@wdio/cli", "severity": "high", "isDirect": true, "via": [ "webdriverio", "yarn-install" ], "effects": [ "@wdio/local-runner", "@wdio/spec-reporter" ], "range": "5.4.10 - 8.41.0", "nodes": [ "node_modules/@wdio/cli" ], "fixAvailable": { "name": "@wdio/cli", "version": "9.4.5", "isSemVerMajor": true } }, "@wdio/local-runner": { "name": "@wdio/local-runner", "severity": "high", "isDirect": true, "via": [ "@wdio/cli", "@wdio/runner" ], "effects": [], "range": "6.0.4 - 8.41.0", "nodes": [ "node_modules/@wdio/local-runner" ], "fixAvailable": { "name": "@wdio/local-runner", "version": "9.4.5", "isSemVerMajor": true } }, "@wdio/runner": { "name": "@wdio/runner", "severity": "high", "isDirect": false, "via": [ "webdriverio" ], "effects": [ "@wdio/local-runner" ], "range": "7.16.5 - 8.41.0", "nodes": [ "node_modules/@wdio/runner" ], "fixAvailable": { "name": "@wdio/local-runner", "version": "9.4.5", "isSemVerMajor": true } }, "@wdio/spec-reporter": { "name": "@wdio/spec-reporter", "severity": "high", "isDirect": true, "via": [ "@wdio/cli" ], "effects": [], "range": "6.0.4 - 8.0.0-alpha.631", "nodes": [ "node_modules/@wdio/spec-reporter" ], "fixAvailable": { "name": "@wdio/spec-reporter", "version": "9.4.4", "isSemVerMajor": true } }, "cross-spawn": { "name": "cross-spawn", "severity": "high", "isDirect": false, "via": [ { "source": 1100562, "name": "cross-spawn", "dependency": "cross-spawn", "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn", "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275", "severity": "high", "cwe": [ "CWE-1333" ], "cvss": { "score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H" }, "range": "<6.0.6" } ], "effects": [ "yarn-install" ], "range": "<6.0.6", "nodes": [ "node_modules/yarn-install/node_modules/cross-spawn" ], "fixAvailable": { "name": "@wdio/cli", "version": "9.4.5", "isSemVerMajor": true } }, "devtools": { "name": "devtools", "severity": "high", "isDirect": false, "via": [ "puppeteer-core" ], "effects": [], "range": ">=7.16.5", "nodes": [ "node_modules/devtools" ], "fixAvailable": true }, "mocha": { "name": "mocha", "severity": "moderate", "isDirect": true, "via": [ "nanoid" ], "effects": [], "range": "8.2.0 - 10.2.0", "nodes": [ "node_modules/mocha" ], "fixAvailable": true }, "mwbot": { "name": "mwbot", "severity": "moderate", "isDirect": false, "via": [ "request" ], "effects": [ "wdio-mediawiki", "wdio-wikibase" ], "range": ">=0.1.6", "nodes": [ "node_modules/mwbot" ], "fixAvailable": false }, "nanoid": { "name": "nanoid", "severity": "moderate", "isDirect": false, "via": [ { "source": 1101163, "name": "nanoid", "dependency": "nanoid", "title": "Predictable results in nanoid generation when given non-integer values", "url": "https://github.com/advisories/GHSA-mwcw-c2x4-8c55", "severity": "moderate", "cwe": [ "CWE-835" ], "cvss": { "score": 4.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N" }, "range": "<3.3.8" } ], "effects": [ "mocha" ], "range": "<3.3.8", "nodes": [ "node_modules/nanoid", "node_modules/postcss/node_modules/nanoid" ], "fixAvailable": true }, "puppeteer-core": { "name": "puppeteer-core", "severity": "high", "isDirect": false, "via": [ "ws" ], "effects": [ "devtools", "webdriverio" ], "range": "11.0.0 - 22.11.1", "nodes": [ "node_modules/devtools/node_modules/puppeteer-core", "node_modules/puppeteer-core" ], "fixAvailable": { "name": "@wdio/cli", "version": "9.4.5", "isSemVerMajor": true } }, "request": { "name": "request", "severity": "moderate", "isDirect": false, "via": [ { "source": 1096727, "name": "request", "dependency": "request", "title": "Server-Side Request Forgery in Request", "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6", "severity": "moderate", "cwe": [ "CWE-918" ], "cvss": { "score": 6.1, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N" }, "range": "<=2.88.2" }, "tough-cookie" ], "effects": [ "mwbot" ], "range": "*", "nodes": [ "node_modules/request" ], "fixAvailable": false }, "tough-cookie": { "name": "tough-cookie", "severity": "moderate", "isDirect": false, "via": [ { "source": 1097682, "name": "tough-cookie", "dependency": "tough-cookie", "title": "tough-cookie Prototype Pollution vulnerability", "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3", "severity": "moderate", "cwe": [ "CWE-1321" ], "cvss": { "score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N" }, "range": "<4.1.3" } ], "effects": [ "request" ], "range": "<4.1.3", "nodes": [ "node_modules/tough-cookie" ], "fixAvailable": false }, "wdio-mediawiki": { "name": "wdio-mediawiki", "severity": "moderate", "isDirect": true, "via": [ "mwbot" ], "effects": [], "range": "*", "nodes": [ "node_modules/wdio-mediawiki" ], "fixAvailable": false }, "wdio-wikibase": { "name": "wdio-wikibase", "severity": "moderate", "isDirect": true, "via": [ "mwbot", "wdio-mediawiki" ], "effects": [], "range": "*", "nodes": [ "node_modules/wdio-wikibase" ], "fixAvailable": false }, "webdriverio": { "name": "webdriverio", "severity": "high", "isDirect": false, "via": [ "devtools", "puppeteer-core" ], "effects": [ "@wdio/cli", "@wdio/runner" ], "range": "7.16.5 - 8.41.0", "nodes": [ "node_modules/webdriverio" ], "fixAvailable": { "name": "@wdio/cli", "version": "9.4.5", "isSemVerMajor": true } }, "ws": { "name": "ws", "severity": "high", "isDirect": false, "via": [ { "source": 1098392, "name": "ws", "dependency": "ws", "title": "ws affected by a DoS when handling a request with many HTTP headers", "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q", "severity": "high", "cwe": [ "CWE-476" ], "cvss": { "score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H" }, "range": ">=8.0.0 <8.17.1" } ], "effects": [ "puppeteer-core" ], "range": "8.0.0 - 8.17.0", "nodes": [ "node_modules/devtools/node_modules/ws", "node_modules/ws" ], "fixAvailable": { "name": "@wdio/cli", "version": "9.4.5", "isSemVerMajor": true } }, "yarn-install": { "name": "yarn-install", "severity": "high", "isDirect": false, "via": [ "cross-spawn" ], "effects": [ "@wdio/cli" ], "range": "*", "nodes": [ "node_modules/yarn-install" ], "fixAvailable": { "name": "@wdio/cli", "version": "9.4.5", "isSemVerMajor": true } } }, "metadata": { "vulnerabilities": { "info": 0, "low": 0, "moderate": 7, "high": 10, "critical": 0, "total": 17 }, "dependencies": { "prod": 1, "dev": 1144, "optional": 2, "peer": 2, "peerOptional": 0, "total": 1144 } } } --- end --- Attempting to npm audit fix $ /usr/bin/npm audit fix --dry-run --only=dev --json --- stderr --- npm WARN invalid config only="dev" set in command line options npm WARN invalid config Must be one of: null, prod, production --- stdout --- { "added": 1156, "removed": 0, "changed": 0, "audited": 1157, "funding": 194, "audit": { "auditReportVersion": 2, "vulnerabilities": { "@wdio/cli": { "name": "@wdio/cli", "severity": "high", "isDirect": true, "via": [ "webdriverio", "yarn-install" ], "effects": [ "@wdio/local-runner", "@wdio/spec-reporter" ], "range": "5.4.10 - 8.41.0", "nodes": [ "", "node_modules/@wdio/cli" ], "fixAvailable": { "name": "@wdio/cli", "version": "9.4.5", "isSemVerMajor": true } }, "@wdio/local-runner": { "name": "@wdio/local-runner", "severity": "high", "isDirect": false, "via": [ "@wdio/cli", "@wdio/runner" ], "effects": [], "range": "6.0.4 - 8.41.0", "nodes": [ "" ], "fixAvailable": { "name": "@wdio/local-runner", "version": "9.4.5", "isSemVerMajor": true } }, "@wdio/runner": { "name": "@wdio/runner", "severity": "high", "isDirect": false, "via": [ "webdriverio" ], "effects": [ "@wdio/local-runner" ], "range": "7.16.5 - 8.41.0", "nodes": [ "" ], "fixAvailable": { "name": "@wdio/local-runner", "version": "9.4.5", "isSemVerMajor": true } }, "@wdio/spec-reporter": { "name": "@wdio/spec-reporter", "severity": "high", "isDirect": true, "via": [ "@wdio/cli" ], "effects": [], "range": "6.0.4 - 8.0.0-alpha.631", "nodes": [ "node_modules/@wdio/spec-reporter" ], "fixAvailable": { "name": "@wdio/spec-reporter", "version": "9.4.4", "isSemVerMajor": true } }, "cross-spawn": { "name": "cross-spawn", "severity": "high", "isDirect": false, "via": [ { "source": 1100562, "name": "cross-spawn", "dependency": "cross-spawn", "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn", "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275", "severity": "high", "cwe": [ "CWE-1333" ], "cvss": { "score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H" }, "range": "<6.0.6" } ], "effects": [ "yarn-install" ], "range": "<6.0.6", "nodes": [ "node_modules/yarn-install/node_modules/cross-spawn" ], "fixAvailable": { "name": "@wdio/cli", "version": "9.4.5", "isSemVerMajor": true } }, "devtools": { "name": "devtools", "severity": "high", "isDirect": false, "via": [ "puppeteer-core" ], "effects": [], "range": ">=7.16.5", "nodes": [ "" ], "fixAvailable": true }, "mocha": { "name": "mocha", "severity": "moderate", "isDirect": false, "via": [ "nanoid" ], "effects": [], "range": "8.2.0 - 10.2.0", "nodes": [ "" ], "fixAvailable": true }, "mwbot": { "name": "mwbot", "severity": "moderate", "isDirect": false, "via": [ "request" ], "effects": [ "wdio-mediawiki", "wdio-wikibase" ], "range": ">=0.1.6", "nodes": [ "node_modules/mwbot" ], "fixAvailable": false }, "nanoid": { "name": "nanoid", "severity": "moderate", "isDirect": false, "via": [ { "source": 1101163, "name": "nanoid", "dependency": "nanoid", "title": "Predictable results in nanoid generation when given non-integer values", "url": "https://github.com/advisories/GHSA-mwcw-c2x4-8c55", "severity": "moderate", "cwe": [ "CWE-835" ], "cvss": { "score": 4.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N" }, "range": "<3.3.8" } ], "effects": [ "mocha" ], "range": "<3.3.8", "nodes": [ "", "" ], "fixAvailable": true }, "puppeteer-core": { "name": "puppeteer-core", "severity": "high", "isDirect": false, "via": [ "ws" ], "effects": [ "devtools", "webdriverio" ], "range": "11.0.0 - 22.11.1", "nodes": [ "", "node_modules/puppeteer-core" ], "fixAvailable": { "name": "@wdio/cli", "version": "9.4.5", "isSemVerMajor": true } }, "request": { "name": "request", "severity": "moderate", "isDirect": false, "via": [ { "source": 1096727, "name": "request", "dependency": "request", "title": "Server-Side Request Forgery in Request", "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6", "severity": "moderate", "cwe": [ "CWE-918" ], "cvss": { "score": 6.1, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N" }, "range": "<=2.88.2" }, "tough-cookie" ], "effects": [ "mwbot" ], "range": "*", "nodes": [ "node_modules/request" ], "fixAvailable": false }, "tough-cookie": { "name": "tough-cookie", "severity": "moderate", "isDirect": false, "via": [ { "source": 1097682, "name": "tough-cookie", "dependency": "tough-cookie", "title": "tough-cookie Prototype Pollution vulnerability", "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3", "severity": "moderate", "cwe": [ "CWE-1321" ], "cvss": { "score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N" }, "range": "<4.1.3" } ], "effects": [ "request" ], "range": "<4.1.3", "nodes": [ "node_modules/tough-cookie" ], "fixAvailable": false }, "wdio-mediawiki": { "name": "wdio-mediawiki", "severity": "moderate", "isDirect": true, "via": [ "mwbot" ], "effects": [], "range": "*", "nodes": [ "node_modules/wdio-mediawiki" ], "fixAvailable": false }, "wdio-wikibase": { "name": "wdio-wikibase", "severity": "moderate", "isDirect": true, "via": [ "mwbot", "wdio-mediawiki" ], "effects": [], "range": "*", "nodes": [ "node_modules/wdio-wikibase" ], "fixAvailable": false }, "webdriverio": { "name": "webdriverio", "severity": "high", "isDirect": false, "via": [ "devtools", "puppeteer-core" ], "effects": [ "@wdio/cli", "@wdio/runner" ], "range": "7.16.5 - 8.41.0", "nodes": [ "", "node_modules/webdriverio" ], "fixAvailable": { "name": "@wdio/cli", "version": "9.4.5", "isSemVerMajor": true } }, "ws": { "name": "ws", "severity": "high", "isDirect": false, "via": [ { "source": 1098392, "name": "ws", "dependency": "ws", "title": "ws affected by a DoS when handling a request with many HTTP headers", "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q", "severity": "high", "cwe": [ "CWE-476" ], "cvss": { "score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H" }, "range": ">=8.0.0 <8.17.1" } ], "effects": [ "puppeteer-core" ], "range": "8.0.0 - 8.17.0", "nodes": [ "", "node_modules/ws" ], "fixAvailable": { "name": "@wdio/cli", "version": "9.4.5", "isSemVerMajor": true } }, "yarn-install": { "name": "yarn-install", "severity": "high", "isDirect": false, "via": [ "cross-spawn" ], "effects": [ "@wdio/cli" ], "range": "*", "nodes": [ "node_modules/yarn-install" ], "fixAvailable": { "name": "@wdio/cli", "version": "9.4.5", "isSemVerMajor": true } } }, "metadata": { "vulnerabilities": { "info": 0, "low": 0, "moderate": 7, "high": 10, "critical": 0, "total": 17 }, "dependencies": { "prod": 1, "dev": 1156, "optional": 2, "peer": 2, "peerOptional": 0, "total": 1156 } } } } --- end --- {"added": 1156, "removed": 0, "changed": 0, "audited": 1157, "funding": 194, "audit": {"auditReportVersion": 2, "vulnerabilities": {"@wdio/cli": {"name": "@wdio/cli", "severity": "high", "isDirect": true, "via": ["webdriverio", "yarn-install"], "effects": ["@wdio/local-runner", "@wdio/spec-reporter"], "range": "5.4.10 - 8.41.0", "nodes": ["", "node_modules/@wdio/cli"], "fixAvailable": {"name": "@wdio/cli", "version": "9.4.5", "isSemVerMajor": true}}, "@wdio/local-runner": {"name": "@wdio/local-runner", "severity": "high", "isDirect": false, "via": ["@wdio/cli", "@wdio/runner"], "effects": [], "range": "6.0.4 - 8.41.0", "nodes": [""], "fixAvailable": {"name": "@wdio/local-runner", "version": "9.4.5", "isSemVerMajor": true}}, "@wdio/runner": {"name": "@wdio/runner", "severity": "high", "isDirect": false, "via": ["webdriverio"], "effects": ["@wdio/local-runner"], "range": "7.16.5 - 8.41.0", "nodes": [""], "fixAvailable": {"name": "@wdio/local-runner", "version": "9.4.5", "isSemVerMajor": true}}, "@wdio/spec-reporter": {"name": "@wdio/spec-reporter", "severity": "high", "isDirect": true, "via": ["@wdio/cli"], "effects": [], "range": "6.0.4 - 8.0.0-alpha.631", "nodes": ["node_modules/@wdio/spec-reporter"], "fixAvailable": {"name": "@wdio/spec-reporter", "version": "9.4.4", "isSemVerMajor": true}}, "cross-spawn": {"name": "cross-spawn", "severity": "high", "isDirect": false, "via": [{"source": 1100562, "name": "cross-spawn", "dependency": "cross-spawn", "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn", "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275", "severity": "high", "cwe": ["CWE-1333"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<6.0.6"}], "effects": ["yarn-install"], "range": "<6.0.6", "nodes": ["node_modules/yarn-install/node_modules/cross-spawn"], "fixAvailable": {"name": "@wdio/cli", "version": "9.4.5", "isSemVerMajor": true}}, "devtools": {"name": "devtools", "severity": "high", "isDirect": false, "via": ["puppeteer-core"], "effects": [], "range": ">=7.16.5", "nodes": [""], "fixAvailable": true}, "mocha": {"name": "mocha", "severity": "moderate", "isDirect": false, "via": ["nanoid"], "effects": [], "range": "8.2.0 - 10.2.0", "nodes": [""], "fixAvailable": true}, "mwbot": {"name": "mwbot", "severity": "moderate", "isDirect": false, "via": ["request"], "effects": ["wdio-mediawiki", "wdio-wikibase"], "range": ">=0.1.6", "nodes": ["node_modules/mwbot"], "fixAvailable": false}, "nanoid": {"name": "nanoid", "severity": "moderate", "isDirect": false, "via": [{"source": 1101163, "name": "nanoid", "dependency": "nanoid", "title": "Predictable results in nanoid generation when given non-integer values", "url": "https://github.com/advisories/GHSA-mwcw-c2x4-8c55", "severity": "moderate", "cwe": ["CWE-835"], "cvss": {"score": 4.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N"}, "range": "<3.3.8"}], "effects": ["mocha"], "range": "<3.3.8", "nodes": ["", ""], "fixAvailable": true}, "puppeteer-core": {"name": "puppeteer-core", "severity": "high", "isDirect": false, "via": ["ws"], "effects": ["devtools", "webdriverio"], "range": "11.0.0 - 22.11.1", "nodes": ["", "node_modules/puppeteer-core"], "fixAvailable": {"name": "@wdio/cli", "version": "9.4.5", "isSemVerMajor": true}}, "request": {"name": "request", "severity": "moderate", "isDirect": false, "via": [{"source": 1096727, "name": "request", "dependency": "request", "title": "Server-Side Request Forgery in Request", "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6", "severity": "moderate", "cwe": ["CWE-918"], "cvss": {"score": 6.1, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"}, "range": "<=2.88.2"}, "tough-cookie"], "effects": ["mwbot"], "range": "*", "nodes": ["node_modules/request"], "fixAvailable": false}, "tough-cookie": {"name": "tough-cookie", "severity": "moderate", "isDirect": false, "via": [{"source": 1097682, "name": "tough-cookie", "dependency": "tough-cookie", "title": "tough-cookie Prototype Pollution vulnerability", "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3", "severity": "moderate", "cwe": ["CWE-1321"], "cvss": {"score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"}, "range": "<4.1.3"}], "effects": ["request"], "range": "<4.1.3", "nodes": ["node_modules/tough-cookie"], "fixAvailable": false}, "wdio-mediawiki": {"name": "wdio-mediawiki", "severity": "moderate", "isDirect": true, "via": ["mwbot"], "effects": [], "range": "*", "nodes": ["node_modules/wdio-mediawiki"], "fixAvailable": false}, "wdio-wikibase": {"name": "wdio-wikibase", "severity": "moderate", "isDirect": true, "via": ["mwbot", "wdio-mediawiki"], "effects": [], "range": "*", "nodes": ["node_modules/wdio-wikibase"], "fixAvailable": false}, "webdriverio": {"name": "webdriverio", "severity": "high", "isDirect": false, "via": ["devtools", "puppeteer-core"], "effects": ["@wdio/cli", "@wdio/runner"], "range": "7.16.5 - 8.41.0", "nodes": ["", "node_modules/webdriverio"], "fixAvailable": {"name": "@wdio/cli", "version": "9.4.5", "isSemVerMajor": true}}, "ws": {"name": "ws", "severity": "high", "isDirect": false, "via": [{"source": 1098392, "name": "ws", "dependency": "ws", "title": "ws affected by a DoS when handling a request with many HTTP headers", "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q", "severity": "high", "cwe": ["CWE-476"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": ">=8.0.0 <8.17.1"}], "effects": ["puppeteer-core"], "range": "8.0.0 - 8.17.0", "nodes": ["", "node_modules/ws"], "fixAvailable": {"name": "@wdio/cli", "version": "9.4.5", "isSemVerMajor": true}}, "yarn-install": {"name": "yarn-install", "severity": "high", "isDirect": false, "via": ["cross-spawn"], "effects": ["@wdio/cli"], "range": "*", "nodes": ["node_modules/yarn-install"], "fixAvailable": {"name": "@wdio/cli", "version": "9.4.5", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 7, "high": 10, "critical": 0, "total": 17}, "dependencies": {"prod": 1, "dev": 1156, "optional": 2, "peer": 2, "peerOptional": 0, "total": 1156}}}} $ /usr/bin/npm audit fix --only=dev --- stderr --- npm WARN invalid config only="dev" set in command line options npm WARN invalid config Must be one of: null, prod, production npm WARN deprecated har-validator@5.1.5: this library is no longer supported npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported npm WARN deprecated formidable@1.2.6: Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 npm WARN deprecated superagent@6.1.0: Please upgrade to v7.0.2+ of superagent. We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing. See the releases tab for more information at <https://github.com/visionmedia/superagent/releases>. npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options. --- stdout --- added 1155 packages, and audited 1156 packages in 12s 194 packages are looking for funding run `npm fund` for details # npm audit report cross-spawn <6.0.6 Severity: high Regular Expression Denial of Service (ReDoS) in cross-spawn - https://github.com/advisories/GHSA-3xgq-45jj-v275 fix available via `npm audit fix --force` Will install @wdio/cli@9.4.5, which is a breaking change node_modules/yarn-install/node_modules/cross-spawn yarn-install * Depends on vulnerable versions of cross-spawn node_modules/yarn-install @wdio/cli 5.4.10 - 8.41.0 Depends on vulnerable versions of webdriverio Depends on vulnerable versions of yarn-install node_modules/@wdio/cli @wdio/local-runner 6.0.4 - 8.41.0 Depends on vulnerable versions of @wdio/cli Depends on vulnerable versions of @wdio/runner node_modules/@wdio/local-runner @wdio/spec-reporter 6.0.4 - 8.0.0-alpha.631 Depends on vulnerable versions of @wdio/cli node_modules/@wdio/spec-reporter request * Severity: moderate Server-Side Request Forgery in Request - https://github.com/advisories/GHSA-p8p7-x288-28g6 Depends on vulnerable versions of tough-cookie No fix available node_modules/request mwbot >=0.1.6 Depends on vulnerable versions of request node_modules/mwbot wdio-mediawiki * Depends on vulnerable versions of mwbot node_modules/wdio-mediawiki wdio-wikibase * Depends on vulnerable versions of mwbot Depends on vulnerable versions of wdio-mediawiki node_modules/wdio-wikibase tough-cookie <4.1.3 Severity: moderate tough-cookie Prototype Pollution vulnerability - https://github.com/advisories/GHSA-72xf-g2v4-qvf3 No fix available node_modules/tough-cookie ws 8.0.0 - 8.17.0 Severity: high ws affected by a DoS when handling a request with many HTTP headers - https://github.com/advisories/GHSA-3h5v-q93c-6h6q fix available via `npm audit fix --force` Will install @wdio/cli@9.4.5, which is a breaking change node_modules/devtools/node_modules/ws node_modules/ws puppeteer-core 11.0.0 - 22.11.1 Depends on vulnerable versions of ws node_modules/devtools/node_modules/puppeteer-core node_modules/puppeteer-core devtools >=7.16.5 Depends on vulnerable versions of puppeteer-core node_modules/devtools webdriverio 7.16.5 - 8.41.0 Depends on vulnerable versions of devtools Depends on vulnerable versions of puppeteer-core node_modules/webdriverio @wdio/runner 7.16.5 - 8.41.0 Depends on vulnerable versions of webdriverio node_modules/@wdio/runner 15 vulnerabilities (5 moderate, 10 high) To address issues that do not require attention, run: npm audit fix To address all issues possible (including breaking changes), run: npm audit fix --force Some issues need review, and may require choosing a different dependency. --- end --- Verifying that tests still pass $ /usr/bin/npm ci --- stderr --- npm WARN deprecated har-validator@5.1.5: this library is no longer supported npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported npm WARN deprecated formidable@1.2.6: Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 npm WARN deprecated superagent@6.1.0: Please upgrade to v7.0.2+ of superagent. We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing. See the releases tab for more information at <https://github.com/visionmedia/superagent/releases>. npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options. npm WARN ERESOLVE overriding peer dependency npm WARN While resolving: @vue/server-renderer@3.2.23 npm WARN Found: vue@3.3.9 npm WARN node_modules/vue npm WARN vue@"3.3.9" from the root project npm WARN 6 more (@vue/babel-preset-app, @vue/cli-plugin-typescript, ...) npm WARN npm WARN Could not resolve dependency: npm WARN peer vue@"3.2.23" from @vue/server-renderer@3.2.23 npm WARN node_modules/@vue/server-renderer npm WARN optional @vue/server-renderer@"^3.0.1" from @vue/test-utils@2.3.0 npm WARN node_modules/@vue/test-utils npm WARN npm WARN Conflicting peer dependency: vue@3.2.23 npm WARN node_modules/vue npm WARN peer vue@"3.2.23" from @vue/server-renderer@3.2.23 npm WARN node_modules/@vue/server-renderer npm WARN optional @vue/server-renderer@"^3.0.1" from @vue/test-utils@2.3.0 npm WARN node_modules/@vue/test-utils npm WARN ERESOLVE overriding peer dependency npm WARN While resolving: cache-loader@4.1.0 npm WARN Found: webpack@5.66.0 npm WARN node_modules/webpack npm WARN peer webpack@"^4.0.0 || ^5.0.0" from @soda/friendly-errors-webpack-plugin@1.8.1 npm WARN node_modules/@soda/friendly-errors-webpack-plugin npm WARN @soda/friendly-errors-webpack-plugin@"^1.8.0" from @vue/cli-service@5.0.0-rc.2 npm WARN node_modules/@vue/cli-service npm WARN 25 more (@vue/cli-plugin-babel, @vue/cli-plugin-eslint, ...) npm WARN npm WARN Could not resolve dependency: npm WARN peer webpack@"^4.0.0" from cache-loader@4.1.0 npm WARN node_modules/cache-loader npm WARN cache-loader@"^4.1.0" from @vue/cli-plugin-typescript@5.0.0-rc.2 npm WARN node_modules/@vue/cli-plugin-typescript npm WARN 1 more (@vue/cli-service) npm WARN npm WARN Conflicting peer dependency: webpack@4.47.0 npm WARN node_modules/webpack npm WARN peer webpack@"^4.0.0" from cache-loader@4.1.0 npm WARN node_modules/cache-loader npm WARN cache-loader@"^4.1.0" from @vue/cli-plugin-typescript@5.0.0-rc.2 npm WARN node_modules/@vue/cli-plugin-typescript npm WARN 1 more (@vue/cli-service) npm WARN EBADENGINE Unsupported engine { npm WARN EBADENGINE package: '@es-joy/jsdoccomment@0.23.6', npm WARN EBADENGINE required: { node: '^12 || ^14 || ^16 || ^17' }, npm WARN EBADENGINE current: { node: 'v18.19.0', npm: '9.2.0' } npm WARN EBADENGINE } npm WARN EBADENGINE Unsupported engine { npm WARN EBADENGINE package: 'eslint-plugin-jsdoc@39.2.2', npm WARN EBADENGINE required: { node: '^14 || ^16 || ^17' }, npm WARN EBADENGINE current: { node: 'v18.19.0', npm: '9.2.0' } npm WARN EBADENGINE } npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. npm WARN deprecated rimraf@2.7.1: Rimraf versions prior to v4 are no longer supported npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported npm WARN deprecated formidable@1.2.6: Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau npm WARN deprecated stylelint-processor-html@1.0.0: Please use stylelint-processor-arbitrary-tags https://github.com/mapbox/stylelint-processor-arbitrary-tags npm WARN deprecated @stylelint/postcss-markdown@0.36.2: Use the original unforked package instead: postcss-markdown npm WARN deprecated @hapi/topo@3.1.6: This version has been deprecated and is no longer supported or maintained npm WARN deprecated @hapi/bourne@1.3.2: This version has been deprecated and is no longer supported or maintained npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated npm WARN deprecated har-validator@5.1.3: this library is no longer supported npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated npm WARN deprecated superagent@6.1.0: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies. npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. npm WARN deprecated html-webpack-plugin@3.2.0: 3.x is no longer supported npm WARN deprecated babel-eslint@10.1.0: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates. npm WARN deprecated @hapi/address@2.1.4: Moved to 'npm install @sideway/address' npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. npm WARN deprecated uuid@3.3.3: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 npm WARN deprecated @hapi/hoek@8.5.1: This version has been deprecated and is no longer supported or maintained npm WARN deprecated @hapi/joi@15.1.1: Switch to 'npm install joi' npm WARN deprecated svgo@1.3.2: This SVGO version is no longer supported. Upgrade to v2.x.x. npm WARN deprecated popper.js@1.16.1: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1 npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options. --- stdout --- > wikibase@0.1.0 postinstall > npm-run-all -p install:* > wikibase@0.1.0 install:rest-api > npm --prefix repo/rest-api ci > wikibase@0.1.0 install:tainted-ref > npm --prefix view/lib/wikibase-tainted-ref ci > wikibase@0.1.0 install:bridge > npm --prefix client/data-bridge ci > tainted-ref@0.1.0 prepare > node build/wikimedia-ui-base.js added 2727 packages, and audited 2728 packages in 2m 160 packages are looking for funding run `npm fund` for details 149 vulnerabilities (6 low, 76 moderate, 53 high, 14 critical) To address issues that do not require attention, run: npm audit fix To address all issues possible (including breaking changes), run: npm audit fix --force Some issues need review, and may require choosing a different dependency. Run `npm audit` for details. > data-bridge@0.1.0 prepare > node build/wikimedia-ui-base.js added 2390 packages, and audited 2391 packages in 2m 238 packages are looking for funding run `npm fund` for details 91 vulnerabilities (4 low, 34 moderate, 49 high, 4 critical) To address issues that do not require attention, run: npm audit fix To address all issues (including breaking changes), run: npm audit fix --force Run `npm audit` for details. added 976 packages, and audited 977 packages in 3m 229 packages are looking for funding run `npm fund` for details 4 vulnerabilities (3 moderate, 1 high) To address all issues, run: npm audit fix Run `npm audit` for details. added 1155 packages, and audited 1156 packages in 3m 194 packages are looking for funding run `npm fund` for details 15 vulnerabilities (5 moderate, 10 high) To address issues that do not require attention, run: npm audit fix To address all issues possible (including breaking changes), run: npm audit fix --force Some issues need review, and may require choosing a different dependency. Run `npm audit` for details. --- end --- $ /usr/bin/npm test --- stderr --- validating specs/openapi.json... specs/openapi.json: validated in 737ms Woohoo! Your API description is valid. 🎉 2 problems are explicitly ignored. PASS repo/tests/jest/wikibase.vector.searchClient.spec.js (6.851 s) Vector Search Client ✓ test construction and fetchByTitle behavior (2442 ms) ✓ test construction and loadMore behavior (3 ms) ✓ doesn't show an extra match for a search hit on the label (2 ms) ✓ supports showing a match of a label in a different language (2 ms) Test Suites: 1 passed, 1 total Tests: 4 passed, 4 total Snapshots: 0 total Time: 7.124 s Ran all test suites matching /repo\/tests\/jest\//i. PASS tests/unit/MWHookHandler.spec.ts (8.164 s) PASS tests/unit/StatementTracker.spec.ts (8.578 s) PASS tests/unit/store/actions.spec.ts PASS tests/unit/store/mutations.spec.ts PASS tests/unit/TaintedIcon.spec.ts PASS tests/unit/TaintedPopper.spec.ts (10.449 s) PASS tests/unit/store/getters.spec.ts PASS tests/unit/Popper.spec.ts PASS tests/unit/ReferenceListChangeCounter.spec.ts PASS tests/unit/TaintedChecker.spec.ts PASS tests/unit/App.spec.ts PASS tests/unit/store/index.spec.ts Test Suites: 12 passed, 12 total Tests: 68 passed, 68 total Snapshots: 0 total Time: 14.812 s Ran all test suites. PASS tests/unit/store/getters.spec.ts (12.539 s) PASS tests/unit/store/actions.spec.ts (13.103 s) PASS tests/unit/services/createServices.spec.ts PASS tests/unit/data-access/ApiWritingRepository.spec.ts PASS tests/unit/presentation/components/ErrorPermission.spec.ts (14.086 s) PASS tests/unit/data-access/ApiPageEditPermissionErrorsRepository.spec.ts PASS tests/unit/presentation/components/Loading.spec.ts PASS tests/unit/data-access/CombiningPermissionsRepository.spec.ts PASS tests/unit/presentation/components/AppHeader.spec.ts PASS tests/unit/presentation/App.spec.ts (5.673 s) PASS tests/unit/store/statements/getters.spec.ts [Vue warn]: Invalid prop: custom validator check failed for prop "type". at <EventEmittingButton type="potato" size="L" message="click me" ... > at <VTUROOT> PASS tests/unit/presentation/components/EventEmittingButton.spec.ts PASS tests/unit/mediawiki/init.spec.ts PASS tests/unit/store/mutations.spec.ts PASS tests/unit/presentation/components/ErrorWrapper.spec.ts PASS tests/unit/data-access/TrimmingWritingRepository.spec.ts PASS tests/unit/mediawiki/BridgeDomElementsSelector.spec.ts PASS tests/unit/store/entity/actions.spec.ts PASS tests/unit/data-access/ApiCore.spec.ts PASS tests/unit/data-access/ApiRenderReferencesRepository.spec.ts PASS tests/unit/data-access/SpecialPageReadingEntityRepository.spec.ts PASS tests/unit/data-access/BatchingApi.spec.ts PASS tests/unit/presentation/components/ErrorSavingAssertUser.spec.ts PASS tests/unit/store/statements/MainSnakPath.spec.ts PASS tests/unit/presentation/components/ErrorSaving.spec.ts PASS tests/unit/data-access/ApiRepoConfigRepository.spec.ts PASS tests/unit/mediawiki/Dispatcher.spec.ts PASS tests/unit/data-access/ApiEntityLabelRepository.spec.ts PASS tests/unit/change-op/statement-mutation/strategies/UpdateMutationStrategy.spec.ts PASS tests/unit/presentation/components/ErrorUnsupportedSnakType.spec.ts PASS tests/unit/presentation/components/StringDataValue.spec.ts PASS tests/unit/presentation/components/EditDecision.spec.ts PASS tests/unit/presentation/components/ErrorUnsupportedDatatype.spec.ts PASS tests/unit/presentation/components/ErrorUnknown.spec.ts PASS tests/unit/data-access/ApiTempUserConfigRepository.spec.ts PASS tests/unit/change-op/statement-mutation/strategies/ReplaceMutationStrategy.spec.ts PASS tests/unit/data-access/RepoRouter.spec.ts PASS tests/unit/main.spec.ts PASS tests/unit/presentation/components/WarningAnonymousEdit.spec.ts PASS tests/unit/mediawiki/prepareContainer.spec.ts PASS tests/unit/presentation/components/ErrorPermissionInfo.spec.ts PASS tests/unit/presentation/components/ReportIssue.spec.ts PASS tests/unit/mediawiki/MwInitTracker.spec.ts PASS tests/unit/presentation/components/ReferenceSection.spec.ts PASS tests/unit/presentation/components/DataBridge.spec.ts PASS tests/unit/presentation/components/License.spec.ts PASS tests/unit/data-access/ApiWbgetentities.spec.ts PASS tests/unit/data-access/ApiPropertyDataTypeRepository.spec.ts PASS tests/unit/presentation/components/ErrorDeprecatedStatement.spec.ts PASS tests/unit/presentation/components/ResizingTextField.spec.ts PASS tests/unit/presentation/components/ErrorAmbiguousStatement.spec.ts PASS tests/unit/presentation/components/RadioInput.spec.ts PASS tests/unit/store/newMockableEntityRevision.spec.ts PASS tests/unit/presentation/extendVueEnvironment.spec.ts PASS tests/unit/presentation/components/BailoutActions.spec.ts PASS tests/unit/presentation/components/ProcessDialogHeader.spec.ts PASS tests/unit/data-access/ApiReadingEntityRepository.spec.ts PASS tests/unit/data-access/MwLanguageInfoRepository.spec.ts PASS tests/unit/data-access/DataBridgeTrackerService.spec.ts PASS tests/unit/tracking/mutationsTrackerPlugin.spec.ts PASS tests/unit/data-access/ApiQuery.spec.ts PASS tests/unit/store/entity/mutations.spec.ts PASS tests/unit/presentation/components/ThankYou.spec.ts PASS tests/unit/presentation/plugins/InLanguagePlugin/InLanguagePlugin.spec.ts PASS tests/unit/store/statements/mutations.spec.ts [Vue warn]: Invalid prop: custom validator check failed for prop "type". at <IconMessageBox type="potato" ref="VTU_COMPONENT" > at <VTUROOT> PASS tests/unit/presentation/IconMessageBox.spec.ts PASS tests/unit/data-access/MwMessagesRepository.spec.ts PASS tests/unit/presentation/components/PropertyLabel.spec.ts PASS tests/unit/presentation/components/TermLabel.spec.ts PASS tests/unit/mediawiki/subscribeToEvents.spec.ts PASS tests/unit/data-access/ApiPurge.spec.ts PASS tests/unit/presentation/plugins/MessagesPlugin/Messages.spec.ts PASS tests/unit/store/statements/actions.spec.ts PASS tests/unit/presentation/components/PageList.spec.ts PASS tests/unit/services/ServiceContainer.spec.ts PASS tests/unit/presentation/components/UserLink.spec.ts PASS tests/unit/tracking/PrefixingEventTracker.spec.ts PASS tests/unit/change-op/statement-mutation/statementMutationFactory.spec.ts PASS tests/unit/presentation/components/ErrorSavingEditConflict.spec.ts PASS tests/unit/mediawiki/facades/EventTracker.spec.ts PASS tests/unit/store/index.spec.ts PASS tests/unit/utils/errorTypeFormatter.spec.ts PASS tests/unit/presentation/plugins/RepoRouter/RepoRouterPlugin.spec.ts PASS tests/unit/data-access/ClientRouter.spec.ts PASS tests/unit/presentation/components/RadioGroup.spec.ts PASS tests/unit/presentation/components/IndeterminateProgressBar.spec.ts PASS tests/unit/timer.spec.ts PASS tests/unit/store/clone.spec.ts Test Suites: 88 passed, 88 total Tests: 627 passed, 627 total Snapshots: 13 passed, 13 total Time: 46.942 s Ran all test suites. PASS tests/integration/mediawiki/init.spec.ts (5.888 s) PASS tests/integration/store/actions.spec.ts (5.946 s) Test Suites: 2 passed, 2 total Tests: 16 passed, 16 total Snapshots: 0 total Time: 7.768 s Ran all test suites. PASS tests/e2e/StringDataValue.spec.ts (9.948 s) PASS tests/e2e/app.spec.ts (10.162 s) Test Suites: 2 passed, 2 total Tests: 29 passed, 29 total Snapshots: 0 total Time: 11.828 s Ran all test suites. - Building for production... (node:16538) [DEP_WEBPACK_COMPILATION_OPTIMIZE_CHUNK_ASSETS] DeprecationWarning: optimizeChunkAssets is deprecated (use Compilation.hooks.processAssets instead and use one of Compilation.PROCESS_ASSETS_STAGE_* as stage option) (Use `node --trace-deprecation ...` to show where the warning was created) `isModuleDeclaration` has been deprecated, please migrate to `isImportOrExportDeclaration` at isModuleDeclaration (/src/repo/client/data-bridge/node_modules/@babel/types/lib/validators/generated/index.js:3940:35) at NodePath.<computed> [as isModuleDeclaration] (/src/repo/client/data-bridge/node_modules/@babel/traverse/lib/path/index.js:232:12) `isModuleDeclaration` has been deprecated, please migrate to `isImportOrExportDeclaration` at isModuleDeclaration (/src/repo/client/data-bridge/node_modules/@babel/types/lib/validators/generated/index.js:3940:35) at NodePath.<computed> [as isModuleDeclaration] (/src/repo/client/data-bridge/node_modules/@babel/traverse/lib/path/index.js:232:12) `isModuleDeclaration` has been deprecated, please migrate to `isImportOrExportDeclaration` at isModuleDeclaration (/src/repo/client/data-bridge/node_modules/@babel/types/lib/validators/generated/index.js:3940:35) at NodePath.<computed> [as isModuleDeclaration] (/src/repo/client/data-bridge/node_modules/@babel/traverse/lib/path/index.js:232:12) (node:16538) [DEP_WEBPACK_COMPILATION_CACHE] DeprecationWarning: Compilation.cache was removed in favor of Compilation.getCache() --- stdout --- > wikibase@0.1.0 test > npm-run-all -p test-fast:* > wikibase@0.1.0 test-fast:bridge > npm --prefix client/data-bridge test > wikibase@0.1.0 test-fast:rest-api > npm --prefix repo/rest-api test > wikibase@0.1.0 test-fast:jest-repo > jest repo/tests/jest/ > wikibase@0.1.0 test-fast:grunt > grunt test > wikibase@0.1.0 test-fast:tainted-ref > npm --prefix view/lib/wikibase-tainted-ref test > data-bridge@0.1.0 test > npm-run-all test:* > wikibase-rest-api-definition@0.1.0 test > npm run lint > tainted-ref@0.1.0 test > npm-run-all test:* > wikibase-rest-api-definition@0.1.0 lint > npm-run-all --parallel lint:* > data-bridge@0.1.0 test:lint > vue-cli-service lint --max-warnings 0 --no-fix . && stylelint --syntax scss 'src/**/*.(vue|scss)' Running "eslint:all" (eslint) task > tainted-ref@0.1.0 test:unit > vue-cli-service test:unit -c ./jest.config.js > wikibase-rest-api-definition@0.1.0 lint:eslint > eslint . --config .eslintrc.json --max-warnings 0 > wikibase-rest-api-definition@0.1.0 lint:openapi > redocly lint specs/openapi.json DONE No lint errors found! > tainted-ref@0.1.0 test:lint > vue-cli-service lint --max-warnings 0 --no-fix . && stylelint --syntax scss 'src/**/*.(vue|scss)' > data-bridge@0.1.0 test:unit > jest -c ./jest.config.unit.js DONE No lint errors found! Running "banana:all" (banana) task > tainted-ref@0.1.0 test:mwlibs > echo 'disabled (T297381)' # ZUUL_BRANCH=${ZUUL_BRANCH:-master} lib-version-check disabled (T297381) >> 5 message directories checked. Running "stylelint:all" (stylelint) task >> Linted 42 files without errors Done. > data-bridge@0.1.0 test:integration > jest -c ./jest.config.integration.js > data-bridge@0.1.0 test:e2e > jest -c ./jest.config.e2e.js > data-bridge@0.1.0 test:distnodiff > npm run build -- --dest /tmp/dist && diff -q ./dist/data-bridge.app.js /tmp/dist/data-bridge.app.js && diff -q ./dist/css/data-bridge.app.css /tmp/dist/css/data-bridge.app.css && diff -q ./dist/data-bridge.init.js /tmp/dist/data-bridge.init.js && diff -q ./dist/data-bridge.chunk-vendors.js /tmp/dist/data-bridge.chunk-vendors.js > data-bridge@0.1.0 build > NODE_ENV=production vue-cli-service build --no-clean --skip-plugins eslint --report --report-json --no-module --dest /tmp/dist DONE Compiled successfully in 16845ms3:35:07 AM File Size Gzipped ../../../../tmp/dist/data-bridge.app.j 190.92 KiB 52.34 KiB s ../../../../tmp/dist/data-bridge.chunk 27.45 KiB 10.21 KiB -vendors.js ../../../../tmp/dist/data-bridge.init. 9.60 KiB 4.14 KiB js ../../../../tmp/dist/css/data-bridge.a 25.56 KiB 4.28 KiB pp.css Images and other types of assets omitted. DONE Build complete. The ../../../../tmp/dist directory is ready to be deployed. INFO Check out deployment instructions at https://cli.vuejs.org/guide/deployment.html > data-bridge@0.1.0 test:mwlibs > echo 'disabled (T297381)' # ZUUL_BRANCH=${ZUUL_BRANCH:-master} lib-version-check disabled (T297381) --- end --- {} {"1101163": {"source": 1101163, "name": "nanoid", "dependency": "nanoid", "title": "Predictable results in nanoid generation when given non-integer values", "url": "https://github.com/advisories/GHSA-mwcw-c2x4-8c55", "severity": "moderate", "cwe": ["CWE-835"], "cvss": {"score": 4.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N"}, "range": "<3.3.8"}} Upgrading n:mocha from 10.2.0, ^10.2.0 -> 10.8.2, ^10.2.0 {"1101163": {"source": 1101163, "name": "nanoid", "dependency": "nanoid", "title": "Predictable results in nanoid generation when given non-integer values", "url": "https://github.com/advisories/GHSA-mwcw-c2x4-8c55", "severity": "moderate", "cwe": ["CWE-835"], "cvss": {"score": 4.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N"}, "range": "<3.3.8"}} Upgrading n:nanoid from 3.3.3, 3.3.7 -> 3.3.8 $ package-lock-lint package-lock.json --- stdout --- Checking package-lock.json --- end --- build: Updating dependencies composer: * mediawiki/mediawiki-codesniffer: dev-master#fd6ecb5ffbe353507ca05387176db02f0f41f6fe → 45.0.0 The following sniffs are failing and were disabled: * Generic.Files.LineLength.TooLong * MediaWiki.Arrays.AlphabeticArraySort.Duplicate The following sniffs now pass and were enabled: * MediaWiki.Usage.StaticClosure.StaticClosure npm: * mocha: 10.2.0, ^10.2.0 → 10.8.2, ^10.2.0 * https://github.com/advisories/GHSA-mwcw-c2x4-8c55 * nanoid: 3.3.3, 3.3.7 → 3.3.8 * https://github.com/advisories/GHSA-mwcw-c2x4-8c55 $ git add . --- stdout --- --- end --- $ git commit -F /tmp/tmp5ozxsa7z --- stdout --- [master 263214b] build: Updating dependencies 370 files changed, 1812 insertions(+), 1451 deletions(-) --- end --- $ git format-patch HEAD~1 --stdout --- stdout --- From 263214bbd8f040c8bf7c1dd156a9d5142dc3c1ad Mon Sep 17 00:00:00 2001 From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org> Date: Tue, 24 Dec 2024 03:35:12 +0000 Subject: [PATCH] build: Updating dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit composer: * mediawiki/mediawiki-codesniffer: dev-master#fd6ecb5ffbe353507ca05387176db02f0f41f6fe → 45.0.0 The following sniffs are failing and were disabled: * Generic.Files.LineLength.TooLong * MediaWiki.Arrays.AlphabeticArraySort.Duplicate The following sniffs now pass and were enabled: * MediaWiki.Usage.StaticClosure.StaticClosure npm: * mocha: 10.2.0, ^10.2.0 → 10.8.2, ^10.2.0 * https://github.com/advisories/GHSA-mwcw-c2x4-8c55 * nanoid: 3.3.3, 3.3.7 → 3.3.8 * https://github.com/advisories/GHSA-mwcw-c2x4-8c55 Change-Id: I66d7d0fa179279eeefd5a0d0ff5b831518bdae07 --- .phpcs.xml | 3 +- client/WikibaseClient.ServiceWiring.php | 160 +-- client/WikibaseClient.datatypes.php | 30 +- client/WikibaseClient.entitytypes.php | 4 +- client/config/WikibaseClient.default.php | 28 +- client/includes/Api/PageTerms.php | 2 +- client/includes/ClientHooks.php | 2 +- .../DataAccessSnakFormatterFactory.php | 2 +- .../DataBridgeResourceLoaderModules.php | 2 +- .../Hooks/DescriptionProviderHookHandler.php | 2 +- .../includes/Hooks/ExtensionLoadHandler.php | 2 +- .../LoadExtensionSchemaUpdatesHookHandler.php | 2 +- .../Hooks/ParserFunctionRegistrant.php | 4 +- .../includes/Serializer/ClientSerializer.php | 2 +- .../Specials/SpecialPagesWithBadges.php | 2 +- client/includes/Store/AddUsagesForPageJob.php | 4 +- client/includes/Store/DescriptionLookup.php | 6 +- .../Store/Sql/PagePropsEntityIdLookup.php | 2 +- .../includes/Usage/Sql/EntityUsageTable.php | 2 +- .../Usage/Sql/SqlSubscriptionManager.php | 2 +- .../Sql/SqlUsageTrackerSchemaUpdater.php | 2 +- client/includes/Usage/UsageDeduplicator.php | 2 +- .../RecentChangesModificationTestBase.php | 2 +- .../Changes/AffectedPagesFinderTest.php | 2 +- .../includes/Changes/ChangeHandlerTest.php | 8 +- .../Changes/ChangeRunCoalescerTest.php | 2 +- .../includes/Changes/WikiPageUpdaterTest.php | 2 +- ...ikibaseLibraryInProcessEntityCacheTest.php | 2 +- .../Scribunto/WikibaseLibraryTestCase.php | 4 +- ...WikitextPreprocessingSnakFormatterTest.php | 2 +- .../integration/includes/DescriptionTest.php | 2 +- .../Hooks/ChangesListLinesHandlerTest.php | 2 +- .../includes/Hooks/LangLinkHandlerTest.php | 2 +- .../includes/Hooks/SidebarHookHandlerTest.php | 2 +- .../includes/NamespaceCheckerTest.php | 4 +- .../Specials/SpecialPagesWithBadgesTest.php | 2 +- .../UnexpectedUnconnectedPagePrimerTest.php | 2 +- .../Usage/Sql/EntityUsageTableTest.php | 2 +- .../Usage/UsageLookupContractTester.php | 2 +- .../Usage/UsageTrackerContractTester.php | 2 +- .../Usage/UsageTrackingIntegrationTest.php | 2 +- .../Usage/UsageAccumulatorContractTester.php | 2 +- .../Changes/InjectRCRecordsJobTest.php | 6 +- .../ClientSiteLinkTitleLookupTest.php | 2 +- .../DataAccessSnakFormatterFactoryTest.php | 2 +- .../LanguageAwareRendererTest.php | 4 +- .../StatementGroupRendererFactoryTest.php | 4 +- .../VariantsAwareRendererTest.php | 2 +- .../CachingFallbackBasedTermLookupTest.php | 6 +- .../Scribunto/LuaFunctionCallTrackerTest.php | 2 +- .../SnakSerializationRendererTest.php | 2 +- .../StatementTransclusionInteractorTest.php | 6 +- .../Hooks/EditActionHookHandlerTest.php | 6 +- .../Hooks/ExtensionLoadHandlerTest.php | 2 +- .../Hooks/InfoActionHookHandlerTest.php | 4 +- .../Hooks/LanguageLinkBadgeDisplayTest.php | 2 +- .../Hooks/SiteLinksForDisplayLookupTest.php | 2 +- .../Hooks/SkinAfterPortletHandlerTest.php | 2 +- .../ServiceWiring/DataTypeDefinitionsTest.php | 2 +- .../ServiceWiring/DataTypeFactoryTest.php | 2 +- .../DataValueDeserializerTest.php | 2 +- .../ServiceWiring/EntityDifferTest.php | 4 +- .../ServiceWiring/EntityIdComposerTest.php | 2 +- .../ServiceWiring/EntityIdParserTest.php | 2 +- .../EntityNamespaceLookupTest.php | 2 +- .../EntityTypeDefinitionsTest.php | 2 +- .../WikibaseContentLanguagesTest.php | 2 +- .../includes/Store/DescriptionLookupTest.php | 12 +- .../Usage/UsageTrackingSnakFormatterTest.php | 2 +- composer.json | 2 +- .../src/ByTypeDispatchingEntityIdLookup.php | 2 +- .../ByTypeDispatchingEntityIdLookupTest.php | 4 +- ...ypeDispatchingEntityRevisionLookupTest.php | 2 +- ...peDispatchingPrefetchingTermLookupTest.php | 20 +- lib/WikibaseLib.entitytypes.php | 24 +- lib/includes/DataTypeDefinitions.php | 2 +- .../Formatters/AutoCommentFormatter.php | 2 +- lib/includes/LanguageFallbackChainFactory.php | 2 +- .../Serialization/CallbackFactory.php | 4 +- .../CacheRetrievingEntityRevisionLookup.php | 4 +- .../RedirectResolvingLatestRevisionLookup.php | 6 +- .../Store/RevisionBasedEntityLookup.php | 6 +- ...evisionBasedEntityRedirectTargetLookup.php | 4 +- lib/includes/Store/Sql/SiteLinkTable.php | 2 +- .../Terms/DatabaseTermInLangIdsAcquirer.php | 6 +- .../ReplicaPrimaryAwareRecordIdsAcquirer.php | 2 +- .../Sql/WikiPageEntityMetaDataLookup.php | 2 +- .../wikibase/changes/src/EntityChange.php | 2 +- .../changes/tests/EntityChangeTest.php | 4 +- .../wikibase/changes/tests/ItemChangeTest.php | 4 +- .../SnakValueDeserializerTest.php | 2 +- .../data-model/tests/unit/NewItem.php | 2 +- lib/resources/Resources.php | 6 +- lib/tests/phpunit/DataTypeDefinitionsTest.php | 2 +- lib/tests/phpunit/DataValueFactoryTest.php | 2 +- lib/tests/phpunit/EntityFactoryTest.php | 4 +- .../phpunit/EntityRevisionLookupTestCase.php | 4 +- lib/tests/phpunit/EntityTypesTest.php | 2 +- ...naryOptionDispatchingSnakFormatterTest.php | 2 +- .../DispatchingValueFormatterTest.php | 4 +- ...atterLabelDescriptionLookupFactoryTest.php | 6 +- .../GlobeCoordinateDetailsFormatterTest.php | 2 +- .../HtmlExternalIdentifierFormatterTest.php | 4 +- .../ItemPropertyIdHtmlLinkFormatterTest.php | 14 +- ...sProviderEntityIdHtmlLinkFormatterTest.php | 2 +- .../OutputFormatSnakFormatterFactoryTest.php | 6 +- .../OutputFormatValueFormatterFactoryTest.php | 6 +- .../PropertyValueSnakFormatterTest.php | 2 +- .../QuantityDetailsFormatterTest.php | 2 +- .../DataBridgeReferenceFormatterTest.php | 2 +- .../Formatters/VocabularyUriFormatterTest.php | 2 +- .../WikibaseValueFormatterBuildersTest.php | 10 +- ...ikitextExternalIdentifierFormatterTest.php | 4 +- ...atchingTermsLookupSearchInteractorTest.php | 8 +- .../LanguageFallbackChainFactoryTest.php | 4 +- .../phpunit/LanguageFallbackIndicatorTest.php | 2 +- lib/tests/phpunit/MockRepositoryTest.php | 2 +- .../phpunit/Modules/CurrentSiteModuleTest.php | 2 +- .../phpunit/Modules/DataTypesModuleTest.php | 6 +- lib/tests/phpunit/Modules/SitesModuleTest.php | 2 +- .../CommaSeparatedListTest.php | 2 +- .../Serialization/CallbackFactoryTest.php | 2 +- .../SerializationModifierTest.php | 10 +- .../ServiceBySourceAndTypeDispatcherTest.php | 2 +- .../phpunit/ServiceByTypeDispatcherTest.php | 2 +- lib/tests/phpunit/SimpleCacheTestCase.php | 8 +- ...eDispatchingPropertyDataTypeLookupTest.php | 4 +- .../StatsdRecordingSimpleCacheTest.php | 6 +- ...acheRetrievingEntityRevisionLookupTest.php | 2 +- .../Store/CachingEntityRevisionLookupTest.php | 2 +- .../EntityLinkTargetEntityIdLookupTest.php | 4 +- ...uageFallbackLabelDescriptionLookupTest.php | 4 +- .../Store/LatestRevisionIdResultTest.php | 12 +- .../Store/MatchingTermsLookupFactoryTest.php | 4 +- ...hingWikiPageEntityMetaDataAccessorTest.php | 2 +- .../Store/RevisionBasedEntityLookupTest.php | 2 +- .../Store/Sql/PropertyInfoTableTest.php | 2 +- .../DatabaseInnerTermStoreCleanerTest.php | 2 +- .../Terms/DatabaseMatchingTermsLookupTest.php | 4 +- .../DatabaseTermInLangIdsAcquirerTest.php | 4 +- ...tabaseTermStoreWriterTestGetTermsTrait.php | 6 +- .../TermInLangIdsResolverFactoryTest.php | 2 +- ...ypeDispatchingEntityRevisionLookupTest.php | 2 +- .../Store/TypeDispatchingEntityStoreTest.php | 2 +- .../phpunit/TermLanguageFallbackChainTest.php | 8 +- .../phpunit/WikibaseContentLanguagesTest.php | 2 +- lib/tests/phpunit/WikibaseSettingsTest.php | 4 +- package-lock.json | 980 ++++++++++++------ ...ratedProperties.OverrideEntityServices.php | 14 +- repo/WikibaseRepo.ServiceWiring.php | 344 +++--- repo/WikibaseRepo.datatypes.php | 106 +- repo/WikibaseRepo.entitytypes.php | 74 +- repo/config/Wikibase.default.php | 8 +- repo/config/Wikibase.example.php | 2 +- repo/config/Wikibase.searchindex.php | 2 +- repo/includes/Api/CreateClaim.php | 4 +- repo/includes/Api/EditEntity.php | 4 +- repo/includes/Api/EntityTerms.php | 2 +- repo/includes/Api/GetClaims.php | 4 +- repo/includes/Api/LinkTitles.php | 4 +- repo/includes/Api/ListSubscribers.php | 2 +- repo/includes/Api/MergeItems.php | 2 +- repo/includes/Api/ParseValue.php | 2 +- repo/includes/Api/RemoveClaims.php | 4 +- repo/includes/Api/RemoveQualifiers.php | 4 +- repo/includes/Api/RemoveReferences.php | 4 +- repo/includes/Api/ResultBuilder.php | 10 +- repo/includes/Api/SetAliases.php | 4 +- repo/includes/Api/SetClaim.php | 4 +- repo/includes/Api/SetClaimValue.php | 4 +- repo/includes/Api/SetQualifier.php | 6 +- repo/includes/Api/SetReference.php | 4 +- repo/includes/Api/SetSiteLink.php | 2 +- ...patchChangeModificationNotificationJob.php | 2 +- .../ChangeModification/DispatchChangesJob.php | 6 +- .../ChangeOp/ChangeOpValidationException.php | 2 +- repo/includes/ChangeOp/ChangeOps.php | 2 +- repo/includes/Dumpers/DumpGenerator.php | 2 +- .../EditEntity/MediaWikiEditEntity.php | 2 +- .../FederatedProperties/ApiEntityLookup.php | 2 +- ...ngEntityParserOutputGeneratorDecorator.php | 4 +- .../Formatters/EntityLinkFormatterFactory.php | 2 +- .../HtmlPageLinkRendererEndHookHandler.php | 2 +- .../MediaWikiLocalizedTextProvider.php | 2 +- repo/includes/Parsers/MwTimeIsoParser.php | 2 +- repo/includes/PropertyServices.php | 4 +- repo/includes/Rdf/RdfBuilder.php | 6 +- repo/includes/Rdf/RdfVocabulary.php | 4 +- repo/includes/RepoHooks.php | 12 +- .../ParameterizedDescriptionTrait.php | 2 +- .../Specials/SpecialAvailableBadges.php | 2 +- .../Specials/SpecialGoToLinkedPage.php | 2 +- repo/includes/Specials/SpecialItemByTitle.php | 2 +- .../Specials/SpecialItemDisambiguation.php | 2 +- .../Specials/SpecialListProperties.php | 2 +- repo/includes/Specials/SpecialMergeItems.php | 2 +- .../includes/Specials/SpecialModifyEntity.php | 2 +- .../Specials/SpecialRedirectEntity.php | 2 +- repo/includes/Specials/SpecialSetSiteLink.php | 4 +- .../Store/Sql/DatabaseSchemaUpdater.php | 6 +- repo/includes/SummaryFormatter.php | 2 +- repo/includes/WikibasePingback.php | 4 +- repo/maintenance/DumpEntities.php | 2 +- repo/maintenance/ResubmitChanges.php | 2 +- repo/maintenance/addUnitConversions.php | 2 +- repo/maintenance/searchEntities.php | 2 +- repo/maintenance/updateUnits.php | 2 +- repo/resources/Resources.php | 20 +- .../PatchItem/PatchedItemValidator.php | 2 +- ...ookupPropertyRevisionMetadataRetriever.php | 2 +- repo/rest-api/src/WbRestApi.ServiceWiring.php | 218 ++-- .../CreatePropertyValidatorTest.php | 8 +- .../PatchItem/PatchedItemValidatorTest.php | 8 +- .../PatchedPropertyValidatorTest.php | 8 +- ...lsAndDescriptionsContentsValidatorTest.php | 8 +- .../Validation/StatementsValidatorTest.php | 2 +- .../EntityUpdaterItemUpdaterTest.php | 2 +- .../EntityUpdaterPropertyUpdaterTest.php | 2 +- ...erCreationResponseHeaderMiddlewareTest.php | 4 +- .../UnexpectedErrorHandlerMiddlewareTest.php | 4 +- .../includes/Actions/EditEntityActionTest.php | 2 +- .../Actions/HistoryEntityActionTest.php | 4 +- .../includes/Api/ApiJsonFormatTest.php | 2 +- .../includes/Api/CreateRedirectTest.php | 2 +- ...tyClearChangeOpValidateIntegrationTest.php | 4 +- .../includes/Api/EntitySavingHelperTest.php | 4 +- .../Api/EntityTermSearchHelperTest.php | 2 +- .../includes/Api/FormatSnakValueTest.php | 32 +- .../phpunit/includes/Api/MergeItemsTest.php | 8 +- .../includes/Api/RemoveQualifiersTest.php | 4 +- .../includes/Api/RemoveReferencesTest.php | 4 +- .../includes/Api/ResultBuilderTest.php | 6 +- .../includes/Api/SetClaimValueTest.php | 2 +- .../Api/StatementModificationHelperTest.php | 8 +- .../includes/Api/WikibaseApiTestCase.php | 2 +- ...ilderBasedDataTypeValidatorFactoryTest.php | 8 +- ...tchChangeVisibilityNotificationJobTest.php | 4 +- .../ChangeOp/ChangeOpTestMockProvider.php | 8 +- .../includes/ChangeOp/ChangeOpsMergeTest.php | 2 +- .../includes/ChangeOp/ChangeOpsTest.php | 6 +- .../AliasChangeOpDeserializationTester.php | 2 +- .../FingerprintChangeOpDeserializerTest.php | 2 +- ...adgeChangeOpSerializationValidatorTest.php | 10 +- .../SiteLinksChangeOpDeserializerTest.php | 12 +- .../ChangeOp/EntityChangeOpProviderTest.php | 8 +- .../ContentHandlerEntityIdLookupTest.php | 4 +- .../ContentHandlerEntityTitleLookupTest.php | 4 +- .../Content/DataUpdateAdapterTest.php | 4 +- .../Content/EntityContentFactoryTest.php | 4 +- .../Content/EntityContentTestCase.php | 2 +- .../includes/Content/ItemContentTest.php | 6 +- .../Diff/BasicEntityDiffVisualizerTest.php | 2 +- .../Diff/ClaimDifferenceVisualizerTest.php | 8 +- .../DispatchingEntityDiffVisualizerTest.php | 4 +- .../Diff/EntityDiffVisualizerFactoryTest.php | 6 +- .../includes/Diff/ItemDiffVisualizerTest.php | 2 +- .../Dumpers/JsonDataTypeInjectorTest.php | 2 +- .../Dumpers/JsonDumpGeneratorTest.php | 6 +- .../includes/Dumpers/RdfDumpGeneratorTest.php | 4 +- .../EntityReferenceExtractorDelegatorTest.php | 4 +- .../StatementEntityReferenceExtractorTest.php | 2 +- .../phpunit/includes/EntityTypesTest.php | 2 +- .../Api/RemoveClaimsTest.php | 2 +- .../Api/RemoveQualifiersTest.php | 2 +- .../ApiEntitySearchHelperTest.php | 2 +- ...tityParserOutputGeneratorDecoratorTest.php | 4 +- ...ferenceEngineViewHeaderHookHandlerTest.php | 4 +- .../Hooks/EditFilterHookRunnerTest.php | 2 +- .../EntityLinkFormatterFactoryTest.php | 2 +- ...PageLinkRendererEndHookHandlerTestBase.php | 10 +- .../Hooks/LabelPrefetchHookHandlerTest.php | 4 +- .../Hooks/PageHistoryPagerHookHandlerTest.php | 4 +- .../Hooks/RecentChangeSaveHookHandlerTest.php | 4 +- .../Hooks/ShowSearchHitHandlerTest.php | 8 +- .../SummaryParsingPrefetchHelperTest.php | 2 +- .../includes/IO/EntityIdReaderTest.php | 2 +- .../Interactors/ItemMergeInteractorTest.php | 2 +- .../RedirectCreationInteractorTest.php | 2 +- .../Interactors/TokenCheckInteractorTest.php | 2 +- .../EntityDataRequestHandlerTest.php | 2 +- .../EntityDataSerializationServiceTest.php | 4 +- .../LinkedData/EntityDataUriManagerTest.php | 2 +- ...angeOpValidationExceptionLocalizerTest.php | 2 +- .../MessageParameterFormatterTest.php | 4 +- .../includes/Merge/StatementsMergerTest.php | 2 +- ...tchingEntityMetaTagsCreatorFactoryTest.php | 2 +- .../DispatchingEntityViewFactoryTest.php | 2 +- .../EntityParserOutputGeneratorTestBase.php | 6 +- .../ExternalLinksDataUpdaterTest.php | 4 +- .../ImageLinksDataUpdaterTest.php | 2 +- .../ParserOutputJsConfigBuilderTest.php | 2 +- .../ReferencedEntitiesDataUpdaterTest.php | 4 +- .../ParserOutput/TextInjectorTest.php | 2 +- .../Parsers/TimeParserFactoryTest.php | 4 +- .../includes/PropertyDataTypeChangerTest.php | 2 +- .../phpunit/includes/PropertyServicesTest.php | 4 +- .../Rdf/FullStatementRdfBuilderTest.php | 6 +- .../includes/Rdf/NTriplesRdfTestHelper.php | 2 +- .../Rdf/PropertyStubRdfBuilderTest.php | 2 +- .../phpunit/includes/Rdf/RdfBuilderTest.php | 2 +- .../includes/Rdf/SnakRdfBuilderTest.php | 2 +- .../ExternalIdentifierRdfBuilderTest.php | 2 +- repo/tests/phpunit/includes/RepoHooksTest.php | 10 +- .../HTMLForm/HTMLAliasesFieldTest.php | 2 +- .../HTMLForm/HTMLItemReferenceFieldTest.php | 2 +- .../Specials/SpecialAvailableBadgesTest.php | 2 +- .../Specials/SpecialEntityDataTest.php | 2 +- .../Specials/SpecialGoToLinkedPageTest.php | 8 +- .../Specials/SpecialItemByTitleTest.php | 4 +- .../SpecialItemDisambiguationTest.php | 4 +- .../Specials/SpecialListPropertiesTest.php | 2 +- .../Specials/SpecialMergeItemsTest.php | 6 +- .../includes/Specials/SpecialNewItemTest.php | 4 +- .../Specials/SpecialNewPropertyTest.php | 2 +- .../Specials/SpecialRedirectEntityTest.php | 4 +- .../SpecialWikibaseRepoPageTestBase.php | 2 +- .../CachingPrefetchingTermLookupTest.php | 2 +- .../Store/CachingPropertyInfoTest.php | 2 +- .../Store/Sql/SqlEntityIdPagerFactoryTest.php | 2 +- .../Store/Sql/SqlEntityIdPagerTest.php | 2 +- .../Sql/SqlSiteLinkConflictLookupTest.php | 2 +- .../Sql/WikiPageEntityMetaDataLookupTest.php | 2 +- .../Sql/WikiPageEntityRedirectLookupTest.php | 4 +- .../Store/Sql/WikiPageEntityStoreTest.php | 10 +- ...eDispatchingEntityTitleStoreLookupTest.php | 2 +- .../WikiPageEntityRevisionLookupTest.php | 2 +- ...kiPageEntityStorePermissionCheckerTest.php | 2 +- .../includes/ValidatorBuildersTest.php | 4 +- .../CommonsMediaExistsValidatorTest.php | 2 +- .../FingerprintUniquenessValidatorTest.php | 4 +- .../InterWikiLinkExistsValidatorTest.php | 2 +- .../includes/Validators/SnakValidatorTest.php | 2 +- .../Validators/StringLengthValidatorTest.php | 2 +- .../ValidatorErrorLocalizerTest.php | 2 +- .../includes/ValueParserFactoryTest.php | 6 +- .../phpunit/maintenance/DumpJsonTest.php | 2 +- .../tests/phpunit/maintenance/DumpRdfTest.php | 2 +- .../AllTypesEntityDeserializerTest.php | 4 +- .../ContentModelMappingsTest.php | 2 +- .../ServiceWiring/DataTypeDefinitionsTest.php | 2 +- .../DataTypeValidatorFactoryTest.php | 2 +- .../EntityChangeOpProviderTest.php | 2 +- .../unit/ServiceWiring/EntityDifferTest.php | 4 +- .../unit/ServiceWiring/EntityFactoryTest.php | 2 +- .../ServiceWiring/EntityIdComposerTest.php | 2 +- .../unit/ServiceWiring/EntityIdParserTest.php | 4 +- .../EntityNamespaceLookupTest.php | 2 +- .../unit/ServiceWiring/EntityPatcherTest.php | 4 +- .../EntitySearchHelperCallbacksTest.php | 2 +- .../EntityTypeDefinitionsTest.php | 2 +- .../ServiceWiring/FulltextSearchTypesTest.php | 4 +- .../ItemVocabularyBaseUriTest.php | 2 +- .../LocalEntityNamespaceLookupTest.php | 2 +- .../ServiceWiring/ValueParserFactoryTest.php | 2 +- .../ValueSnakRdfBuilderFactoryTest.php | 2 +- .../WikibaseContentLanguagesTest.php | 2 +- .../includes/Hooks/EntityDataPurgerTest.php | 2 +- view/resources.php | 6 +- view/resources/templates.php | 2 +- view/src/DummyLocalizedTextProvider.php | 2 +- view/src/FallbackChainModuleMethods.php | 2 +- view/src/SiteLinksView.php | 2 +- .../Renderer/TermboxRemoteRenderer.php | 2 +- ...ngerprintableEntityMetaTagsCreatorTest.php | 4 +- .../phpunit/SimpleEntityTermsViewTest.php | 6 +- view/tests/phpunit/SiteLinksViewTest.php | 2 +- .../phpunit/StatementGroupListViewTest.php | 2 +- .../Renderer/TermboxRemoteRendererTest.php | 2 +- view/tests/phpunit/TermsListViewTest.php | 4 +- .../ToolbarEditSectionGeneratorTest.php | 2 +- 370 files changed, 1812 insertions(+), 1451 deletions(-) diff --git a/.phpcs.xml b/.phpcs.xml index e212b84..ceb61be 100644 --- a/.phpcs.xml +++ b/.phpcs.xml @@ -1,11 +1,12 @@ <?xml version="1.0"?> <ruleset> <rule ref="./vendor/mediawiki/mediawiki-codesniffer/MediaWiki"> + <exclude name="Generic.Files.LineLength.TooLong" /> + <exclude name="MediaWiki.Arrays.AlphabeticArraySort.Duplicate" /> <exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate" /> <exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected" /> <exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic" /> <exclude name="MediaWiki.Commenting.FunctionComment.MissingParamTag" /> - <exclude name="MediaWiki.Usage.StaticClosure.StaticClosure" /> </rule> <!-- Starting a function's body with an empty line can be helpful after a very large header. diff --git a/client/WikibaseClient.ServiceWiring.php b/client/WikibaseClient.ServiceWiring.php index 87e1714..a2005fb 100644 --- a/client/WikibaseClient.ServiceWiring.php +++ b/client/WikibaseClient.ServiceWiring.php @@ -138,7 +138,7 @@ use Wikibase\Lib\WikibaseSettings; /** @phpcs-require-sorted-array */ return [ - 'WikibaseClient.AffectedPagesFinder' => function ( MediaWikiServices $services ): AffectedPagesFinder { + 'WikibaseClient.AffectedPagesFinder' => static function ( MediaWikiServices $services ): AffectedPagesFinder { return new AffectedPagesFinder( WikibaseClient::getStore( $services )->getUsageLookup(), $services->getTitleFactory(), @@ -149,11 +149,11 @@ return [ ); }, - 'WikibaseClient.AliasTermBuffer' => function ( MediaWikiServices $services ): AliasTermBuffer { + 'WikibaseClient.AliasTermBuffer' => static function ( MediaWikiServices $services ): AliasTermBuffer { return WikibaseClient::getPrefetchingTermLookup( $services ); }, - 'WikibaseClient.BaseDataModelDeserializerFactory' => function ( MediaWikiServices $services ): DeserializerFactory { + 'WikibaseClient.BaseDataModelDeserializerFactory' => static function ( MediaWikiServices $services ): DeserializerFactory { $dataTypeDefs = WikibaseClient::getDataTypeDefinitions( $services ); return new DeserializerFactory( @@ -165,7 +165,7 @@ return [ ); }, - 'WikibaseClient.ChangeHandler' => function ( MediaWikiServices $services ): ChangeHandler { + 'WikibaseClient.ChangeHandler' => static function ( MediaWikiServices $services ): ChangeHandler { $logger = WikibaseClient::getLogger( $services ); $pageUpdater = new WikiPageUpdater( @@ -198,7 +198,7 @@ return [ ); }, - 'WikibaseClient.ClientDomainDbFactory' => function( MediaWikiServices $services ): ClientDomainDbFactory { + 'WikibaseClient.ClientDomainDbFactory' => static function( MediaWikiServices $services ): ClientDomainDbFactory { $lbFactory = $services->getDBLoadBalancerFactory(); return new ClientDomainDbFactory( @@ -207,7 +207,7 @@ return [ ); }, - 'WikibaseClient.CompactBaseDataModelSerializerFactory' => function ( MediaWikiServices $services ): SerializerFactory { + 'WikibaseClient.CompactBaseDataModelSerializerFactory' => static function ( MediaWikiServices $services ): SerializerFactory { /* Note: Unlike in repo, we do not pass * SerializerFactory::OPTION_SERIALIZE_USE_OBJECTS_FOR_EMPTY_MAPS * because as of January 2024, Scribunto does not support stdClass objects as Lua arrays */ @@ -218,7 +218,7 @@ return [ ); }, - 'WikibaseClient.CompactEntitySerializer' => function ( MediaWikiServices $services ): Serializer { + 'WikibaseClient.CompactEntitySerializer' => static function ( MediaWikiServices $services ): Serializer { $serializerFactoryCallbacks = WikibaseClient::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::SERIALIZER_FACTORY_CALLBACK ); $baseSerializerFactory = WikibaseClient::getCompactBaseDataModelSerializerFactory( $services ); @@ -231,13 +231,13 @@ return [ return new DispatchingSerializer( $serializers ); }, - 'WikibaseClient.DataAccessSettings' => function ( MediaWikiServices $services ): DataAccessSettings { + 'WikibaseClient.DataAccessSettings' => static function ( MediaWikiServices $services ): DataAccessSettings { return new DataAccessSettings( WikibaseClient::getSettings( $services )->getSetting( 'maxSerializedEntitySize' ) ); }, - 'WikibaseClient.DataAccessSnakFormatterFactory' => function ( MediaWikiServices $services ): DataAccessSnakFormatterFactory { + 'WikibaseClient.DataAccessSnakFormatterFactory' => static function ( MediaWikiServices $services ): DataAccessSnakFormatterFactory { return new DataAccessSnakFormatterFactory( WikibaseClient::getLanguageFallbackChainFactory( $services ), WikibaseClient::getSnakFormatterFactory( $services ), @@ -248,7 +248,7 @@ return [ ); }, - 'WikibaseClient.DataTypeDefinitions' => function ( MediaWikiServices $services ): DataTypeDefinitions { + 'WikibaseClient.DataTypeDefinitions' => static function ( MediaWikiServices $services ): DataTypeDefinitions { $baseDataTypes = require __DIR__ . '/../lib/WikibaseLib.datatypes.php'; $clientDataTypes = require __DIR__ . '/WikibaseClient.datatypes.php'; @@ -267,13 +267,13 @@ return [ ); }, - 'WikibaseClient.DataTypeFactory' => function ( MediaWikiServices $services ): DataTypeFactory { + 'WikibaseClient.DataTypeFactory' => static function ( MediaWikiServices $services ): DataTypeFactory { return new DataTypeFactory( WikibaseClient::getDataTypeDefinitions( $services )->getValueTypes() ); }, - 'WikibaseClient.DataValueDeserializer' => function ( MediaWikiServices $services ): DataValueDeserializer { + 'WikibaseClient.DataValueDeserializer' => static function ( MediaWikiServices $services ): DataValueDeserializer { return new DataValueDeserializer( array_merge( WikibaseClient::getDataTypeDefinitions( $services )->getDataValueDeserializerBuilders(), [ 'unknown' => UnknownValue::class ] @@ -286,7 +286,7 @@ return [ * @warning This is for use with {@link WikibaseClient::getDefaultSnakFormatterBuilders()} during bootstrap only! * Program logic should use {@link WikibaseClient::getSnakFormatterFactory()} instead! */ - 'WikibaseClient.DefaultSnakFormatterBuilders' => function ( MediaWikiServices $services ): WikibaseSnakFormatterBuilders { + 'WikibaseClient.DefaultSnakFormatterBuilders' => static function ( MediaWikiServices $services ): WikibaseSnakFormatterBuilders { return new WikibaseSnakFormatterBuilders( WikibaseClient::getDefaultValueFormatterBuilders( $services ), WikibaseClient::getPropertyInfoLookup( $services ), @@ -295,7 +295,7 @@ return [ ); }, - 'WikibaseClient.DefaultValueFormatterBuilders' => function ( MediaWikiServices $services ): WikibaseValueFormatterBuilders { + 'WikibaseClient.DefaultValueFormatterBuilders' => static function ( MediaWikiServices $services ): WikibaseValueFormatterBuilders { $clientStore = WikibaseClient::getStore( $services ); $settings = WikibaseClient::getSettings( $services ); $entityTitleLookup = new ClientSiteLinkTitleLookup( @@ -337,7 +337,7 @@ return [ ); }, - 'WikibaseClient.DescriptionLookup' => function ( MediaWikiServices $services ): DescriptionLookup { + 'WikibaseClient.DescriptionLookup' => static function ( MediaWikiServices $services ): DescriptionLookup { return new DescriptionLookup( WikibaseClient::getEntityIdLookup( $services ), WikibaseClient::getTermBuffer( $services ), @@ -345,7 +345,7 @@ return [ ); }, - 'WikibaseClient.EntityChangeFactory' => function ( MediaWikiServices $services ): EntityChangeFactory { + 'WikibaseClient.EntityChangeFactory' => static function ( MediaWikiServices $services ): EntityChangeFactory { // TODO: take this from a setting or registry. $changeClasses = [ Item::ENTITY_TYPE => ItemChange::class, @@ -361,7 +361,7 @@ return [ ); }, - 'WikibaseClient.EntityChangeLookup' => function ( MediaWikiServices $services ): EntityChangeLookup { + 'WikibaseClient.EntityChangeLookup' => static function ( MediaWikiServices $services ): EntityChangeLookup { return new EntityChangeLookup( WikibaseClient::getEntityChangeFactory( $services ), WikibaseClient::getEntityIdParser( $services ), @@ -370,7 +370,7 @@ return [ ); }, - 'WikibaseClient.EntityDiffer' => function ( MediaWikiServices $services ): EntityDiffer { + 'WikibaseClient.EntityDiffer' => static function ( MediaWikiServices $services ): EntityDiffer { $entityDiffer = new EntityDiffer(); $entityTypeDefinitions = WikibaseClient::getEntityTypeDefinitions( $services ); $builders = $entityTypeDefinitions->get( EntityTypeDefinitions::ENTITY_DIFFER_STRATEGY_BUILDER ); @@ -380,14 +380,14 @@ return [ return $entityDiffer; }, - 'WikibaseClient.EntityIdComposer' => function ( MediaWikiServices $services ): EntityIdComposer { + 'WikibaseClient.EntityIdComposer' => static function ( MediaWikiServices $services ): EntityIdComposer { return new EntityIdComposer( WikibaseClient::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::ENTITY_ID_COMPOSER_CALLBACK ) ); }, - 'WikibaseClient.EntityIdLookup' => function ( MediaWikiServices $services ): EntityIdLookup { + 'WikibaseClient.EntityIdLookup' => static function ( MediaWikiServices $services ): EntityIdLookup { $entityTypeDefinitions = WikibaseClient::getEntityTypeDefinitions( $services ); return new ByTypeDispatchingEntityIdLookup( $entityTypeDefinitions->get( EntityTypeDefinitions::CONTENT_MODEL_ID ), @@ -400,20 +400,20 @@ return [ ); }, - 'WikibaseClient.EntityIdParser' => function ( MediaWikiServices $services ): EntityIdParser { + 'WikibaseClient.EntityIdParser' => static function ( MediaWikiServices $services ): EntityIdParser { return new DispatchingEntityIdParser( WikibaseClient::getEntityTypeDefinitions( $services )->getEntityIdBuilders() ); }, - 'WikibaseClient.EntityLookup' => function ( MediaWikiServices $services ): EntityLookup { + 'WikibaseClient.EntityLookup' => static function ( MediaWikiServices $services ): EntityLookup { return WikibaseClient::getStore( $services )->getEntityLookup(); }, - 'WikibaseClient.EntityNamespaceLookup' => function ( MediaWikiServices $services ): EntityNamespaceLookup { + 'WikibaseClient.EntityNamespaceLookup' => static function ( MediaWikiServices $services ): EntityNamespaceLookup { return array_reduce( WikibaseClient::getEntitySourceDefinitions( $services )->getSources(), - function ( EntityNamespaceLookup $nsLookup, DatabaseEntitySource $source ): EntityNamespaceLookup { + static function ( EntityNamespaceLookup $nsLookup, DatabaseEntitySource $source ): EntityNamespaceLookup { return $nsLookup->merge( new EntityNamespaceLookup( $source->getEntityNamespaceIds(), $source->getEntitySlotNames() @@ -423,11 +423,11 @@ return [ ); }, - 'WikibaseClient.EntityRevisionLookup' => function ( MediaWikiServices $services ): EntityRevisionLookup { + 'WikibaseClient.EntityRevisionLookup' => static function ( MediaWikiServices $services ): EntityRevisionLookup { return WikibaseClient::getStore( $services )->getEntityRevisionLookup(); }, - 'WikibaseClient.EntitySourceAndTypeDefinitions' => function ( MediaWikiServices $services ): EntitySourceAndTypeDefinitions { + 'WikibaseClient.EntitySourceAndTypeDefinitions' => static function ( MediaWikiServices $services ): EntitySourceAndTypeDefinitions { // note: when adding support for further entity source types here, // also adjust the default 'entitySources' setting to copy sources of those types from the repo return new EntitySourceAndTypeDefinitions( @@ -436,7 +436,7 @@ return [ ); }, - 'WikibaseClient.EntitySourceDefinitions' => function ( MediaWikiServices $services ): EntitySourceDefinitions { + 'WikibaseClient.EntitySourceDefinitions' => static function ( MediaWikiServices $services ): EntitySourceDefinitions { $settings = WikibaseClient::getSettings( $services ); $subEntityTypesMapper = new SubEntityTypesMapper( WikibaseClient::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::SUB_ENTITY_TYPES ) ); @@ -446,7 +446,7 @@ return [ return $configParser->newDefinitionsFromConfigArray( $settings->getSetting( 'entitySources' ), $subEntityTypesMapper ); }, - 'WikibaseClient.EntityTypeDefinitions' => function ( MediaWikiServices $services ): EntityTypeDefinitions { + 'WikibaseClient.EntityTypeDefinitions' => static function ( MediaWikiServices $services ): EntityTypeDefinitions { $baseEntityTypes = require __DIR__ . '/../lib/WikibaseLib.entitytypes.php'; $clientEntityTypes = require __DIR__ . '/WikibaseClient.entitytypes.php'; @@ -460,7 +460,7 @@ return [ return new EntityTypeDefinitions( $entityTypes ); }, - 'WikibaseClient.ExternalUserNames' => function ( MediaWikiServices $services ): ?ExternalUserNames { + 'WikibaseClient.ExternalUserNames' => static function ( MediaWikiServices $services ): ?ExternalUserNames { $databaseName = WikibaseClient::getItemAndPropertySource( $services )->getDatabaseName(); if ( $databaseName !== false ) { $siteLookup = $services->getSiteLookup(); @@ -494,7 +494,7 @@ return [ return new ExternalUserNames( $interwikiPrefix, false ); }, - 'WikibaseClient.FallbackLabelDescriptionLookupFactory' => function ( + 'WikibaseClient.FallbackLabelDescriptionLookupFactory' => static function ( MediaWikiServices $services ): FallbackLabelDescriptionLookupFactory { return new FallbackLabelDescriptionLookupFactory( @@ -506,13 +506,13 @@ return [ ); }, - 'WikibaseClient.HookRunner' => function ( MediaWikiServices $services ): WikibaseClientHookRunner { + 'WikibaseClient.HookRunner' => static function ( MediaWikiServices $services ): WikibaseClientHookRunner { return new WikibaseClientHookRunner( $services->getHookContainer() ); }, - 'WikibaseClient.ItemAndPropertySource' => function ( MediaWikiServices $services ): EntitySource { + 'WikibaseClient.ItemAndPropertySource' => static function ( MediaWikiServices $services ): EntitySource { $itemAndPropertySourceName = WikibaseClient::getSettings( $services )->getSetting( 'itemAndPropertySourceName' ); $sources = WikibaseClient::getEntitySourceDefinitions( $services )->getSources(); foreach ( $sources as $source ) { @@ -524,7 +524,7 @@ return [ throw new LogicException( 'No source configured: ' . $itemAndPropertySourceName ); }, - 'WikibaseClient.ItemSource' => function ( MediaWikiServices $services ): EntitySource { + 'WikibaseClient.ItemSource' => static function ( MediaWikiServices $services ): EntitySource { $itemSource = WikibaseClient::getEntitySourceDefinitions( $services ) ->getDatabaseSourceForEntityType( Item::ENTITY_TYPE ); @@ -535,7 +535,7 @@ return [ return $itemSource; }, - 'WikibaseClient.KartographerEmbeddingHandler' => function ( + 'WikibaseClient.KartographerEmbeddingHandler' => static function ( MediaWikiServices $services ): ?CachingKartographerEmbeddingHandler { $settings = WikibaseClient::getSettings( $services ); @@ -552,7 +552,7 @@ return [ } }, - 'WikibaseClient.LangLinkHandlerFactory' => function ( MediaWikiServices $services ): LangLinkHandlerFactory { + 'WikibaseClient.LangLinkHandlerFactory' => static function ( MediaWikiServices $services ): LangLinkHandlerFactory { return new LangLinkHandlerFactory( WikibaseClient::getLanguageLinkBadgeDisplay( $services ), WikibaseClient::getNamespaceChecker( $services ), @@ -566,17 +566,17 @@ return [ ); }, - 'WikibaseClient.LangLinkSiteGroup' => function ( MediaWikiServices $services ): string { + 'WikibaseClient.LangLinkSiteGroup' => static function ( MediaWikiServices $services ): string { return WikibaseClient::getSettings( $services )->getSetting( 'languageLinkSiteGroup' ) ?? WikibaseClient::getSiteGroup( $services ); }, - 'WikibaseClient.LangLinkSiteGroups' => function ( MediaWikiServices $services ): array { + 'WikibaseClient.LangLinkSiteGroups' => static function ( MediaWikiServices $services ): array { return WikibaseClient::getSettings( $services )->getSetting( 'languageLinkAllowedSiteGroups' ) ?? [ WikibaseClient::getLangLinkSiteGroup( $services ) ]; }, - 'WikibaseClient.LanguageFallbackChainFactory' => function ( MediaWikiServices $services ): LanguageFallbackChainFactory { + 'WikibaseClient.LanguageFallbackChainFactory' => static function ( MediaWikiServices $services ): LanguageFallbackChainFactory { return new LanguageFallbackChainFactory( WikibaseClient::getTermsLanguages( $services ), $services->getLanguageFactory(), @@ -585,21 +585,21 @@ return [ ); }, - 'WikibaseClient.LanguageLinkBadgeDisplay' => function ( MediaWikiServices $services ): LanguageLinkBadgeDisplay { + 'WikibaseClient.LanguageLinkBadgeDisplay' => static function ( MediaWikiServices $services ): LanguageLinkBadgeDisplay { return new LanguageLinkBadgeDisplay( WikibaseClient::getSidebarLinkBadgeDisplay( $services ) ); }, - 'WikibaseClient.Logger' => function ( MediaWikiServices $services ): LoggerInterface { + 'WikibaseClient.Logger' => static function ( MediaWikiServices $services ): LoggerInterface { return LoggerFactory::getInstance( 'Wikibase' ); }, - 'WikibaseClient.MessageInLanguageProvider' => function ( MediaWikiServices $services ): MessageInLanguageProvider { + 'WikibaseClient.MessageInLanguageProvider' => static function ( MediaWikiServices $services ): MessageInLanguageProvider { return new MediaWikiMessageInLanguageProvider(); }, - 'WikibaseClient.MobileSite' => function ( MediaWikiServices $services ): bool { + 'WikibaseClient.MobileSite' => static function ( MediaWikiServices $services ): bool { if ( $services->has( 'MobileFrontend.Context' ) ) { $mobileContext = $services->get( 'MobileFrontend.Context' ); return $mobileContext->shouldDisplayMobileView(); @@ -607,7 +607,7 @@ return [ return false; }, - 'WikibaseClient.NamespaceChecker' => function ( MediaWikiServices $services ): NamespaceChecker { + 'WikibaseClient.NamespaceChecker' => static function ( MediaWikiServices $services ): NamespaceChecker { $settings = WikibaseClient::getSettings( $services ); return new NamespaceChecker( $settings->getSetting( 'excludeNamespaces' ), @@ -616,7 +616,7 @@ return [ ); }, - 'WikibaseClient.OtherProjectsSidebarGeneratorFactory' => function ( + 'WikibaseClient.OtherProjectsSidebarGeneratorFactory' => static function ( MediaWikiServices $services ): OtherProjectsSidebarGeneratorFactory { return new OtherProjectsSidebarGeneratorFactory( @@ -630,7 +630,7 @@ return [ ); }, - 'WikibaseClient.OtherProjectsSitesProvider' => function ( MediaWikiServices $services ): OtherProjectsSitesProvider { + 'WikibaseClient.OtherProjectsSitesProvider' => static function ( MediaWikiServices $services ): OtherProjectsSitesProvider { $settings = WikibaseClient::getSettings( $services ); return new CachingOtherProjectsSitesProvider( @@ -646,7 +646,7 @@ return [ ); }, - 'WikibaseClient.ParserOutputDataUpdater' => function ( MediaWikiServices $services ): ClientParserOutputDataUpdater { + 'WikibaseClient.ParserOutputDataUpdater' => static function ( MediaWikiServices $services ): ClientParserOutputDataUpdater { $settings = WikibaseClient::getSettings( $services ); return new ClientParserOutputDataUpdater( @@ -659,7 +659,7 @@ return [ ); }, - 'WikibaseClient.PrefetchingTermLookup' => function ( MediaWikiServices $services ): PrefetchingTermLookup { + 'WikibaseClient.PrefetchingTermLookup' => static function ( MediaWikiServices $services ): PrefetchingTermLookup { return new SourceAndTypeDispatchingPrefetchingTermLookup( new ServiceBySourceAndTypeDispatcher( PrefetchingTermLookup::class, @@ -674,7 +674,7 @@ return [ ); }, - 'WikibaseClient.PropertyDataTypeLookup' => function ( MediaWikiServices $services ): PropertyDataTypeLookup { + 'WikibaseClient.PropertyDataTypeLookup' => static function ( MediaWikiServices $services ): PropertyDataTypeLookup { $infoLookup = WikibaseClient::getPropertyInfoLookup( $services ); return new PropertyInfoDataTypeLookup( $infoLookup, @@ -683,7 +683,7 @@ return [ ); }, - 'WikibaseClient.PropertyInfoLookup' => function ( MediaWikiServices $services ): PropertyInfoLookup { + 'WikibaseClient.PropertyInfoLookup' => static function ( MediaWikiServices $services ): PropertyInfoLookup { $settings = WikibaseClient::getSettings( $services ); $cacheKeyGroup = $settings->getSetting( 'sharedCacheKeyGroup' ); $cacheDuration = $settings->getSetting( 'sharedCacheDuration' ); @@ -707,7 +707,7 @@ return [ ); }, - 'WikibaseClient.PropertyLabelResolver' => function ( MediaWikiServices $services ): PropertyLabelResolver { + 'WikibaseClient.PropertyLabelResolver' => static function ( MediaWikiServices $services ): PropertyLabelResolver { // Required services $languageCode = $services->getContentLanguageCode()->toString(); @@ -743,7 +743,7 @@ return [ ); }, - 'WikibaseClient.PropertyOrderProvider' => function ( MediaWikiServices $services ): CachingPropertyOrderProvider { + 'WikibaseClient.PropertyOrderProvider' => static function ( MediaWikiServices $services ): CachingPropertyOrderProvider { $title = $services->getTitleFactory()->newFromTextThrow( 'MediaWiki:Wikibase-SortedProperties' ); $innerProvider = new WikiPagePropertyOrderProvider( $services->getWikiPageFactory(), $title ); @@ -766,7 +766,7 @@ return [ ); }, - 'WikibaseClient.PropertyParserFunctionRunner' => function ( MediaWikiServices $services ): Runner { + 'WikibaseClient.PropertyParserFunctionRunner' => static function ( MediaWikiServices $services ): Runner { $settings = WikibaseClient::getSettings( $services ); return new Runner( WikibaseClient::getStatementGroupRendererFactory( $services ), @@ -778,7 +778,7 @@ return [ ); }, - 'WikibaseClient.PropertySource' => function ( MediaWikiServices $services ): EntitySource { + 'WikibaseClient.PropertySource' => static function ( MediaWikiServices $services ): EntitySource { $propertySource = WikibaseClient::getEntitySourceDefinitions( $services ) ->getDatabaseSourceForEntityType( Property::ENTITY_TYPE ); @@ -789,7 +789,7 @@ return [ return $propertySource; }, - 'WikibaseClient.RecentChangeFactory' => function ( MediaWikiServices $services ): RecentChangeFactory { + 'WikibaseClient.RecentChangeFactory' => static function ( MediaWikiServices $services ): RecentChangeFactory { $contentLanguage = $services->getContentLanguage(); $siteLookup = $services->getSiteLookup(); @@ -807,7 +807,7 @@ return [ ); }, - 'WikibaseClient.RedirectResolvingLatestRevisionLookup' => function ( + 'WikibaseClient.RedirectResolvingLatestRevisionLookup' => static function ( MediaWikiServices $services ): RedirectResolvingLatestRevisionLookup { return new RedirectResolvingLatestRevisionLookup( @@ -815,7 +815,7 @@ return [ ); }, - 'WikibaseClient.ReferenceFormatterFactory' => function ( MediaWikiServices $services ): ReferenceFormatterFactory { + 'WikibaseClient.ReferenceFormatterFactory' => static function ( MediaWikiServices $services ): ReferenceFormatterFactory { $logger = WikibaseClient::getLogger( $services ); return new ReferenceFormatterFactory( WikibaseClient::getDataAccessSnakFormatterFactory( $services ), @@ -828,7 +828,7 @@ return [ ); }, - 'WikibaseClient.RepoDomainDbFactory' => function ( MediaWikiServices $services ): RepoDomainDbFactory { + 'WikibaseClient.RepoDomainDbFactory' => static function ( MediaWikiServices $services ): RepoDomainDbFactory { $lbFactory = $services->getDBLoadBalancerFactory(); return new RepoDomainDbFactory( @@ -838,7 +838,7 @@ return [ ); }, - 'WikibaseClient.RepoItemUriParser' => function ( MediaWikiServices $services ): EntityIdParser { + 'WikibaseClient.RepoItemUriParser' => static function ( MediaWikiServices $services ): EntityIdParser { $itemConceptUriBase = WikibaseClient::getItemSource( $services ) ->getConceptBaseUri(); @@ -848,7 +848,7 @@ return [ ); }, - 'WikibaseClient.RepoLinker' => function ( MediaWikiServices $services ): RepoLinker { + 'WikibaseClient.RepoLinker' => static function ( MediaWikiServices $services ): RepoLinker { $settings = WikibaseClient::getSettings( $services ); return new RepoLinker( @@ -859,7 +859,7 @@ return [ ); }, - 'WikibaseClient.RestrictedEntityLookupFactory' => function ( MediaWikiServices $services ): RestrictedEntityLookupFactory { + 'WikibaseClient.RestrictedEntityLookupFactory' => static function ( MediaWikiServices $services ): RestrictedEntityLookupFactory { $settings = WikibaseClient::getSettings( $services ); $disabledEntityTypesEntityLookup = new DisabledEntityTypesEntityLookup( WikibaseClient::getEntityLookup( $services ), @@ -871,11 +871,11 @@ return [ ); }, - 'WikibaseClient.Settings' => function ( MediaWikiServices $services ): SettingsArray { + 'WikibaseClient.Settings' => static function ( MediaWikiServices $services ): SettingsArray { return WikibaseSettings::getClientSettings(); }, - 'WikibaseClient.SidebarLinkBadgeDisplay' => function ( MediaWikiServices $services ): SidebarLinkBadgeDisplay { + 'WikibaseClient.SidebarLinkBadgeDisplay' => static function ( MediaWikiServices $services ): SidebarLinkBadgeDisplay { $badgeClassNames = WikibaseClient::getSettings( $services )->getSetting( 'badgeClassNames' ); $labelDescriptionLookupFactory = WikibaseClient::getFallbackLabelDescriptionLookupFactory( $services ); $lang = WikibaseClient::getUserLanguage( $services ); @@ -887,7 +887,7 @@ return [ ); }, - 'WikibaseClient.Site' => function ( MediaWikiServices $services ): Site { + 'WikibaseClient.Site' => static function ( MediaWikiServices $services ): Site { $settings = WikibaseClient::getSettings( $services ); $globalId = $settings->getSetting( 'siteGlobalID' ); $localId = $settings->getSetting( 'siteLocalID' ); @@ -924,7 +924,7 @@ return [ return $site; }, - 'WikibaseClient.SiteGroup' => function ( MediaWikiServices $services ): string { + 'WikibaseClient.SiteGroup' => static function ( MediaWikiServices $services ): string { $settings = WikibaseClient::getSettings( $services ); $siteGroup = $settings->getSetting( 'siteGroup' ); @@ -945,7 +945,7 @@ return [ return $siteGroup; }, - 'WikibaseClient.SnakFormatterFactory' => function ( MediaWikiServices $services ): OutputFormatSnakFormatterFactory { + 'WikibaseClient.SnakFormatterFactory' => static function ( MediaWikiServices $services ): OutputFormatSnakFormatterFactory { return new OutputFormatSnakFormatterFactory( WikibaseClient::getDataTypeDefinitions( $services ) ->getSnakFormatterFactoryCallbacks(), @@ -956,7 +956,7 @@ return [ ); }, - 'WikibaseClient.StatementGroupRendererFactory' => function ( MediaWikiServices $services ): StatementGroupRendererFactory { + 'WikibaseClient.StatementGroupRendererFactory' => static function ( MediaWikiServices $services ): StatementGroupRendererFactory { return new StatementGroupRendererFactory( WikibaseClient::getPropertyLabelResolver( $services ), new SnaksFinder(), @@ -970,7 +970,7 @@ return [ ); }, - 'WikibaseClient.Store' => function ( MediaWikiServices $services ): ClientStore { + 'WikibaseClient.Store' => static function ( MediaWikiServices $services ): ClientStore { return new DirectSqlStore( WikibaseClient::getEntityIdParser( $services ), WikibaseClient::getEntityIdLookup( $services ), @@ -983,22 +983,22 @@ return [ ); }, - 'WikibaseClient.StringNormalizer' => function ( MediaWikiServices $services ): StringNormalizer { + 'WikibaseClient.StringNormalizer' => static function ( MediaWikiServices $services ): StringNormalizer { return new StringNormalizer(); }, - 'WikibaseClient.TermBuffer' => function ( MediaWikiServices $services ): TermBuffer { + 'WikibaseClient.TermBuffer' => static function ( MediaWikiServices $services ): TermBuffer { return WikibaseClient::getPrefetchingTermLookup( $services ); }, - 'WikibaseClient.TermFallbackCache' => function ( MediaWikiServices $services ): TermFallbackCacheFacade { + 'WikibaseClient.TermFallbackCache' => static function ( MediaWikiServices $services ): TermFallbackCacheFacade { return new TermFallbackCacheFacade( WikibaseClient::getTermFallbackCacheFactory( $services )->getTermFallbackCache(), WikibaseClient::getSettings( $services )->getSetting( 'sharedCacheDuration' ) ); }, - 'WikibaseClient.TermFallbackCacheFactory' => function ( MediaWikiServices $services ): TermFallbackCacheFactory { + 'WikibaseClient.TermFallbackCacheFactory' => static function ( MediaWikiServices $services ): TermFallbackCacheFactory { $settings = WikibaseClient::getSettings( $services ); return new TermFallbackCacheFactory( $settings->getSetting( 'sharedCacheType' ), @@ -1011,7 +1011,7 @@ return [ ); }, - 'WikibaseClient.TermInLangIdsResolverFactory' => function ( + 'WikibaseClient.TermInLangIdsResolverFactory' => static function ( MediaWikiServices $services ): TermInLangIdsResolverFactory { return new TermInLangIdsResolverFactory( @@ -1021,20 +1021,20 @@ return [ ); }, - 'WikibaseClient.TermLookup' => function ( MediaWikiServices $services ): TermLookup { + 'WikibaseClient.TermLookup' => static function ( MediaWikiServices $services ): TermLookup { return WikibaseClient::getPrefetchingTermLookup( $services ); }, - 'WikibaseClient.TermsDomainDbFactory' => function ( MediaWikiServices $services ): TermsDomainDbFactory { + 'WikibaseClient.TermsDomainDbFactory' => static function ( MediaWikiServices $services ): TermsDomainDbFactory { return new TermsDomainDbFactory( WikibaseClient::getRepoDomainDbFactory( $services ) ); }, - 'WikibaseClient.TermsLanguages' => function ( MediaWikiServices $services ): ContentLanguages { + 'WikibaseClient.TermsLanguages' => static function ( MediaWikiServices $services ): ContentLanguages { return WikibaseClient::getWikibaseContentLanguages( $services ) ->getContentLanguages( WikibaseContentLanguages::CONTEXT_TERM ); }, - 'WikibaseClient.UsageAccumulatorFactory' => function ( MediaWikiServices $services ): UsageAccumulatorFactory { + 'WikibaseClient.UsageAccumulatorFactory' => static function ( MediaWikiServices $services ): UsageAccumulatorFactory { $usageModifierLimits = WikibaseClient::getSettings( $services )->getSetting( 'entityUsageModifierLimits' ); @@ -1047,7 +1047,7 @@ return [ ); }, - 'WikibaseClient.UserLanguage' => function ( MediaWikiServices $services ): Language { + 'WikibaseClient.UserLanguage' => static function ( MediaWikiServices $services ): Language { global $wgLang; // TODO: define a LanguageProvider service instead of using a global directly. @@ -1062,7 +1062,7 @@ return [ return $wgLang; }, - 'WikibaseClient.ValueFormatterFactory' => function ( MediaWikiServices $services ): OutputFormatValueFormatterFactory { + 'WikibaseClient.ValueFormatterFactory' => static function ( MediaWikiServices $services ): OutputFormatValueFormatterFactory { return new OutputFormatValueFormatterFactory( WikibaseClient::getDataTypeDefinitions( $services ) ->getFormatterFactoryCallbacks( DataTypeDefinitions::PREFIXED_MODE ), @@ -1071,14 +1071,14 @@ return [ ); }, - 'WikibaseClient.WikibaseContentLanguages' => function ( MediaWikiServices $services ): WikibaseContentLanguages { + 'WikibaseClient.WikibaseContentLanguages' => static function ( MediaWikiServices $services ): WikibaseContentLanguages { return WikibaseContentLanguages::getDefaultInstance( $services->getHookContainer(), $services->getLanguageNameUtils() ); }, - 'WikibaseClient.WikibaseServices' => function ( MediaWikiServices $services ): WikibaseServices { + 'WikibaseClient.WikibaseServices' => static function ( MediaWikiServices $services ): WikibaseServices { $entitySourceDefinitions = WikibaseClient::getEntitySourceDefinitions( $services ); $singleEntitySourceServicesFactory = new SingleEntitySourceServicesFactory( WikibaseClient::getEntityIdParser( $services ), diff --git a/client/WikibaseClient.datatypes.php b/client/WikibaseClient.datatypes.php index 443af80..4576a5b 100644 --- a/client/WikibaseClient.datatypes.php +++ b/client/WikibaseClient.datatypes.php @@ -32,7 +32,7 @@ use Wikibase\Client\WikibaseClient; use Wikibase\DataModel\Entity\EntityIdValue; use Wikibase\Lib\Formatters\UnmappedEntityIdValueFormatter; -return call_user_func( function() { +return call_user_func( static function() { // NOTE: 'formatter-factory-callback' callbacks act as glue between the high level interface // OutputFormatValueFormatterFactory and the low level factory for validators for well // known data types, the WikibaseValueFormatterBuilders class. @@ -44,88 +44,88 @@ return call_user_func( function() { return [ 'VT:bad' => [ - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseClient::getDefaultValueFormatterBuilders(); return $factory->newUnDeserializableValueFormatter( $format, $options ); }, ], 'VT:globecoordinate' => [ 'deserializer-builder' => GlobeCoordinateValue::class, - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseClient::getDefaultValueFormatterBuilders(); return $factory->newGlobeCoordinateFormatter( $format, $options ); }, ], 'VT:monolingualtext' => [ 'deserializer-builder' => MonolingualTextValue::class, - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseClient::getDefaultValueFormatterBuilders(); return $factory->newMonolingualFormatter( $format, $options ); }, ], 'VT:quantity' => [ 'deserializer-builder' => QuantityValue::class, - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseClient::getDefaultValueFormatterBuilders(); return $factory->newQuantityFormatter( $format, $options ); }, ], 'VT:string' => [ 'deserializer-builder' => StringValue::class, - 'formatter-factory-callback' => function( $format ) { + 'formatter-factory-callback' => static function( $format ) { $factory = WikibaseClient::getDefaultValueFormatterBuilders(); return $factory->newStringFormatter( $format ); }, ], 'PT:url' => [ - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseClient::getDefaultValueFormatterBuilders(); return $factory->newUrlFormatter( $format, $options ); }, ], 'PT:commonsMedia' => [ - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseClient::getDefaultValueFormatterBuilders(); return $factory->newCommonsMediaFormatter( $format, $options ); }, ], 'PT:geo-shape' => [ - 'formatter-factory-callback' => function( $format ) { + 'formatter-factory-callback' => static function( $format ) { $factory = WikibaseClient::getDefaultValueFormatterBuilders(); return $factory->newGeoShapeFormatter( $format ); }, ], 'PT:tabular-data' => [ - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseClient::getDefaultValueFormatterBuilders(); return $factory->newTabularDataFormatter( $format, $options ); }, ], 'VT:time' => [ 'deserializer-builder' => TimeValue::class, - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseClient::getDefaultValueFormatterBuilders(); return $factory->newTimeFormatter( $format, $options ); }, ], 'VT:wikibase-entityid' => [ - 'deserializer-builder' => function ( $value ) { + 'deserializer-builder' => static function ( $value ) { return isset( $value['id'] ) ? new EntityIdValue( WikibaseClient::getEntityIdParser()->parse( $value['id'] ) ) : EntityIdValue::newFromArray( $value ); }, - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseClient::getDefaultValueFormatterBuilders(); return $factory->newEntityIdFormatter( $format, $options ); }, ], 'VT:wikibase-unmapped-entityid' => [ - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { return new UnmappedEntityIdValueFormatter(); }, ], 'PT:external-id' => [ - 'snak-formatter-factory-callback' => function( $format ) { + 'snak-formatter-factory-callback' => static function( $format ) { $factory = WikibaseClient::getDefaultSnakFormatterBuilders(); return $factory->newExternalIdentifierFormatter( $format ); }, diff --git a/client/WikibaseClient.entitytypes.php b/client/WikibaseClient.entitytypes.php index 8fac1fb..7b24e8d 100644 --- a/client/WikibaseClient.entitytypes.php +++ b/client/WikibaseClient.entitytypes.php @@ -30,7 +30,7 @@ use Wikimedia\ObjectCache\EmptyBagOStuff; return [ 'item' => [ - Def::PREFETCHING_TERM_LOOKUP_CALLBACK => function ( DatabaseEntitySource $entitySource ) { + Def::PREFETCHING_TERM_LOOKUP_CALLBACK => static function ( DatabaseEntitySource $entitySource ) { $termIdsResolver = WikibaseClient::getTermInLangIdsResolverFactory() ->getResolverForEntitySource( $entitySource ); @@ -38,7 +38,7 @@ return [ }, ], 'property' => [ - Def::PREFETCHING_TERM_LOOKUP_CALLBACK => function ( DatabaseEntitySource $entitySource ) { + Def::PREFETCHING_TERM_LOOKUP_CALLBACK => static function ( DatabaseEntitySource $entitySource ) { $mwServices = MediaWikiServices::getInstance(); $cacheSecret = hash( 'sha256', $mwServices->getMainConfig()->get( 'SecretKey' ) ); diff --git a/client/config/WikibaseClient.default.php b/client/config/WikibaseClient.default.php index 8eef5a6..f1b54eb 100644 --- a/client/config/WikibaseClient.default.php +++ b/client/config/WikibaseClient.default.php @@ -23,7 +23,7 @@ require_once __DIR__ . '/../includes/Usage/EntityUsage.php'; * @author Daniel Kinzler */ -return call_user_func( function() { +return call_user_func( static function() { global $wgLanguageCode; $defaults = [ @@ -105,7 +105,7 @@ return call_user_func( function() { 'sharedCacheType' => $GLOBALS['wgMainCacheType'], // Batch size for UpdateHtmlCacheJob - 'purgeCacheBatchSize' => function ( SettingsArray $settings ) { + 'purgeCacheBatchSize' => static function ( SettingsArray $settings ) { $mainConfig = MediaWikiServices::getInstance()->getMainConfig(); return $settings->hasSetting( 'wikiPageUpdaterDbBatchSize' ) ? $settings->getSetting( 'wikiPageUpdaterDbBatchSize' ) @@ -113,7 +113,7 @@ return call_user_func( function() { }, // Batch size for InjectRCRecordsJob - 'recentChangesBatchSize' => function ( SettingsArray $settings ) { + 'recentChangesBatchSize' => static function ( SettingsArray $settings ) { $mainConfig = MediaWikiServices::getInstance()->getMainConfig(); return $settings->hasSetting( 'wikiPageUpdaterDbBatchSize' ) ? $settings->getSetting( 'wikiPageUpdaterDbBatchSize' ) @@ -173,12 +173,12 @@ return call_user_func( function() { // We use the pseudo-setting thisWikiIsTheRepo to store this information. // thisWikiIsTheRepo should really never be overwritten, except for testing. - $defaults['thisWikiIsTheRepo'] = function ( SettingsArray $settings ) { + $defaults['thisWikiIsTheRepo'] = static function ( SettingsArray $settings ) { // determine whether the repo extension is present return WikibaseSettings::isRepoEnabled(); }; - $defaults['entitySources'] = function ( SettingsArray $settings ) { + $defaults['entitySources'] = static function ( SettingsArray $settings ) { if ( $settings->getSetting( 'thisWikiIsTheRepo' ) ) { // copy the repo’s effective entitySources setting $entitySourceDefinitions = WikibaseRepo::getEntitySourceDefinitions(); @@ -212,7 +212,7 @@ return call_user_func( function() { throw new Exception( 'entitySources must be configured for non-repo client wikis' ); }; - $defaults['itemAndPropertySourceName'] = function ( SettingsArray $settings ) { + $defaults['itemAndPropertySourceName'] = static function ( SettingsArray $settings ) { if ( $settings->getSetting( 'thisWikiIsTheRepo' ) ) { return WikibaseRepo::getSettings()->getSetting( 'localEntitySourceName' ); } @@ -220,35 +220,35 @@ return call_user_func( function() { return 'local'; }; - $defaults['repoSiteName'] = function ( SettingsArray $settings ) { + $defaults['repoSiteName'] = static function ( SettingsArray $settings ) { // This uses $wgSitename if this wiki is the repo. Otherwise, set this to // either an i18n message key and the message will be used, if it exists. // If repo site name does not need translation, then set this as a string. return $settings->getSetting( 'thisWikiIsTheRepo' ) ? $GLOBALS['wgSitename'] : 'Wikibase'; }; - $defaults['repoUrl'] = function ( SettingsArray $settings ) { + $defaults['repoUrl'] = static function ( SettingsArray $settings ) { // use $wgServer if this wiki is the repo, otherwise default to wikidata.org return $settings->getSetting( 'thisWikiIsTheRepo' ) ? $GLOBALS['wgServer'] : '//www.wikidata.org'; }; - $defaults['repoArticlePath'] = function ( SettingsArray $settings ) { + $defaults['repoArticlePath'] = static function ( SettingsArray $settings ) { // use $wgArticlePath if this wiki is the repo, otherwise default to /wiki/$1 return $settings->getSetting( 'thisWikiIsTheRepo' ) ? $GLOBALS['wgArticlePath'] : '/wiki/$1'; }; - $defaults['repoScriptPath'] = function ( SettingsArray $settings ) { + $defaults['repoScriptPath'] = static function ( SettingsArray $settings ) { // use $wgScriptPath if this wiki is the repo, otherwise default to /w return $settings->getSetting( 'thisWikiIsTheRepo' ) ? $GLOBALS['wgScriptPath'] : '/w'; }; - $defaults['siteGlobalID'] = function ( SettingsArray $settings ) { + $defaults['siteGlobalID'] = static function ( SettingsArray $settings ) { // The database name is a sane default for the site ID. // On Wikimedia sites, this is always correct. return $GLOBALS['wgDBname']; }; - $defaults['repoSiteId'] = function( SettingsArray $settings ) { + $defaults['repoSiteId'] = static function( SettingsArray $settings ) { $entitySources = $settings->getSetting( 'entitySources' ); $itemAndPropertySourceName = $settings->getSetting( 'itemAndPropertySourceName' ); $repoDatabase = $entitySources[$itemAndPropertySourceName]['repoDatabase']; @@ -258,12 +258,12 @@ return call_user_func( function() { : $repoDatabase; }; - $defaults['siteGroup'] = function ( SettingsArray $settings ) { + $defaults['siteGroup'] = static function ( SettingsArray $settings ) { // by default lookup from SiteLookup, can override with setting for performance reasons return null; }; - $defaults['otherProjectsLinks'] = function ( SettingsArray $settings ) { + $defaults['otherProjectsLinks'] = static function ( SettingsArray $settings ) { $otherProjectsSitesProvider = WikibaseClient::getOtherProjectsSitesProvider(); return $otherProjectsSitesProvider->getOtherProjectsSiteIds( $settings->getSetting( 'siteLinkGroups' ) ); }; diff --git a/client/includes/Api/PageTerms.php b/client/includes/Api/PageTerms.php index 648c465..fba86ed 100644 --- a/client/includes/Api/PageTerms.php +++ b/client/includes/Api/PageTerms.php @@ -171,7 +171,7 @@ class PageTerms extends ApiQueryBase { */ private function getEntityToPageMap( array $entityIds ): array { $entityIdsStrings = array_map( - function( EntityId $id ) { + static function( EntityId $id ) { return $id->getSerialization(); }, $entityIds diff --git a/client/includes/ClientHooks.php b/client/includes/ClientHooks.php index 9232f53..96bde04 100644 --- a/client/includes/ClientHooks.php +++ b/client/includes/ClientHooks.php @@ -240,7 +240,7 @@ final class ClientHooks { return $cache->getWithSetCallback( $key, $cache::TTL_DAY, // when changing the TTL, also update linkItemTags in options.md - function () { + static function () { $site = WikibaseClient::getSite(); $currentSite = [ 'globalSiteId' => $site->getGlobalId(), diff --git a/client/includes/DataAccess/DataAccessSnakFormatterFactory.php b/client/includes/DataAccess/DataAccessSnakFormatterFactory.php index 042e87b..933b31b 100644 --- a/client/includes/DataAccess/DataAccessSnakFormatterFactory.php +++ b/client/includes/DataAccess/DataAccessSnakFormatterFactory.php @@ -149,7 +149,7 @@ class DataAccessSnakFormatterFactory { return new EscapingSnakFormatter( SnakFormatter::FORMAT_WIKI, $snakFormatter, - function( $str ) { + static function( $str ) { return $str === '' ? '' : "<span>$str</span>"; } ); diff --git a/client/includes/DataBridge/DataBridgeResourceLoaderModules.php b/client/includes/DataBridge/DataBridgeResourceLoaderModules.php index e7919ad..1dca291 100644 --- a/client/includes/DataBridge/DataBridgeResourceLoaderModules.php +++ b/client/includes/DataBridge/DataBridgeResourceLoaderModules.php @@ -77,7 +77,7 @@ class DataBridgeResourceLoaderModules implements ResourceLoaderRegisterModulesHo $clientSettings = WikibaseClient::getSettings(); return new MediaWikiConfigModule( [ - 'getconfigvalueprovider' => function () use ( $clientSettings ) { + 'getconfigvalueprovider' => static function () use ( $clientSettings ) { return new DataBridgeConfigValueProvider( $clientSettings, MediaWikiServices::getInstance()->getMainConfig()->get( 'EditSubmitButtonLabelPublish' ) diff --git a/client/includes/Hooks/DescriptionProviderHookHandler.php b/client/includes/Hooks/DescriptionProviderHookHandler.php index 5e8a54a..b366842 100644 --- a/client/includes/Hooks/DescriptionProviderHookHandler.php +++ b/client/includes/Hooks/DescriptionProviderHookHandler.php @@ -45,7 +45,7 @@ class DescriptionProviderHookHandler implements SearchResultProvideDescriptionHo $sources = [ DescriptionLookup::SOURCE_CENTRAL, DescriptionLookup::SOURCE_LOCAL ]; } - $pageIdTitles = array_map( function ( PageIdentity $identity ) { + $pageIdTitles = array_map( static function ( PageIdentity $identity ) { return Title::makeTitle( $identity->getNamespace(), $identity->getDBkey() ); }, $pageIdentities ); diff --git a/client/includes/Hooks/ExtensionLoadHandler.php b/client/includes/Hooks/ExtensionLoadHandler.php index f83b7cb..b9929fb 100644 --- a/client/includes/Hooks/ExtensionLoadHandler.php +++ b/client/includes/Hooks/ExtensionLoadHandler.php @@ -80,7 +80,7 @@ class ExtensionLoadHandler { 'WikibaseClient.BaseDataModelDeserializerFactory', 'WikibaseClient.ReferenceFormatterFactory', ], - 'factory' => function ( + 'factory' => static function ( ApiMain $apiMain, string $moduleName, ParserFactory $parserFactory, diff --git a/client/includes/Hooks/LoadExtensionSchemaUpdatesHookHandler.php b/client/includes/Hooks/LoadExtensionSchemaUpdatesHookHandler.php index 74ae5a2..0239f03 100644 --- a/client/includes/Hooks/LoadExtensionSchemaUpdatesHookHandler.php +++ b/client/includes/Hooks/LoadExtensionSchemaUpdatesHookHandler.php @@ -47,7 +47,7 @@ class LoadExtensionSchemaUpdatesHookHandler implements LoadExtensionSchemaUpdate $primer->setProgressReporter( new CallbackMessageReporter( - function( $msg ) use ( $dbUpdater ) { + static function( $msg ) use ( $dbUpdater ) { $dbUpdater->output( "\t$msg\n" ); } ) diff --git a/client/includes/Hooks/ParserFunctionRegistrant.php b/client/includes/Hooks/ParserFunctionRegistrant.php index 67d0597..bea8f13 100644 --- a/client/includes/Hooks/ParserFunctionRegistrant.php +++ b/client/includes/Hooks/ParserFunctionRegistrant.php @@ -80,7 +80,7 @@ class ParserFunctionRegistrant implements ParserFirstCallInitHook, GetDoubleUnde $parser->setFunctionHook( 'property', - function( Parser $parser, PPFrame $frame, array $args ) { + static function( Parser $parser, PPFrame $frame, array $args ) { return Runner::renderEscapedPlainText( $parser, $frame, $args ); }, Parser::SFH_OBJECT_ARGS @@ -88,7 +88,7 @@ class ParserFunctionRegistrant implements ParserFirstCallInitHook, GetDoubleUnde $parser->setFunctionHook( 'statements', - function( Parser $parser, PPFrame $frame, array $args ) { + static function( Parser $parser, PPFrame $frame, array $args ) { return Runner::renderRichWikitext( $parser, $frame, $args ); }, Parser::SFH_OBJECT_ARGS diff --git a/client/includes/Serializer/ClientSerializer.php b/client/includes/Serializer/ClientSerializer.php index 437e2ff..bda885e 100644 --- a/client/includes/Serializer/ClientSerializer.php +++ b/client/includes/Serializer/ClientSerializer.php @@ -50,7 +50,7 @@ abstract class ClientSerializer implements Serializer { protected function omitEmptyArrays( array $serialization ) { return array_filter( $serialization, - function( $value ) { + static function( $value ) { return $value !== []; } ); diff --git a/client/includes/Specials/SpecialPagesWithBadges.php b/client/includes/Specials/SpecialPagesWithBadges.php index 3c5ab96..3a9434b 100644 --- a/client/includes/Specials/SpecialPagesWithBadges.php +++ b/client/includes/Specials/SpecialPagesWithBadges.php @@ -144,7 +144,7 @@ class SpecialPagesWithBadges extends QueryPage { private function getOptionsArray() { /** @var ItemId[] $badgeItemIds */ $badgeItemIds = array_map( - function( $badgeId ) { + static function( $badgeId ) { return new ItemId( $badgeId ); }, $this->badgeIds diff --git a/client/includes/Store/AddUsagesForPageJob.php b/client/includes/Store/AddUsagesForPageJob.php index 8cc6a9c..398d128 100644 --- a/client/includes/Store/AddUsagesForPageJob.php +++ b/client/includes/Store/AddUsagesForPageJob.php @@ -38,7 +38,7 @@ class AddUsagesForPageJob extends Job { */ public static function newSpec( Title $title, array $usages ) { // NOTE: Map EntityUsage objects to scalar arrays, for JSON serialization in the job queue. - $usages = array_map( function ( EntityUsage $usage ) { + $usages = array_map( static function ( EntityUsage $usage ) { return $usage->asArray(); }, $usages ); @@ -98,7 +98,7 @@ class AddUsagesForPageJob extends Job { private function getUsages() { // Turn serialized usage info into EntityUsage objects $idParser = $this->idParser; - $usages = array_map( function ( array $usageArray ) use ( $idParser ) { + $usages = array_map( static function ( array $usageArray ) use ( $idParser ) { // This is the inverse of EntityUsage::asArray() return new EntityUsage( $idParser->parse( $usageArray['entityId'] ), diff --git a/client/includes/Store/DescriptionLookup.php b/client/includes/Store/DescriptionLookup.php index aa468e8..6d77a1e 100644 --- a/client/includes/Store/DescriptionLookup.php +++ b/client/includes/Store/DescriptionLookup.php @@ -70,7 +70,7 @@ class DescriptionLookup { * will be omitted. */ public function getDescriptions( array $titles, $sources, &$actualSources = null ) { - $pageIds = array_map( function ( Title $title ) { + $pageIds = array_map( static function ( Title $title ) { return $title->getArticleID(); }, $titles ); $titlesByPageId = array_combine( $pageIds, $titles ); @@ -143,7 +143,7 @@ class DescriptionLookup { return []; } - $languages = array_unique( array_map( function ( Title $title ) { + $languages = array_unique( array_map( static function ( Title $title ) { return $title->getPageLanguage()->getCode(); }, $titlesByPageId ) ); @@ -154,7 +154,7 @@ class DescriptionLookup { $languages ); - $pageIdsByEntityId = array_flip( array_map( function ( EntityId $entityId ) { + $pageIdsByEntityId = array_flip( array_map( static function ( EntityId $entityId ) { return $entityId->getSerialization(); }, $entityIdsByPageId ) ); $descriptionsByPageId = []; diff --git a/client/includes/Store/Sql/PagePropsEntityIdLookup.php b/client/includes/Store/Sql/PagePropsEntityIdLookup.php index b8d1f06..9b55212 100644 --- a/client/includes/Store/Sql/PagePropsEntityIdLookup.php +++ b/client/includes/Store/Sql/PagePropsEntityIdLookup.php @@ -44,7 +44,7 @@ class PagePropsEntityIdLookup implements EntityIdLookup { * @return EntityId[] */ public function getEntityIds( array $titles ): array { - $pages = array_filter( $titles, function( Title $title ): bool { + $pages = array_filter( $titles, static function( Title $title ): bool { return $title->canExist(); } ); return array_map( [ $this->idParser, 'parse' ], diff --git a/client/includes/Usage/Sql/EntityUsageTable.php b/client/includes/Usage/Sql/EntityUsageTable.php index 3e44324..5fc15fd 100644 --- a/client/includes/Usage/Sql/EntityUsageTable.php +++ b/client/includes/Usage/Sql/EntityUsageTable.php @@ -217,7 +217,7 @@ class EntityUsageTable { * @return string[] */ private function getEntityIdStrings( array $entityIds ): array { - return array_map( function( EntityId $id ) { + return array_map( static function( EntityId $id ) { return $id->getSerialization(); }, $entityIds ); } diff --git a/client/includes/Usage/Sql/SqlSubscriptionManager.php b/client/includes/Usage/Sql/SqlSubscriptionManager.php index 1369ba9..0ea33ed 100644 --- a/client/includes/Usage/Sql/SqlSubscriptionManager.php +++ b/client/includes/Usage/Sql/SqlSubscriptionManager.php @@ -37,7 +37,7 @@ class SqlSubscriptionManager implements SubscriptionManager { * @return string[] */ private function idsToString( array $entityIds ): array { - return array_map( function( EntityId $id ) { + return array_map( static function( EntityId $id ) { return $id->getSerialization(); }, $entityIds ); } diff --git a/client/includes/Usage/Sql/SqlUsageTrackerSchemaUpdater.php b/client/includes/Usage/Sql/SqlUsageTrackerSchemaUpdater.php index 6601559..eacc291 100644 --- a/client/includes/Usage/Sql/SqlUsageTrackerSchemaUpdater.php +++ b/client/includes/Usage/Sql/SqlUsageTrackerSchemaUpdater.php @@ -56,7 +56,7 @@ class SqlUsageTrackerSchemaUpdater implements LoadExtensionSchemaUpdatesHook { $primer->setProgressReporter( new CallbackMessageReporter( - function( $msg ) use ( $dbUpdater ) { + static function( $msg ) use ( $dbUpdater ) { $dbUpdater->output( "\t$msg\n" ); } ) diff --git a/client/includes/Usage/UsageDeduplicator.php b/client/includes/Usage/UsageDeduplicator.php index 6c53753..899b1d0 100644 --- a/client/includes/Usage/UsageDeduplicator.php +++ b/client/includes/Usage/UsageDeduplicator.php @@ -114,7 +114,7 @@ class UsageDeduplicator { array_walk_recursive( $structuredUsages, - function ( EntityUsage $usage ) use ( &$usages ) { + static function ( EntityUsage $usage ) use ( &$usages ) { $usages[$usage->getIdentityString()] = $usage; } ); diff --git a/client/tests/phpunit/integration/includes/ChangeModification/RecentChangesModificationTestBase.php b/client/tests/phpunit/integration/includes/ChangeModification/RecentChangesModificationTestBase.php index 8caf9d6..9d2bc3a 100644 --- a/client/tests/phpunit/integration/includes/ChangeModification/RecentChangesModificationTestBase.php +++ b/client/tests/phpunit/integration/includes/ChangeModification/RecentChangesModificationTestBase.php @@ -27,7 +27,7 @@ abstract class RecentChangesModificationTestBase extends MediaWikiIntegrationTes protected function revisionIdentifiersToJson( array $revisionIdentifiers ): string { return json_encode( array_map( - function ( RepoRevisionIdentifier $revisionIdentifier ) { + static function ( RepoRevisionIdentifier $revisionIdentifier ) { return $revisionIdentifier->toArray(); }, $revisionIdentifiers diff --git a/client/tests/phpunit/integration/includes/Changes/AffectedPagesFinderTest.php b/client/tests/phpunit/integration/includes/Changes/AffectedPagesFinderTest.php index 12bc0c0..baeaf39 100644 --- a/client/tests/phpunit/integration/includes/Changes/AffectedPagesFinderTest.php +++ b/client/tests/phpunit/integration/includes/Changes/AffectedPagesFinderTest.php @@ -50,7 +50,7 @@ class AffectedPagesFinderTest extends MediaWikiIntegrationTestCase { $titleFactory = $this->createPartialMock( TitleFactory::class, [ 'newFromText' ] ); $titleFactory->method( 'newFromText' ) - ->willReturnCallback( function( $text, $defaultNs = \NS_MAIN ) { + ->willReturnCallback( static function( $text, $defaultNs = \NS_MAIN ) { $title = Title::newFromText( $text, $defaultNs ); if ( !$title ) { diff --git a/client/tests/phpunit/integration/includes/Changes/ChangeHandlerTest.php b/client/tests/phpunit/integration/includes/Changes/ChangeHandlerTest.php index 11cc26a..1f3af8b 100644 --- a/client/tests/phpunit/integration/includes/Changes/ChangeHandlerTest.php +++ b/client/tests/phpunit/integration/includes/Changes/ChangeHandlerTest.php @@ -167,11 +167,11 @@ class ChangeHandlerTest extends MediaWikiIntegrationTestCase { ]; $testHooks = [ - 'WikibaseHandleChange' => function( Change $change ) use ( $spy ) { + 'WikibaseHandleChange' => static function( Change $change ) use ( $spy ) { $spy->handleChangeCallCount++; return true; }, - 'WikibaseHandleChanges' => function( array $changes ) use ( $spy ) { + 'WikibaseHandleChanges' => static function( array $changes ) use ( $spy ) { $spy->handleChangesCallCount++; return true; }, @@ -233,7 +233,7 @@ class ChangeHandlerTest extends MediaWikiIntegrationTestCase { $titleFactory = $this->createPartialMock( TitleFactory::class, [ 'newFromText' ] ); $titleFactory->method( 'newFromText' ) - ->willReturnCallback( function( $text, $defaultNs = \NS_MAIN ) use ( $pageIdsByTitle ) { + ->willReturnCallback( static function( $text, $defaultNs = \NS_MAIN ) use ( $pageIdsByTitle ) { $title = Title::newFromText( $text, $defaultNs ); if ( !$title ) { @@ -321,7 +321,7 @@ class ChangeHandlerTest extends MediaWikiIntegrationTestCase { $usageLookup = $this->createMock( UsageLookup::class ); $usageLookup->method( 'getPagesUsing' ) ->willReturnCallback( - function( $ids, $aspects ) use ( $siteLinkLookup ) { + static function( $ids, $aspects ) use ( $siteLinkLookup ) { $pages = []; foreach ( $ids as $id ) { diff --git a/client/tests/phpunit/integration/includes/Changes/ChangeRunCoalescerTest.php b/client/tests/phpunit/integration/includes/Changes/ChangeRunCoalescerTest.php index 0463a95..9875f2e 100644 --- a/client/tests/phpunit/integration/includes/Changes/ChangeRunCoalescerTest.php +++ b/client/tests/phpunit/integration/includes/Changes/ChangeRunCoalescerTest.php @@ -400,7 +400,7 @@ class ChangeRunCoalescerTest extends MediaWikiIntegrationTestCase { private function getChangeIds( array $changes ) { return array_map( - function( Change $change ) { + static function( Change $change ) { return $change->getId(); }, $changes diff --git a/client/tests/phpunit/integration/includes/Changes/WikiPageUpdaterTest.php b/client/tests/phpunit/integration/includes/Changes/WikiPageUpdaterTest.php index 7937e5d..70ad34e 100644 --- a/client/tests/phpunit/integration/includes/Changes/WikiPageUpdaterTest.php +++ b/client/tests/phpunit/integration/includes/Changes/WikiPageUpdaterTest.php @@ -206,7 +206,7 @@ class WikiPageUpdaterTest extends MediaWikiIntegrationTestCase { $jobQueueGroup->expects( $this->atLeastOnce() ) ->method( 'lazyPush' ) ->with( $this->isInstanceOf( RefreshLinksJob::class ) ) - ->willReturnCallback( function( Job $job ) use ( &$pages, &$rootJobParams ) { + ->willReturnCallback( static function( Job $job ) use ( &$pages, &$rootJobParams ) { $pages[] = $job->getTitle()->getPrefixedDBkey(); $rootJobParams = $job->getRootJobParams(); } ); diff --git a/client/tests/phpunit/integration/includes/DataAccess/Scribunto/WikibaseLibraryInProcessEntityCacheTest.php b/client/tests/phpunit/integration/includes/DataAccess/Scribunto/WikibaseLibraryInProcessEntityCacheTest.php index 7525e49..39d2da3 100644 --- a/client/tests/phpunit/integration/includes/DataAccess/Scribunto/WikibaseLibraryInProcessEntityCacheTest.php +++ b/client/tests/phpunit/integration/includes/DataAccess/Scribunto/WikibaseLibraryInProcessEntityCacheTest.php @@ -38,7 +38,7 @@ class WikibaseLibraryInProcessEntityCacheTest extends WikibaseLibraryTestCase { $entityLookup->expects( $this->exactly( 20 ) ) ->method( 'getEntity' ) ->willReturnCallback( - function( ItemId $id ) { + static function( ItemId $id ) { return new Item( $id ); } ); diff --git a/client/tests/phpunit/integration/includes/DataAccess/Scribunto/WikibaseLibraryTestCase.php b/client/tests/phpunit/integration/includes/DataAccess/Scribunto/WikibaseLibraryTestCase.php index 990928c..f0164af 100644 --- a/client/tests/phpunit/integration/includes/DataAccess/Scribunto/WikibaseLibraryTestCase.php +++ b/client/tests/phpunit/integration/includes/DataAccess/Scribunto/WikibaseLibraryTestCase.php @@ -148,7 +148,7 @@ abstract class WikibaseLibraryTestCase extends LuaEngineTestBase { private function overridePropertyLabelResolver(): void { $propertyLabelResolver = $this->createMock( PropertyLabelResolver::class ); $propertyLabelResolver->method( 'getPropertyIdsForLabels' ) - ->willReturnCallback( function ( array $labels ): array { + ->willReturnCallback( static function ( array $labels ): array { if ( in_array( 'LuaTestStringProperty', $labels ) ) { return [ 'LuaTestStringProperty' => new NumericPropertyId( 'P342' ), @@ -168,7 +168,7 @@ abstract class WikibaseLibraryTestCase extends LuaEngineTestBase { if ( !in_array( 'maplink', $engine->getParser()->getTags() ) ) { $engine->getParser()->setHook( 'maplink', - function() { + static function() { return 'THIS-IS-A-MAP'; } ); diff --git a/client/tests/phpunit/integration/includes/DataAccess/Scribunto/WikitextPreprocessingSnakFormatterTest.php b/client/tests/phpunit/integration/includes/DataAccess/Scribunto/WikitextPreprocessingSnakFormatterTest.php index 6544c80..5114749 100644 --- a/client/tests/phpunit/integration/includes/DataAccess/Scribunto/WikitextPreprocessingSnakFormatterTest.php +++ b/client/tests/phpunit/integration/includes/DataAccess/Scribunto/WikitextPreprocessingSnakFormatterTest.php @@ -57,7 +57,7 @@ class WikitextPreprocessingSnakFormatterTest extends MediaWikiIntegrationTestCas $parser = $this->getServiceContainer()->getParserFactory()->create(); $parser->setHook( 'stripme', - function() { + static function() { return '!STRIPME_WIKITEXT!'; } ); diff --git a/client/tests/phpunit/integration/includes/DescriptionTest.php b/client/tests/phpunit/integration/includes/DescriptionTest.php index 1fafeb4..2d4d709 100644 --- a/client/tests/phpunit/integration/includes/DescriptionTest.php +++ b/client/tests/phpunit/integration/includes/DescriptionTest.php @@ -264,7 +264,7 @@ class DescriptionTest extends MediaWikiIntegrationTestCase { use ( $expectedPageIds, $expectedSources, $descriptionsToReturn, $sourcesToReturn ) { /** @var Title[] $titles */ /** @var string|string[] $sourcesToReturn */ - $pageIds = array_values( array_map( function ( Title $title ) { + $pageIds = array_values( array_map( static function ( Title $title ) { return $title->getArticleID(); }, $titles ) ); // Should be a sort-insensitive check but everything is sorted anyway. diff --git a/client/tests/phpunit/integration/includes/Hooks/ChangesListLinesHandlerTest.php b/client/tests/phpunit/integration/includes/Hooks/ChangesListLinesHandlerTest.php index aa76683..f0d9bb2 100644 --- a/client/tests/phpunit/integration/includes/Hooks/ChangesListLinesHandlerTest.php +++ b/client/tests/phpunit/integration/includes/Hooks/ChangesListLinesHandlerTest.php @@ -189,7 +189,7 @@ class ChangesListLinesHandlerTest extends MediaWikiIntegrationTestCase { $changesList = $this->createMock( OldChangesList::class ); $changesList->expects( $this->once() ) ->method( 'recentChangesFlags' ) - ->willReturnCallback( function ( $flags, $sep ) { + ->willReturnCallback( static function ( $flags, $sep ) { return implode( ',', array_keys( $flags, true ) ); } ); $changesList->method( 'getUser' ) diff --git a/client/tests/phpunit/integration/includes/Hooks/LangLinkHandlerTest.php b/client/tests/phpunit/integration/includes/Hooks/LangLinkHandlerTest.php index b76951c..5efc0b3 100644 --- a/client/tests/phpunit/integration/includes/Hooks/LangLinkHandlerTest.php +++ b/client/tests/phpunit/integration/includes/Hooks/LangLinkHandlerTest.php @@ -135,7 +135,7 @@ class LangLinkHandlerTest extends MediaWikiIntegrationTestCase { // strip "wiki" suffix $key = preg_replace( '/wiki$/', '', $link->getSiteId() ); - $badgesByPrefix[$key] = array_map( function( ItemId $id ) { + $badgesByPrefix[$key] = array_map( static function( ItemId $id ) { return $id->getSerialization(); }, $badges ); } diff --git a/client/tests/phpunit/integration/includes/Hooks/SidebarHookHandlerTest.php b/client/tests/phpunit/integration/includes/Hooks/SidebarHookHandlerTest.php index f8b1977..da6474a 100644 --- a/client/tests/phpunit/integration/includes/Hooks/SidebarHookHandlerTest.php +++ b/client/tests/phpunit/integration/includes/Hooks/SidebarHookHandlerTest.php @@ -96,7 +96,7 @@ class SidebarHookHandlerTest extends MediaWikiIntegrationTestCase { $handler->onSidebarBeforeOutput( $skin, $sidebar ); - $sidebarFilteredForWikibaseLink = array_filter( $sidebar['wikibase-otherprojects'], function( $link ){ + $sidebarFilteredForWikibaseLink = array_filter( $sidebar['wikibase-otherprojects'], static function( $link ){ return $link['id'] === 't-wikibase'; } ); $this->assertCount( 1, $sidebarFilteredForWikibaseLink ); diff --git a/client/tests/phpunit/integration/includes/NamespaceCheckerTest.php b/client/tests/phpunit/integration/includes/NamespaceCheckerTest.php index 4a22b5a..1f1051d 100644 --- a/client/tests/phpunit/integration/includes/NamespaceCheckerTest.php +++ b/client/tests/phpunit/integration/includes/NamespaceCheckerTest.php @@ -90,11 +90,11 @@ class NamespaceCheckerTest extends MediaWikiIntegrationTestCase { // actual test (maybe spillover from a different test?). Work around the issue with // callbacks until the actual problem is resolved. return [ - [ [], [], function () { + [ [], [], static function () { return MediaWikiServices::getInstance()->getNamespaceInfo()->getValidNamespaces(); } ], // #0 [ [], [ NS_MAIN ], [ NS_MAIN ] ], // #1 - [ [ NS_USER_TALK ], [], function () { + [ [ NS_USER_TALK ], [], static function () { return array_diff( MediaWikiServices::getInstance()->getNamespaceInfo()->getValidNamespaces(), [ NS_USER_TALK ] diff --git a/client/tests/phpunit/integration/includes/Specials/SpecialPagesWithBadgesTest.php b/client/tests/phpunit/integration/includes/Specials/SpecialPagesWithBadgesTest.php index d125287..b7ebe05 100644 --- a/client/tests/phpunit/integration/includes/Specials/SpecialPagesWithBadgesTest.php +++ b/client/tests/phpunit/integration/includes/Specials/SpecialPagesWithBadgesTest.php @@ -31,7 +31,7 @@ class SpecialPagesWithBadgesTest extends SpecialPageTestBase { private function getLabelDescriptionLookupFactory(): FallbackLabelDescriptionLookupFactory { $labelLookup = $this->createMock( FallbackLabelDescriptionLookup::class ); $labelLookup->method( 'getLabel' ) - ->willReturnCallback( function( ItemId $id ): ?TermFallback { + ->willReturnCallback( static function( ItemId $id ): ?TermFallback { return new TermFallback( 'en', 'Label of ' . $id->getSerialization(), diff --git a/client/tests/phpunit/integration/includes/Store/Sql/UnexpectedUnconnectedPagePrimerTest.php b/client/tests/phpunit/integration/includes/Store/Sql/UnexpectedUnconnectedPagePrimerTest.php index d5714fb..b192623 100644 --- a/client/tests/phpunit/integration/includes/Store/Sql/UnexpectedUnconnectedPagePrimerTest.php +++ b/client/tests/phpunit/integration/includes/Store/Sql/UnexpectedUnconnectedPagePrimerTest.php @@ -45,7 +45,7 @@ class UnexpectedUnconnectedPagePrimerTest extends MediaWikiIntegrationTestCase { } public static function insertPagePropProvider(): array { - $convertToLegacy = function( $row ) { + $convertToLegacy = static function( $row ) { if ( $row[1] === 'unexpectedUnconnectedPage' ) { // The value doesn't matter and to make sure we actually need a change, // don't use -$this->getDefaultWikitextNS() (as that could be 0). diff --git a/client/tests/phpunit/integration/includes/Usage/Sql/EntityUsageTableTest.php b/client/tests/phpunit/integration/includes/Usage/Sql/EntityUsageTableTest.php index 131f859..d6de942 100644 --- a/client/tests/phpunit/integration/includes/Usage/Sql/EntityUsageTableTest.php +++ b/client/tests/phpunit/integration/includes/Usage/Sql/EntityUsageTableTest.php @@ -142,7 +142,7 @@ class EntityUsageTableTest extends MediaWikiIntegrationTestCase { } private function getUsageStrings( array $usages ) { - $strings = array_map( function ( EntityUsage $usage ) { + $strings = array_map( static function ( EntityUsage $usage ) { return $usage->getIdentityString(); }, array_values( $usages ) ); diff --git a/client/tests/phpunit/integration/includes/Usage/UsageLookupContractTester.php b/client/tests/phpunit/integration/includes/Usage/UsageLookupContractTester.php index 97d63a1..a82593f 100644 --- a/client/tests/phpunit/integration/includes/Usage/UsageLookupContractTester.php +++ b/client/tests/phpunit/integration/includes/Usage/UsageLookupContractTester.php @@ -194,7 +194,7 @@ class UsageLookupContractTester { * @return string[] */ public function getUsageStrings( array $usages ) { - $strings = array_map( function( EntityUsage $usage ) { + $strings = array_map( static function( EntityUsage $usage ) { return $usage->getIdentityString(); }, $usages ); diff --git a/client/tests/phpunit/integration/includes/Usage/UsageTrackerContractTester.php b/client/tests/phpunit/integration/includes/Usage/UsageTrackerContractTester.php index 001d907..b25b375 100644 --- a/client/tests/phpunit/integration/includes/Usage/UsageTrackerContractTester.php +++ b/client/tests/phpunit/integration/includes/Usage/UsageTrackerContractTester.php @@ -156,7 +156,7 @@ class UsageTrackerContractTester { */ public function getUsageStrings( array $usages ) { return array_values( - array_map( function( EntityUsage $usage ) { + array_map( static function( EntityUsage $usage ) { return $usage->getIdentityString(); }, $usages ) ); diff --git a/client/tests/phpunit/integration/includes/Usage/UsageTrackingIntegrationTest.php b/client/tests/phpunit/integration/includes/Usage/UsageTrackingIntegrationTest.php index 3e4fa0b..57dd0dc 100644 --- a/client/tests/phpunit/integration/includes/Usage/UsageTrackingIntegrationTest.php +++ b/client/tests/phpunit/integration/includes/Usage/UsageTrackingIntegrationTest.php @@ -160,7 +160,7 @@ class UsageTrackingIntegrationTest extends MediaWikiIntegrationTestCase { * @return string[] */ private function getUsageStrings( array $usages ) { - $strings = array_map( function ( EntityUsage $usage ) { + $strings = array_map( static function ( EntityUsage $usage ) { return $usage->getIdentityString(); }, $usages ); diff --git a/client/tests/phpunit/mocks/Usage/UsageAccumulatorContractTester.php b/client/tests/phpunit/mocks/Usage/UsageAccumulatorContractTester.php index 8bda06e..85480ca 100644 --- a/client/tests/phpunit/mocks/Usage/UsageAccumulatorContractTester.php +++ b/client/tests/phpunit/mocks/Usage/UsageAccumulatorContractTester.php @@ -164,7 +164,7 @@ class UsageAccumulatorContractTester { */ private function getIdentityStrings( array $usages ) { return array_values( - array_map( function( EntityUsage $usage ) { + array_map( static function( EntityUsage $usage ) { return $usage->getIdentityString(); }, $usages ) ); diff --git a/client/tests/phpunit/unit/includes/Changes/InjectRCRecordsJobTest.php b/client/tests/phpunit/unit/includes/Changes/InjectRCRecordsJobTest.php index 48fe5c4..59b6fec 100644 --- a/client/tests/phpunit/unit/includes/Changes/InjectRCRecordsJobTest.php +++ b/client/tests/phpunit/unit/includes/Changes/InjectRCRecordsJobTest.php @@ -56,7 +56,7 @@ class InjectRCRecordsJobTest extends TestCase { } $changeLookup->method( 'loadByChangeIds' ) - ->willReturnCallback( function ( $ids ) use ( $changes ) { + ->willReturnCallback( static function ( $ids ) use ( $changes ) { return array_values( array_intersect_key( $changes, array_flip( $ids ) ) ); } ); @@ -388,7 +388,7 @@ class InjectRCRecordsJobTest extends TestCase { */ private function getTitleIDs( array $titles ): array { return array_map( - function( Title $title ) { + static function( Title $title ) { return $title->getArticleID(); }, $titles @@ -402,7 +402,7 @@ class InjectRCRecordsJobTest extends TestCase { */ private function getTitleDBKeys( array $titles ): array { return array_map( - function( Title $title ) { + static function( Title $title ) { return $title->getPrefixedDBkey(); }, $titles diff --git a/client/tests/phpunit/unit/includes/DataAccess/ClientSiteLinkTitleLookupTest.php b/client/tests/phpunit/unit/includes/DataAccess/ClientSiteLinkTitleLookupTest.php index 461955b..72f72f5 100644 --- a/client/tests/phpunit/unit/includes/DataAccess/ClientSiteLinkTitleLookupTest.php +++ b/client/tests/phpunit/unit/includes/DataAccess/ClientSiteLinkTitleLookupTest.php @@ -31,7 +31,7 @@ class ClientSiteLinkTitleLookupTest extends \PHPUnit\Framework\TestCase { $siteLinkLookup = $this->createMock( SiteLinkLookup::class ); $siteLinkLookup->method( 'getLinks' ) ->with( [ $id->getNumericId() ], [ $clientSiteId ] ) - ->willReturnCallback( function ( array $numericIds, array $siteIds ) { + ->willReturnCallback( static function ( array $numericIds, array $siteIds ) { // TODO: SiteLinkLookup::getLinks does have a bad, bad interface. return $siteIds === [ 'dewiki' ] ? [ [ 1 => 'Berlin' ] ] : []; } ); diff --git a/client/tests/phpunit/unit/includes/DataAccess/DataAccessSnakFormatterFactoryTest.php b/client/tests/phpunit/unit/includes/DataAccess/DataAccessSnakFormatterFactoryTest.php index 66e99e6..011452c 100644 --- a/client/tests/phpunit/unit/includes/DataAccess/DataAccessSnakFormatterFactoryTest.php +++ b/client/tests/phpunit/unit/includes/DataAccess/DataAccessSnakFormatterFactoryTest.php @@ -74,7 +74,7 @@ class DataAccessSnakFormatterFactoryTest extends \PHPUnit\Framework\TestCase { $snakFormatter = $this->createMock( SnakFormatter::class ); $snakFormatter->method( 'formatSnak' ) - ->willReturnCallback( function( PropertyValueSnak $snak ) { + ->willReturnCallback( static function( PropertyValueSnak $snak ) { return $snak->getDataValue()->getValue(); } ); diff --git a/client/tests/phpunit/unit/includes/DataAccess/ParserFunctions/LanguageAwareRendererTest.php b/client/tests/phpunit/unit/includes/DataAccess/ParserFunctions/LanguageAwareRendererTest.php index a61a949..5f07430 100644 --- a/client/tests/phpunit/unit/includes/DataAccess/ParserFunctions/LanguageAwareRendererTest.php +++ b/client/tests/phpunit/unit/includes/DataAccess/ParserFunctions/LanguageAwareRendererTest.php @@ -212,7 +212,7 @@ class LanguageAwareRendererTest extends \PHPUnit\Framework\TestCase { $propertyIdResolver = $this->createMock( PropertyIdResolver::class ); $propertyIdResolver->method( 'resolvePropertyId' ) - ->willReturnCallback( function( $propertyLabelOrId, $languageCode ) { + ->willReturnCallback( static function( $propertyLabelOrId, $languageCode ) { throw new PropertyLabelNotResolvedException( $propertyLabelOrId, $languageCode ); } ); @@ -240,7 +240,7 @@ class LanguageAwareRendererTest extends \PHPUnit\Framework\TestCase { $snakFormatter->method( 'formatSnak' ) ->willReturnCallback( - function ( Snak $snak ) { + static function ( Snak $snak ) { if ( $snak instanceof PropertyValueSnak ) { $value = $snak->getDataValue(); if ( $value instanceof StringValue ) { diff --git a/client/tests/phpunit/unit/includes/DataAccess/ParserFunctions/StatementGroupRendererFactoryTest.php b/client/tests/phpunit/unit/includes/DataAccess/ParserFunctions/StatementGroupRendererFactoryTest.php index a107c2f..3bde14b 100644 --- a/client/tests/phpunit/unit/includes/DataAccess/ParserFunctions/StatementGroupRendererFactoryTest.php +++ b/client/tests/phpunit/unit/includes/DataAccess/ParserFunctions/StatementGroupRendererFactoryTest.php @@ -260,7 +260,7 @@ class StatementGroupRendererFactoryTest extends \PHPUnit\Framework\TestCase { $snakListFinder = $this->createMock( SnaksFinder::class ); $snakListFinder->method( 'findSnaks' ) - ->willReturnCallback( function( + ->willReturnCallback( static function( StatementListProvider $statementListProvider, NumericPropertyId $propertyId, ?array $acceptableRanks @@ -295,7 +295,7 @@ class StatementGroupRendererFactoryTest extends \PHPUnit\Framework\TestCase { $entityLookup = $this->createMock( EntityLookup::class ); $entityLookup->method( 'getEntity' ) - ->willReturnCallback( function ( EntityId $id ) { + ->willReturnCallback( static function ( EntityId $id ) { return new Item( $id ); } ); diff --git a/client/tests/phpunit/unit/includes/DataAccess/ParserFunctions/VariantsAwareRendererTest.php b/client/tests/phpunit/unit/includes/DataAccess/ParserFunctions/VariantsAwareRendererTest.php index 25a4f7d..475dfeb 100644 --- a/client/tests/phpunit/unit/includes/DataAccess/ParserFunctions/VariantsAwareRendererTest.php +++ b/client/tests/phpunit/unit/includes/DataAccess/ParserFunctions/VariantsAwareRendererTest.php @@ -92,7 +92,7 @@ class VariantsAwareRendererTest extends \PHPUnit\Framework\TestCase { $languageRenderer->method( 'render' ) ->willReturnCallback( - function ( EntityId $entityId, $propertyLabelOrId ) use ( $languageCode ) { + static function ( EntityId $entityId, $propertyLabelOrId ) use ( $languageCode ) { if ( $propertyLabelOrId === 'url' ) { return 'http://wikipedia.de'; } diff --git a/client/tests/phpunit/unit/includes/DataAccess/Scribunto/CachingFallbackBasedTermLookupTest.php b/client/tests/phpunit/unit/includes/DataAccess/Scribunto/CachingFallbackBasedTermLookupTest.php index 9303999..b33708e 100644 --- a/client/tests/phpunit/unit/includes/DataAccess/Scribunto/CachingFallbackBasedTermLookupTest.php +++ b/client/tests/phpunit/unit/includes/DataAccess/Scribunto/CachingFallbackBasedTermLookupTest.php @@ -166,12 +166,12 @@ class CachingFallbackBasedTermLookupTest extends TestCase { ], ]; - $datasetLabels = array_map( function( $testCase ) { + $datasetLabels = array_map( static function( $testCase ) { $testCase[] = TermTypes::TYPE_LABEL; return $testCase; }, $dataset ); - $datasetDescriptions = array_map( function( $testCase ) { + $datasetDescriptions = array_map( static function( $testCase ) { $testCase[] = TermTypes::TYPE_DESCRIPTION; return $testCase; }, $dataset ); @@ -292,7 +292,7 @@ class CachingFallbackBasedTermLookupTest extends TestCase { $enTerm = self::getTermFallback( 'cat', 'en' ); $this->contentLanguages->method( 'hasLanguage' ) - ->willReturnCallback( function ( $languageCode ) { + ->willReturnCallback( static function ( $languageCode ) { return $languageCode === 'en'; } ); $this->mockHasContentLanguage( true ); diff --git a/client/tests/phpunit/unit/includes/DataAccess/Scribunto/LuaFunctionCallTrackerTest.php b/client/tests/phpunit/unit/includes/DataAccess/Scribunto/LuaFunctionCallTrackerTest.php index 6318c82..0155c88 100644 --- a/client/tests/phpunit/unit/includes/DataAccess/Scribunto/LuaFunctionCallTrackerTest.php +++ b/client/tests/phpunit/unit/includes/DataAccess/Scribunto/LuaFunctionCallTrackerTest.php @@ -63,7 +63,7 @@ class LuaFunctionCallTrackerTest extends \PHPUnit\Framework\TestCase { $statsdFactory->expects( $this->exactly( count( $expected ) ) ) ->method( 'updateCount' ) ->with( $this->isType( 'string' ), 1 / $trackLuaFunctionCallsSampleRate ) - ->willReturnCallback( function ( $key ) use ( &$keyBuffer ) { + ->willReturnCallback( static function ( $key ) use ( &$keyBuffer ) { $keyBuffer[] = $key; } ); diff --git a/client/tests/phpunit/unit/includes/DataAccess/Scribunto/SnakSerializationRendererTest.php b/client/tests/phpunit/unit/includes/DataAccess/Scribunto/SnakSerializationRendererTest.php index 8f47162..54581f7 100644 --- a/client/tests/phpunit/unit/includes/DataAccess/Scribunto/SnakSerializationRendererTest.php +++ b/client/tests/phpunit/unit/includes/DataAccess/Scribunto/SnakSerializationRendererTest.php @@ -44,7 +44,7 @@ class SnakSerializationRendererTest extends \PHPUnit\Framework\TestCase { private function getSnakRenderer() { $snakFormatter = $this->createMock( SnakFormatter::class ); $snakFormatter->method( 'formatSnak' ) - ->willReturnCallback( function ( PropertyValueSnak $snak ) { + ->willReturnCallback( static function ( PropertyValueSnak $snak ) { $value = $snak->getDataValue(); if ( $value instanceof EntityIdValue ) { return $value->getEntityId()->getSerialization(); diff --git a/client/tests/phpunit/unit/includes/DataAccess/StatementTransclusionInteractorTest.php b/client/tests/phpunit/unit/includes/DataAccess/StatementTransclusionInteractorTest.php index 0ff271c..30b0541 100644 --- a/client/tests/phpunit/unit/includes/DataAccess/StatementTransclusionInteractorTest.php +++ b/client/tests/phpunit/unit/includes/DataAccess/StatementTransclusionInteractorTest.php @@ -198,7 +198,7 @@ class StatementTransclusionInteractorTest extends \PHPUnit\Framework\TestCase { $propertyIdResolver = $this->createMock( PropertyIdResolver::class ); $propertyIdResolver->method( 'resolvePropertyId' ) - ->willReturnCallback( function( $propertyLabelOrId, $languageCode ) { + ->willReturnCallback( static function( $propertyLabelOrId, $languageCode ) { throw new PropertyLabelNotResolvedException( $propertyLabelOrId, $languageCode ); } ); @@ -216,7 +216,7 @@ class StatementTransclusionInteractorTest extends \PHPUnit\Framework\TestCase { $lookup = $this->createMock( EntityRevisionLookup::class ); $lookup->method( 'getEntityRevision' ) - ->willReturnCallback( function( EntityId $entityId ) { + ->willReturnCallback( static function( EntityId $entityId ) { switch ( $entityId->getSerialization() ) { case 'Q42': return new EntityRevision( new Item( new ItemId( 'Q42' ) ) ); @@ -243,7 +243,7 @@ class StatementTransclusionInteractorTest extends \PHPUnit\Framework\TestCase { $snakFormatter->method( 'formatSnak' ) ->willReturnCallback( - function ( Snak $snak ) { + static function ( Snak $snak ) { if ( $snak instanceof PropertyValueSnak ) { $value = $snak->getDataValue(); if ( $value instanceof StringValue ) { diff --git a/client/tests/phpunit/unit/includes/Hooks/EditActionHookHandlerTest.php b/client/tests/phpunit/unit/includes/Hooks/EditActionHookHandlerTest.php index 0b86c55..cdaf3c0 100644 --- a/client/tests/phpunit/unit/includes/Hooks/EditActionHookHandlerTest.php +++ b/client/tests/phpunit/unit/includes/Hooks/EditActionHookHandlerTest.php @@ -47,7 +47,7 @@ class EditActionHookHandlerTest extends \PHPUnit\Framework\TestCase { } public static function handleProvider() { - $expectedEditFormText = function ( IContextSource $context, string $link ) { + $expectedEditFormText = static function ( IContextSource $context, string $link ) { $explanation = $context->msg( 'wikibase-pageinfo-entity-usage' )->escaped(); $header = '<div class="wikibase-entity-usage"><div class="wikibase-entityusage-explanation">'; $header .= "<p>$explanation\n</p></div>"; @@ -95,7 +95,7 @@ class EditActionHookHandlerTest extends \PHPUnit\Framework\TestCase { ->getMock(); $repoLinker->method( 'buildEntityLink' ) - ->willReturnCallback( function ( + ->willReturnCallback( static function ( EntityId $entityId, array $classes = [], $text = null @@ -146,7 +146,7 @@ class EditActionHookHandlerTest extends \PHPUnit\Framework\TestCase { $lookup = $this->createMock( FallbackLabelDescriptionLookup::class ); $lookup->method( 'getLabel' ) - ->willReturnCallback( function ( EntityId $entityId ) { + ->willReturnCallback( static function ( EntityId $entityId ) { switch ( $entityId->getSerialization() ) { case 'Q4': return new Term( 'en', 'Berlin' ); diff --git a/client/tests/phpunit/unit/includes/Hooks/ExtensionLoadHandlerTest.php b/client/tests/phpunit/unit/includes/Hooks/ExtensionLoadHandlerTest.php index 2076576..468a514 100644 --- a/client/tests/phpunit/unit/includes/Hooks/ExtensionLoadHandlerTest.php +++ b/client/tests/phpunit/unit/includes/Hooks/ExtensionLoadHandlerTest.php @@ -27,7 +27,7 @@ class ExtensionLoadHandlerTest extends TestCase { private function getFauxHookContainer( &$hooks ) { $container = $this->createMock( HookContainer::class ); $container->method( 'register' )->willReturnCallback( - function ( $name, $handler ) use ( &$hooks ) { + static function ( $name, $handler ) use ( &$hooks ) { $hooks[$name][] = $handler; } ); diff --git a/client/tests/phpunit/unit/includes/Hooks/InfoActionHookHandlerTest.php b/client/tests/phpunit/unit/includes/Hooks/InfoActionHookHandlerTest.php index b999754..b9ebd8e 100644 --- a/client/tests/phpunit/unit/includes/Hooks/InfoActionHookHandlerTest.php +++ b/client/tests/phpunit/unit/includes/Hooks/InfoActionHookHandlerTest.php @@ -183,7 +183,7 @@ class InfoActionHookHandlerTest extends \PHPUnit\Framework\TestCase { ->getMock(); $repoLinker->method( 'buildEntityLink' ) - ->willReturnCallback( function ( + ->willReturnCallback( static function ( EntityId $entityId, array $classes = [], $text = null @@ -265,7 +265,7 @@ class InfoActionHookHandlerTest extends \PHPUnit\Framework\TestCase { $lookup = $this->createMock( FallbackLabelDescriptionLookup::class ); $lookup->method( 'getLabel' ) - ->willReturnCallback( function ( EntityId $entityId ) { + ->willReturnCallback( static function ( EntityId $entityId ) { switch ( $entityId->getSerialization() ) { case 'Q4': return new Term( 'en', 'Berlin' ); diff --git a/client/tests/phpunit/unit/includes/Hooks/LanguageLinkBadgeDisplayTest.php b/client/tests/phpunit/unit/includes/Hooks/LanguageLinkBadgeDisplayTest.php index ea02bf4..e9cf710 100644 --- a/client/tests/phpunit/unit/includes/Hooks/LanguageLinkBadgeDisplayTest.php +++ b/client/tests/phpunit/unit/includes/Hooks/LanguageLinkBadgeDisplayTest.php @@ -33,7 +33,7 @@ class LanguageLinkBadgeDisplayTest extends \PHPUnit\Framework\TestCase { $labelLookup = $this->createMock( LabelDescriptionLookup::class ); $labelLookup->method( 'getLabel' ) - ->willReturnCallback( function( EntityId $entityId ) { + ->willReturnCallback( static function( EntityId $entityId ) { switch ( $entityId->getSerialization() ) { case 'Q3': return new Term( 'de', 'Lesenswerter Artikel' ); diff --git a/client/tests/phpunit/unit/includes/Hooks/SiteLinksForDisplayLookupTest.php b/client/tests/phpunit/unit/includes/Hooks/SiteLinksForDisplayLookupTest.php index b0a8f52..ee8cdeb 100644 --- a/client/tests/phpunit/unit/includes/Hooks/SiteLinksForDisplayLookupTest.php +++ b/client/tests/phpunit/unit/includes/Hooks/SiteLinksForDisplayLookupTest.php @@ -116,7 +116,7 @@ class SiteLinksForDisplayLookupTest extends \MediaWikiUnitTestCase { $links->toArray(), $usageAccumulator, ] ) - ->willReturnCallback( function ( string $hook, array $args ) { + ->willReturnCallback( static function ( string $hook, array $args ) { $links = &$args[1]; $links['frwikisource'] = new SiteLink( 'frwikisource', 'FooSource' ); $links['enwiki'] = new SiteLink( 'enwiki', 'Foo en', [ new ItemId( 'Q42' ) ] ); diff --git a/client/tests/phpunit/unit/includes/Hooks/SkinAfterPortletHandlerTest.php b/client/tests/phpunit/unit/includes/Hooks/SkinAfterPortletHandlerTest.php index 2bae9aa..d2d6a67 100644 --- a/client/tests/phpunit/unit/includes/Hooks/SkinAfterPortletHandlerTest.php +++ b/client/tests/phpunit/unit/includes/Hooks/SkinAfterPortletHandlerTest.php @@ -157,7 +157,7 @@ class SkinAfterPortletHandlerTest extends TestCase { $context->method( 'getLanguage' ) ->willReturn( $lang ); $context->method( 'msg' ) - ->willReturnCallback( function ( $key ) use ( $lang ) { + ->willReturnCallback( static function ( $key ) use ( $lang ) { return ( new RawMessage( "($key)" ) )->inLanguage( $lang ); } ); $context->method( 'getConfig' ) diff --git a/client/tests/phpunit/unit/includes/ServiceWiring/DataTypeDefinitionsTest.php b/client/tests/phpunit/unit/includes/ServiceWiring/DataTypeDefinitionsTest.php index e22efc6..f58caeb 100644 --- a/client/tests/phpunit/unit/includes/ServiceWiring/DataTypeDefinitionsTest.php +++ b/client/tests/phpunit/unit/includes/ServiceWiring/DataTypeDefinitionsTest.php @@ -35,7 +35,7 @@ class DataTypeDefinitionsTest extends ServiceWiringTestCase { public function testRunsHook(): void { $this->configureHookContainer( [ - 'WikibaseClientDataTypes' => [ function ( array &$dataTypes ) { + 'WikibaseClientDataTypes' => [ static function ( array &$dataTypes ) { $dataTypes['PT:test'] = [ 'value-type' => 'string' ]; } ], ] ); diff --git a/client/tests/phpunit/unit/includes/ServiceWiring/DataTypeFactoryTest.php b/client/tests/phpunit/unit/includes/ServiceWiring/DataTypeFactoryTest.php index fb010b2..979cdb8 100644 --- a/client/tests/phpunit/unit/includes/ServiceWiring/DataTypeFactoryTest.php +++ b/client/tests/phpunit/unit/includes/ServiceWiring/DataTypeFactoryTest.php @@ -24,7 +24,7 @@ class DataTypeFactoryTest extends ServiceWiringTestCase { $this->mockService( 'WikibaseClient.DataTypeDefinitions', new DataTypeDefinitions( array_fill_keys( - array_map( function ( $dataTypeId ) { + array_map( static function ( $dataTypeId ) { return 'PT:' . $dataTypeId; }, $mockDataTypeIds ), [ 'value-type' => 'string' ] diff --git a/client/tests/phpunit/unit/includes/ServiceWiring/DataValueDeserializerTest.php b/client/tests/phpunit/unit/includes/ServiceWiring/DataValueDeserializerTest.php index 704990c..d6b6dc0 100644 --- a/client/tests/phpunit/unit/includes/ServiceWiring/DataValueDeserializerTest.php +++ b/client/tests/phpunit/unit/includes/ServiceWiring/DataValueDeserializerTest.php @@ -33,7 +33,7 @@ class DataValueDeserializerTest extends ServiceWiringTestCase { 'wikibase-entityid', ]; - yield from array_map( function ( $dataValue ) { + yield from array_map( static function ( $dataValue ) { return [ $dataValue ]; }, $dataValues ); } diff --git a/client/tests/phpunit/unit/includes/ServiceWiring/EntityDifferTest.php b/client/tests/phpunit/unit/includes/ServiceWiring/EntityDifferTest.php index 445b499..4806d7d 100644 --- a/client/tests/phpunit/unit/includes/ServiceWiring/EntityDifferTest.php +++ b/client/tests/phpunit/unit/includes/ServiceWiring/EntityDifferTest.php @@ -26,13 +26,13 @@ class EntityDifferTest extends ServiceWiringTestCase { $this->mockService( 'WikibaseClient.EntityTypeDefinitions', new EntityTypeDefinitions( [ 'test1' => [ - EntityTypeDefinitions::ENTITY_DIFFER_STRATEGY_BUILDER => function () use ( &$calls1, $strategy1 ) { + EntityTypeDefinitions::ENTITY_DIFFER_STRATEGY_BUILDER => static function () use ( &$calls1, $strategy1 ) { $calls1++; return $strategy1; }, ], 'test2' => [ - EntityTypeDefinitions::ENTITY_DIFFER_STRATEGY_BUILDER => function () use ( &$calls2, $strategy2 ) { + EntityTypeDefinitions::ENTITY_DIFFER_STRATEGY_BUILDER => static function () use ( &$calls2, $strategy2 ) { $calls2++; return $strategy2; }, diff --git a/client/tests/phpunit/unit/includes/ServiceWiring/EntityIdComposerTest.php b/client/tests/phpunit/unit/includes/ServiceWiring/EntityIdComposerTest.php index 3d350bc..d6f89c3 100644 --- a/client/tests/phpunit/unit/includes/ServiceWiring/EntityIdComposerTest.php +++ b/client/tests/phpunit/unit/includes/ServiceWiring/EntityIdComposerTest.php @@ -22,7 +22,7 @@ class EntityIdComposerTest extends ServiceWiringTestCase { $this->mockService( 'WikibaseClient.EntityTypeDefinitions', new EntityTypeDefinitions( [ 'test' => [ - EntityTypeDefinitions::ENTITY_ID_COMPOSER_CALLBACK => function ( $uniquePart ) { + EntityTypeDefinitions::ENTITY_ID_COMPOSER_CALLBACK => static function ( $uniquePart ) { return new ItemId( 'Q' . $uniquePart ); }, ], diff --git a/client/tests/phpunit/unit/includes/ServiceWiring/EntityIdParserTest.php b/client/tests/phpunit/unit/includes/ServiceWiring/EntityIdParserTest.php index 64b298c..8c983b8 100644 --- a/client/tests/phpunit/unit/includes/ServiceWiring/EntityIdParserTest.php +++ b/client/tests/phpunit/unit/includes/ServiceWiring/EntityIdParserTest.php @@ -18,7 +18,7 @@ use Wikibase\Lib\EntityTypeDefinitions; */ class EntityIdParserTest extends ServiceWiringTestCase { private function makeIdBuilder( $prefix ): callable { - return function ( $serialization ) use ( $prefix ) { + return static function ( $serialization ) use ( $prefix ) { return new ItemId( 'Q' . $prefix . substr( $serialization, 1 ) ); }; } diff --git a/client/tests/phpunit/unit/includes/ServiceWiring/EntityNamespaceLookupTest.php b/client/tests/phpunit/unit/includes/ServiceWiring/EntityNamespaceLookupTest.php index decf7ee..5f11a8c 100644 --- a/client/tests/phpunit/unit/includes/ServiceWiring/EntityNamespaceLookupTest.php +++ b/client/tests/phpunit/unit/includes/ServiceWiring/EntityNamespaceLookupTest.php @@ -21,7 +21,7 @@ class EntityNamespaceLookupTest extends ServiceWiringTestCase { private function getEntitySources( array ...$entityNSDefinitions ): EntitySourceDefinitions { return new EntitySourceDefinitions( array_map( - function ( array $nsDefinitions, int $idx ): DatabaseEntitySource { + static function ( array $nsDefinitions, int $idx ): DatabaseEntitySource { return new DatabaseEntitySource( 'test-' . $idx, false, diff --git a/client/tests/phpunit/unit/includes/ServiceWiring/EntityTypeDefinitionsTest.php b/client/tests/phpunit/unit/includes/ServiceWiring/EntityTypeDefinitionsTest.php index 5c111c0..a4feff1 100644 --- a/client/tests/phpunit/unit/includes/ServiceWiring/EntityTypeDefinitionsTest.php +++ b/client/tests/phpunit/unit/includes/ServiceWiring/EntityTypeDefinitionsTest.php @@ -24,7 +24,7 @@ class EntityTypeDefinitionsTest extends ServiceWiringTestCase { public function testRunsHook(): void { $this->configureHookContainer( [ - 'WikibaseClientEntityTypes' => [ function ( array &$entityTypes ) { + 'WikibaseClientEntityTypes' => [ static function ( array &$entityTypes ) { $entityTypes['test'] = []; } ], ] ); diff --git a/client/tests/phpunit/unit/includes/ServiceWiring/WikibaseContentLanguagesTest.php b/client/tests/phpunit/unit/includes/ServiceWiring/WikibaseContentLanguagesTest.php index e451453..daad11d 100644 --- a/client/tests/phpunit/unit/includes/ServiceWiring/WikibaseContentLanguagesTest.php +++ b/client/tests/phpunit/unit/includes/ServiceWiring/WikibaseContentLanguagesTest.php @@ -21,7 +21,7 @@ class WikibaseContentLanguagesTest extends ServiceWiringTestCase { public function testConstruction() { $testLanguages = new StaticContentLanguages( [ 'test' ] ); $this->configureHookContainer( [ - 'WikibaseContentLanguages' => [ function ( array &$contentLanguages ) use ( $testLanguages ) { + 'WikibaseContentLanguages' => [ static function ( array &$contentLanguages ) use ( $testLanguages ) { $contentLanguages['test'] = $testLanguages; } ], ] ); diff --git a/client/tests/phpunit/unit/includes/Store/DescriptionLookupTest.php b/client/tests/phpunit/unit/includes/Store/DescriptionLookupTest.php index f416454..89d91ff 100644 --- a/client/tests/phpunit/unit/includes/Store/DescriptionLookupTest.php +++ b/client/tests/phpunit/unit/includes/Store/DescriptionLookupTest.php @@ -201,13 +201,13 @@ class DescriptionLookupTest extends TestCase { $pageProps = $this->createMock( PageProps::class ); $pageProps->method( 'getProperties' ) ->with( $this->anything(), DescriptionLookup::LOCAL_PROPERTY_NAME ) - ->willReturnCallback( function ( $titlesByPageId ) use ( $localDescriptions ) { - return array_filter( array_map( function ( Title $title ) use ( $localDescriptions ) { + ->willReturnCallback( static function ( $titlesByPageId ) use ( $localDescriptions ) { + return array_filter( array_map( static function ( Title $title ) use ( $localDescriptions ) { if ( !array_key_exists( $title->getArticleID(), $localDescriptions ) ) { return null; } return $localDescriptions[$title->getArticleID()]; - }, $titlesByPageId ), function ( $description ) { + }, $titlesByPageId ), static function ( $description ) { return $description !== null; } ); } ); @@ -230,8 +230,8 @@ class DescriptionLookupTest extends TestCase { $idLookup = $this->getMockBuilder( EntityIdLookup::class ) ->getMockForAbstractClass(); $idLookup->method( 'getEntityIds' ) - ->willReturnCallback( function ( $titlesByPageId ) use ( $centralDescriptions ) { - return array_filter( array_map( function ( Title $title ) use ( $centralDescriptions ) { + ->willReturnCallback( static function ( $titlesByPageId ) use ( $centralDescriptions ) { + return array_filter( array_map( static function ( Title $title ) use ( $centralDescriptions ) { if ( !array_key_exists( $title->getArticleID(), $centralDescriptions ) ) { return null; } @@ -258,7 +258,7 @@ class DescriptionLookupTest extends TestCase { $termBuffer = $this->createMock( TermBuffer::class ); $termBuffer->method( 'getPrefetchedTerm' ) ->willReturnCallback( - function ( $entityId, $termType, $langCode ) use ( $centralDescriptions ) { + static function ( $entityId, $termType, $langCode ) use ( $centralDescriptions ) { $pageId = (int)substr( $entityId->getSerialization(), 1 ); $description = $centralDescriptions[$pageId]; if ( is_array( $description ) ) { diff --git a/client/tests/phpunit/unit/includes/Usage/UsageTrackingSnakFormatterTest.php b/client/tests/phpunit/unit/includes/Usage/UsageTrackingSnakFormatterTest.php index b608641..ad44acd 100644 --- a/client/tests/phpunit/unit/includes/Usage/UsageTrackingSnakFormatterTest.php +++ b/client/tests/phpunit/unit/includes/Usage/UsageTrackingSnakFormatterTest.php @@ -94,7 +94,7 @@ class UsageTrackingSnakFormatterTest extends \PHPUnit\Framework\TestCase { $parser = $this->createMock( EntityIdParser::class ); $parser->expects( $this->once() ) ->method( 'parse' ) - ->willReturnCallback( function ( $id ) { + ->willReturnCallback( static function ( $id ) { return $id === '1' ? null : new ItemId( $id ); } ); diff --git a/composer.json b/composer.json index b6fc5ab..33bcde5 100644 --- a/composer.json +++ b/composer.json @@ -42,7 +42,7 @@ "swaggest/json-diff": "^3.11.0" }, "require-dev": { - "mediawiki/mediawiki-codesniffer": "dev-master#fd6ecb5ffbe353507ca05387176db02f0f41f6fe", + "mediawiki/mediawiki-codesniffer": "45.0.0", "mediawiki/mediawiki-phan-config": "0.15.0", "mediawiki/minus-x": "1.1.3", "php-parallel-lint/php-console-highlighter": "1.0.0", diff --git a/data-access/src/ByTypeDispatchingEntityIdLookup.php b/data-access/src/ByTypeDispatchingEntityIdLookup.php index b5f867e..d9d523b 100644 --- a/data-access/src/ByTypeDispatchingEntityIdLookup.php +++ b/data-access/src/ByTypeDispatchingEntityIdLookup.php @@ -60,7 +60,7 @@ class ByTypeDispatchingEntityIdLookup implements EntityIdLookup { $results = array_replace( $results, $entityIds ); } - return array_filter( $results, function ( $id ) { + return array_filter( $results, static function ( $id ) { return $id instanceof EntityId; } ); } diff --git a/data-access/tests/phpunit/ByTypeDispatchingEntityIdLookupTest.php b/data-access/tests/phpunit/ByTypeDispatchingEntityIdLookupTest.php index 255d2dd..f5e834a 100644 --- a/data-access/tests/phpunit/ByTypeDispatchingEntityIdLookupTest.php +++ b/data-access/tests/phpunit/ByTypeDispatchingEntityIdLookupTest.php @@ -65,7 +65,7 @@ class ByTypeDispatchingEntityIdLookupTest extends TestCase { $lookup = $this->createMock( EntityIdLookup::class ); $lookup ->method( 'getEntityIds' ) - ->willReturnCallback( function ( $titles ) use ( $map ) { + ->willReturnCallback( static function ( $titles ) use ( $map ) { $results = []; foreach ( $titles as $title ) { $dbKey = $title->getPrefixedDBkey(); @@ -77,7 +77,7 @@ class ByTypeDispatchingEntityIdLookupTest extends TestCase { } ); $lookup ->method( 'getEntityIdForTitle' ) - ->willReturnCallback( function ( $title ) use ( $map ) { + ->willReturnCallback( static function ( $title ) use ( $map ) { return $map[$title->getPrefixedDBkey()] ?? null; } ); return $lookup; diff --git a/data-access/tests/phpunit/ByTypeDispatchingEntityRevisionLookupTest.php b/data-access/tests/phpunit/ByTypeDispatchingEntityRevisionLookupTest.php index 8728d41..a59e484 100644 --- a/data-access/tests/phpunit/ByTypeDispatchingEntityRevisionLookupTest.php +++ b/data-access/tests/phpunit/ByTypeDispatchingEntityRevisionLookupTest.php @@ -129,7 +129,7 @@ class ByTypeDispatchingEntityRevisionLookupTest extends TestCase { $shouldNotBeCalled = function () { $this->fail( 'Should not be called' ); }; - $returnTrue = function () { + $returnTrue = static function () { return true; }; diff --git a/data-access/tests/phpunit/SourceAndTypeDispatchingPrefetchingTermLookupTest.php b/data-access/tests/phpunit/SourceAndTypeDispatchingPrefetchingTermLookupTest.php index 1fe9296..48703cd 100644 --- a/data-access/tests/phpunit/SourceAndTypeDispatchingPrefetchingTermLookupTest.php +++ b/data-access/tests/phpunit/SourceAndTypeDispatchingPrefetchingTermLookupTest.php @@ -46,9 +46,9 @@ class SourceAndTypeDispatchingPrefetchingTermLookupTest extends TestCase { $this->callbacks = [ 'some-source' => [ - 'item' => function () use ( $itemPrefetchingLookup ) { return $itemPrefetchingLookup; + 'item' => static function () use ( $itemPrefetchingLookup ) { return $itemPrefetchingLookup; }, - 'property' => function () use ( $propertyPrefetchingLookup ) { return $propertyPrefetchingLookup; + 'property' => static function () use ( $propertyPrefetchingLookup ) { return $propertyPrefetchingLookup; }, ], ]; @@ -71,9 +71,9 @@ class SourceAndTypeDispatchingPrefetchingTermLookupTest extends TestCase { $this->callbacks = [ 'some-source' => [ - 'item' => function () use ( $itemPrefetchingLookup ) { return $itemPrefetchingLookup; + 'item' => static function () use ( $itemPrefetchingLookup ) { return $itemPrefetchingLookup; }, - 'property' => function () use ( $propertyPrefetchingLookup ) { return $propertyPrefetchingLookup; + 'property' => static function () use ( $propertyPrefetchingLookup ) { return $propertyPrefetchingLookup; }, ], ]; @@ -95,9 +95,9 @@ class SourceAndTypeDispatchingPrefetchingTermLookupTest extends TestCase { $this->callbacks = [ 'some-source' => [ - 'item' => function () use ( $itemPrefetchingLookup ) { return $itemPrefetchingLookup; + 'item' => static function () use ( $itemPrefetchingLookup ) { return $itemPrefetchingLookup; }, - 'property' => function () use ( $propertyPrefetchingLookup ) { return $propertyPrefetchingLookup; + 'property' => static function () use ( $propertyPrefetchingLookup ) { return $propertyPrefetchingLookup; }, ], ]; @@ -118,7 +118,7 @@ class SourceAndTypeDispatchingPrefetchingTermLookupTest extends TestCase { $this->callbacks = [ 'some-source' => [ - 'item' => function () use ( $itemPrefetchingLookup ) { return $itemPrefetchingLookup; + 'item' => static function () use ( $itemPrefetchingLookup ) { return $itemPrefetchingLookup; }, ], ]; @@ -136,7 +136,7 @@ class SourceAndTypeDispatchingPrefetchingTermLookupTest extends TestCase { $this->callbacks = [ 'some-source' => [ - 'item' => function () use ( $innerLookup ) { return $innerLookup; + 'item' => static function () use ( $innerLookup ) { return $innerLookup; }, ], ]; @@ -155,7 +155,7 @@ class SourceAndTypeDispatchingPrefetchingTermLookupTest extends TestCase { $this->callbacks = [ 'some-source' => [ - 'item' => function () use ( $innerLookup ) { return $innerLookup; + 'item' => static function () use ( $innerLookup ) { return $innerLookup; }, ], ]; @@ -173,7 +173,7 @@ class SourceAndTypeDispatchingPrefetchingTermLookupTest extends TestCase { $this->callbacks = [ 'some-source' => [ - 'item' => function () use ( $innerLookup ) { return $innerLookup; + 'item' => static function () use ( $innerLookup ) { return $innerLookup; }, ], ]; diff --git a/lib/WikibaseLib.entitytypes.php b/lib/WikibaseLib.entitytypes.php index 5e44661..8cbe481 100644 --- a/lib/WikibaseLib.entitytypes.php +++ b/lib/WikibaseLib.entitytypes.php @@ -27,44 +27,44 @@ use Wikibase\Lib\EntityTypeDefinitions as Def; return [ 'item' => [ - Def::SERIALIZER_FACTORY_CALLBACK => function( SerializerFactory $serializerFactory ) { + Def::SERIALIZER_FACTORY_CALLBACK => static function( SerializerFactory $serializerFactory ) { return $serializerFactory->newItemSerializer(); }, - Def::DESERIALIZER_FACTORY_CALLBACK => function( DeserializerFactory $deserializerFactory ) { + Def::DESERIALIZER_FACTORY_CALLBACK => static function( DeserializerFactory $deserializerFactory ) { return $deserializerFactory->newItemDeserializer(); }, Def::ENTITY_ID_PATTERN => ItemId::PATTERN, - Def::ENTITY_ID_BUILDER => function( $serialization ) { + Def::ENTITY_ID_BUILDER => static function( $serialization ) { return new ItemId( $serialization ); }, - Def::ENTITY_ID_COMPOSER_CALLBACK => function( $uniquePart ) { + Def::ENTITY_ID_COMPOSER_CALLBACK => static function( $uniquePart ) { return new ItemId( 'Q' . $uniquePart ); }, - Def::ENTITY_DIFFER_STRATEGY_BUILDER => function() { + Def::ENTITY_DIFFER_STRATEGY_BUILDER => static function() { return new ItemDiffer(); }, - Def::ENTITY_PATCHER_STRATEGY_BUILDER => function() { + Def::ENTITY_PATCHER_STRATEGY_BUILDER => static function() { return new ItemPatcher(); }, ], 'property' => [ - Def::SERIALIZER_FACTORY_CALLBACK => function( SerializerFactory $serializerFactory ) { + Def::SERIALIZER_FACTORY_CALLBACK => static function( SerializerFactory $serializerFactory ) { return $serializerFactory->newPropertySerializer(); }, - Def::DESERIALIZER_FACTORY_CALLBACK => function( DeserializerFactory $deserializerFactory ) { + Def::DESERIALIZER_FACTORY_CALLBACK => static function( DeserializerFactory $deserializerFactory ) { return $deserializerFactory->newPropertyDeserializer(); }, Def::ENTITY_ID_PATTERN => NumericPropertyId::PATTERN, - Def::ENTITY_ID_BUILDER => function( $serialization ) { + Def::ENTITY_ID_BUILDER => static function( $serialization ) { return new NumericPropertyId( $serialization ); }, - Def::ENTITY_ID_COMPOSER_CALLBACK => function( $uniquePart ) { + Def::ENTITY_ID_COMPOSER_CALLBACK => static function( $uniquePart ) { return new NumericPropertyId( 'P' . $uniquePart ); }, - Def::ENTITY_DIFFER_STRATEGY_BUILDER => function() { + Def::ENTITY_DIFFER_STRATEGY_BUILDER => static function() { return new PropertyDiffer(); }, - Def::ENTITY_PATCHER_STRATEGY_BUILDER => function() { + Def::ENTITY_PATCHER_STRATEGY_BUILDER => static function() { return new PropertyPatcher(); }, ], diff --git a/lib/includes/DataTypeDefinitions.php b/lib/includes/DataTypeDefinitions.php index d055f0d..650d5e8 100644 --- a/lib/includes/DataTypeDefinitions.php +++ b/lib/includes/DataTypeDefinitions.php @@ -384,7 +384,7 @@ class DataTypeDefinitions { */ public function getRdfDataTypes() { return array_map( - function ( $dataType ) { + static function ( $dataType ) { if ( is_callable( $dataType ) ) { $dataType = ( $dataType )(); } diff --git a/lib/includes/Formatters/AutoCommentFormatter.php b/lib/includes/Formatters/AutoCommentFormatter.php index 143ef88..ab91703 100644 --- a/lib/includes/Formatters/AutoCommentFormatter.php +++ b/lib/includes/Formatters/AutoCommentFormatter.php @@ -98,7 +98,7 @@ class AutoCommentFormatter { return null; } - $args = array_map( function ( $arg ) { + $args = array_map( static function ( $arg ) { // MediaWiki HTML-escaped the auto-comment already, // undo that, then wikitext-escape the args for the message // (no message requires formatted params and some args are user-controlled) diff --git a/lib/includes/LanguageFallbackChainFactory.php b/lib/includes/LanguageFallbackChainFactory.php index a311942..bea5bc8 100644 --- a/lib/includes/LanguageFallbackChainFactory.php +++ b/lib/includes/LanguageFallbackChainFactory.php @@ -287,7 +287,7 @@ class LanguageFallbackChainFactory { $babelCategoryNames = array_filter( $wgBabelCategoryNames, - function( $category ) { + static function( $category ) { return $category !== false; } ); diff --git a/lib/includes/Serialization/CallbackFactory.php b/lib/includes/Serialization/CallbackFactory.php index b649453..618b9a0 100644 --- a/lib/includes/Serialization/CallbackFactory.php +++ b/lib/includes/Serialization/CallbackFactory.php @@ -23,7 +23,7 @@ class CallbackFactory { * @return callable */ public function getCallbackToIndexTags( $tagName ) { - return function( $array ) use ( $tagName ) { + return static function( $array ) use ( $tagName ) { if ( is_array( $array ) ) { ApiResult::setIndexedTagName( $array, $tagName ); } @@ -40,7 +40,7 @@ class CallbackFactory { * @return callable */ public function getCallbackToSetArrayType( $type, $kvpKeyName = null ) { - return function( $array ) use ( $type, $kvpKeyName ) { + return static function( $array ) use ( $type, $kvpKeyName ) { if ( is_array( $array ) ) { ApiResult::setArrayType( $array, $type, $kvpKeyName ); } diff --git a/lib/includes/Store/CacheRetrievingEntityRevisionLookup.php b/lib/includes/Store/CacheRetrievingEntityRevisionLookup.php index fd11508..9672943 100644 --- a/lib/includes/Store/CacheRetrievingEntityRevisionLookup.php +++ b/lib/includes/Store/CacheRetrievingEntityRevisionLookup.php @@ -101,11 +101,11 @@ class CacheRetrievingEntityRevisionLookup implements EntityRevisionLookup { if ( $entityRevision !== null ) { if ( $revisionId === 0 && $this->shouldVerifyRevision ) { $latestRevisionIdResult = $this->lookup->getLatestRevisionId( $entityId, $mode ); - $returnFalse = function () { + $returnFalse = static function () { return false; }; - $latestRevision = $latestRevisionIdResult->onConcreteRevision( function ( $revId ) { + $latestRevision = $latestRevisionIdResult->onConcreteRevision( static function ( $revId ) { return $revId; } ) ->onRedirect( $returnFalse ) diff --git a/lib/includes/Store/RedirectResolvingLatestRevisionLookup.php b/lib/includes/Store/RedirectResolvingLatestRevisionLookup.php index 65d5010..09b7f6b 100644 --- a/lib/includes/Store/RedirectResolvingLatestRevisionLookup.php +++ b/lib/includes/Store/RedirectResolvingLatestRevisionLookup.php @@ -34,12 +34,12 @@ class RedirectResolvingLatestRevisionLookup { } $revisionIdResult = $this->revisionLookup->getLatestRevisionId( $entityId ); - $returnNull = function () { + $returnNull = static function () { return null; }; $resolutionResult = $revisionIdResult - ->onConcreteRevision( function ( $revisionId ) use ( $entityId ) { + ->onConcreteRevision( static function ( $revisionId ) use ( $entityId ) { return [ $revisionId, $entityId ]; } ) ->onNonexistentEntity( $returnNull ) @@ -47,7 +47,7 @@ class RedirectResolvingLatestRevisionLookup { return $this->revisionLookup->getLatestRevisionId( $redirectsTo ) ->onNonexistentEntity( $returnNull ) ->onRedirect( $returnNull ) - ->onConcreteRevision( function ( $revisionId ) use ( $redirectsTo ) { + ->onConcreteRevision( static function ( $revisionId ) use ( $redirectsTo ) { return [ $revisionId, $redirectsTo ]; } ) ->map(); diff --git a/lib/includes/Store/RevisionBasedEntityLookup.php b/lib/includes/Store/RevisionBasedEntityLookup.php index d01df62..5c5cb6f 100644 --- a/lib/includes/Store/RevisionBasedEntityLookup.php +++ b/lib/includes/Store/RevisionBasedEntityLookup.php @@ -63,10 +63,10 @@ class RevisionBasedEntityLookup implements EntityLookup { * @return bool */ public function hasEntity( EntityId $entityId ) { - $returnFalse = function () { + $returnFalse = static function () { return false; }; - $returnTrue = function () { + $returnTrue = static function () { return true; }; @@ -77,7 +77,7 @@ class RevisionBasedEntityLookup implements EntityLookup { ->onConcreteRevision( $returnTrue ) ->onNonexistentEntity( $returnFalse ) // @phan-suppress-next-line PhanPluginNeverReturnFunction - ->onRedirect( function ( $revisionId, EntityId $redirectsTo ) use ( $entityId ) { + ->onRedirect( static function ( $revisionId, EntityId $redirectsTo ) use ( $entityId ) { throw new UnresolvedEntityRedirectException( $entityId, $redirectsTo ); } ) diff --git a/lib/includes/Store/RevisionBasedEntityRedirectTargetLookup.php b/lib/includes/Store/RevisionBasedEntityRedirectTargetLookup.php index f570840..0b838c9 100644 --- a/lib/includes/Store/RevisionBasedEntityRedirectTargetLookup.php +++ b/lib/includes/Store/RevisionBasedEntityRedirectTargetLookup.php @@ -20,7 +20,7 @@ class RevisionBasedEntityRedirectTargetLookup implements EntityRedirectTargetLoo * @inheritDoc */ public function getRedirectForEntityId( EntityId $entityId, $forUpdate = '' ): ?EntityId { - $returnNull = function () { + $returnNull = static function () { return null; }; @@ -31,7 +31,7 @@ class RevisionBasedEntityRedirectTargetLookup implements EntityRedirectTargetLoo return $this->entityRevisionLookup->getLatestRevisionId( $entityId, $lookupMode ) ->onNonexistentEntity( $returnNull ) ->onConcreteRevision( $returnNull ) - ->onRedirect( function ( $revision, EntityId $redirectTarget ) { + ->onRedirect( static function ( $revision, EntityId $redirectTarget ) { return $redirectTarget; } ) ->map(); diff --git a/lib/includes/Store/Sql/SiteLinkTable.php b/lib/includes/Store/Sql/SiteLinkTable.php index 4590a7e..0e3b55b 100644 --- a/lib/includes/Store/Sql/SiteLinkTable.php +++ b/lib/includes/Store/Sql/SiteLinkTable.php @@ -73,7 +73,7 @@ class SiteLinkTable implements SiteLinkStore { return array_udiff( $siteLinks1, $siteLinks2, - function( SiteLink $a, SiteLink $b ) { + static function( SiteLink $a, SiteLink $b ) { $result = strcmp( $a->getSiteId(), $b->getSiteId() ); if ( $result === 0 ) { diff --git a/lib/includes/Store/Sql/Terms/DatabaseTermInLangIdsAcquirer.php b/lib/includes/Store/Sql/Terms/DatabaseTermInLangIdsAcquirer.php index cc245eb..bca2033 100644 --- a/lib/includes/Store/Sql/Terms/DatabaseTermInLangIdsAcquirer.php +++ b/lib/includes/Store/Sql/Terms/DatabaseTermInLangIdsAcquirer.php @@ -118,13 +118,13 @@ class DatabaseTermInLangIdsAcquirer implements TermInLangIdsAcquirer { ) { $texts = []; - array_walk_recursive( $termsArray, function ( $text ) use ( &$texts ) { + array_walk_recursive( $termsArray, static function ( $text ) use ( &$texts ) { $texts[] = $text; } ); $textIds = $this->acquireTextIds( $texts, $textIdsAcquirer ); - array_walk_recursive( $termsArray, function ( &$text ) use ( $textIds ) { + array_walk_recursive( $termsArray, static function ( &$text ) use ( $textIds ) { $text = $textIds[$text]; } ); @@ -354,7 +354,7 @@ class DatabaseTermInLangIdsAcquirer implements TermInLangIdsAcquirer { } return array_map( - function ( $record, $idToRestore ) { + static function ( $record, $idToRestore ) { $record['wbtl_id'] = $idToRestore; return $record; }, diff --git a/lib/includes/Store/Sql/Terms/Util/ReplicaPrimaryAwareRecordIdsAcquirer.php b/lib/includes/Store/Sql/Terms/Util/ReplicaPrimaryAwareRecordIdsAcquirer.php index e4012b7..3e8fcff 100644 --- a/lib/includes/Store/Sql/Terms/Util/ReplicaPrimaryAwareRecordIdsAcquirer.php +++ b/lib/includes/Store/Sql/Terms/Util/ReplicaPrimaryAwareRecordIdsAcquirer.php @@ -244,7 +244,7 @@ class ReplicaPrimaryAwareRecordIdsAcquirer { * @return array */ private function findExistingRecords( IReadableDatabase $db, array $neededRecords ): array { - $recordsSelectConditions = array_map( function ( $record ) use ( $db ) { + $recordsSelectConditions = array_map( static function ( $record ) use ( $db ) { return $db->andExpr( $record ); }, $neededRecords ); diff --git a/lib/includes/Store/Sql/WikiPageEntityMetaDataLookup.php b/lib/includes/Store/Sql/WikiPageEntityMetaDataLookup.php index 6c31589..998deee 100644 --- a/lib/includes/Store/Sql/WikiPageEntityMetaDataLookup.php +++ b/lib/includes/Store/Sql/WikiPageEntityMetaDataLookup.php @@ -284,7 +284,7 @@ class WikiPageEntityMetaDataLookup implements WikiPageEntityMetaDataAccessor { ); return array_map( - function ( $revisionInformation ) { + static function ( $revisionInformation ) { if ( !is_object( $revisionInformation ) ) { return $revisionInformation; } diff --git a/lib/packages/wikibase/changes/src/EntityChange.php b/lib/packages/wikibase/changes/src/EntityChange.php index 7fa8407..0acb5bf 100644 --- a/lib/packages/wikibase/changes/src/EntityChange.php +++ b/lib/packages/wikibase/changes/src/EntityChange.php @@ -178,7 +178,7 @@ class EntityChange extends DiffChange { if ( defined( 'MW_PHPUNIT_TEST' ) ) { array_walk_recursive( $info, - function ( $v ) { + static function ( $v ) { if ( is_object( $v ) ) { throw new UnexpectedValueException( "Refusing to serialize PHP object of type " . get_class( $v ) ); diff --git a/lib/packages/wikibase/changes/tests/EntityChangeTest.php b/lib/packages/wikibase/changes/tests/EntityChangeTest.php index 986f36c..b969e50 100644 --- a/lib/packages/wikibase/changes/tests/EntityChangeTest.php +++ b/lib/packages/wikibase/changes/tests/EntityChangeTest.php @@ -42,13 +42,13 @@ class EntityChangeTest extends ChangeRowTest { $changes = array_filter( TestChanges::getChanges(), - function( EntityChange $change ) use ( $rowClass ) { + static function( EntityChange $change ) use ( $rowClass ) { return is_a( $change, $rowClass ); } ); $cases = array_map( - function( EntityChange $change ) { + static function( EntityChange $change ) { return [ $change ]; }, $changes ); diff --git a/lib/packages/wikibase/changes/tests/ItemChangeTest.php b/lib/packages/wikibase/changes/tests/ItemChangeTest.php index 02371f1..51b091c 100644 --- a/lib/packages/wikibase/changes/tests/ItemChangeTest.php +++ b/lib/packages/wikibase/changes/tests/ItemChangeTest.php @@ -33,12 +33,12 @@ class ItemChangeTest extends EntityChangeTest { public static function itemChangeProvider() { $changes = array_filter( TestChanges::getChanges(), - function( EntityChange $change ) { + static function( EntityChange $change ) { return ( $change instanceof ItemChange ); } ); - $cases = array_map( function( ItemChange $change ) { + $cases = array_map( static function( ItemChange $change ) { return [ $change ]; }, $changes ); diff --git a/lib/packages/wikibase/data-model-serialization/tests/unit/Deserializers/SnakValueDeserializerTest.php b/lib/packages/wikibase/data-model-serialization/tests/unit/Deserializers/SnakValueDeserializerTest.php index 3e8a170..c0bc9c3 100644 --- a/lib/packages/wikibase/data-model-serialization/tests/unit/Deserializers/SnakValueDeserializerTest.php +++ b/lib/packages/wikibase/data-model-serialization/tests/unit/Deserializers/SnakValueDeserializerTest.php @@ -56,7 +56,7 @@ class SnakValueDeserializerTest extends TestCase { public function testGivenBuilderThrows_rethrowsAsDeserializationException(): void { $deserializer = $this->newDeserializer( [ - 'PT:throwy-type' => function () { + 'PT:throwy-type' => static function () { throw new InvalidArgumentException( 'builder unhappy' ); }, ] ); diff --git a/lib/packages/wikibase/data-model/tests/unit/NewItem.php b/lib/packages/wikibase/data-model/tests/unit/NewItem.php index 3559da3..64a1a5c 100644 --- a/lib/packages/wikibase/data-model/tests/unit/NewItem.php +++ b/lib/packages/wikibase/data-model/tests/unit/NewItem.php @@ -187,7 +187,7 @@ class NewItem { public function andSiteLink( $siteId, $pageName, $badges = null ) { $copy = clone $this; if ( $badges !== null ) { - $badges = array_map( function ( $badge ) { + $badges = array_map( static function ( $badge ) { return $badge instanceof ItemId ? $badge : new ItemId( $badge ); }, (array)$badges ); } diff --git a/lib/resources/Resources.php b/lib/resources/Resources.php index 3e72738..81ef4d8 100644 --- a/lib/resources/Resources.php +++ b/lib/resources/Resources.php @@ -17,7 +17,7 @@ use Wikibase\Repo\WikibaseRepo; * * @codeCoverageIgnoreStart */ -return call_user_func( function() { +return call_user_func( static function() { $moduleTemplate = [ 'localBasePath' => __DIR__, 'remoteExtPath' => 'Wikibase/lib/resources', @@ -26,7 +26,7 @@ return call_user_func( function() { $modules = [ 'mw.config.values.wbCurrentSiteDetails' => $moduleTemplate + [ - 'factory' => function () { + 'factory' => static function () { return new CurrentSiteModule( WikibaseSettings::isClientEnabled() ? WikibaseClient::getSettings() : null, WikibaseSettings::isRepoEnabled() ? WikibaseRepo::getSettings() : null, @@ -41,7 +41,7 @@ return call_user_func( function() { ], 'mw.config.values.wbSiteDetails' => $moduleTemplate + [ - 'factory' => function () { + 'factory' => static function () { return new SitesModule( WikibaseSettings::isClientEnabled() ? WikibaseClient::getSettings() : null, WikibaseSettings::isRepoEnabled() ? WikibaseRepo::getSettings() : null, diff --git a/lib/tests/phpunit/DataTypeDefinitionsTest.php b/lib/tests/phpunit/DataTypeDefinitionsTest.php index 58cb5b9..5be8cf8 100644 --- a/lib/tests/phpunit/DataTypeDefinitionsTest.php +++ b/lib/tests/phpunit/DataTypeDefinitionsTest.php @@ -42,7 +42,7 @@ class DataTypeDefinitionsTest extends \PHPUnit\Framework\TestCase { 'PT:bar' => [ 'value-type' => 'BAR', 'formatter-factory-callback' => 'DataTypeDefinitionsTest::getBarFormatter', - 'rdf-data-type' => function () { + 'rdf-data-type' => static function () { return 'acme-test-2'; }, ], diff --git a/lib/tests/phpunit/DataValueFactoryTest.php b/lib/tests/phpunit/DataValueFactoryTest.php index c1cfe67..73256c0 100644 --- a/lib/tests/phpunit/DataValueFactoryTest.php +++ b/lib/tests/phpunit/DataValueFactoryTest.php @@ -21,7 +21,7 @@ class DataValueFactoryTest extends \PHPUnit\Framework\TestCase { public function newInstance() { $deserializer = $this->createMock( Deserializer::class ); $deserializer->method( 'deserialize' ) - ->willReturnCallback( function( array $data ) { + ->willReturnCallback( static function( array $data ) { if ( $data['type'] === 'string' ) { return 'success'; } diff --git a/lib/tests/phpunit/EntityFactoryTest.php b/lib/tests/phpunit/EntityFactoryTest.php index a561030..711b7ff 100644 --- a/lib/tests/phpunit/EntityFactoryTest.php +++ b/lib/tests/phpunit/EntityFactoryTest.php @@ -21,10 +21,10 @@ class EntityFactoryTest extends \PHPUnit\Framework\TestCase { private function getEntityFactory() { $instantiators = [ - 'item' => function() { + 'item' => static function() { return new Item(); }, - 'property' => function() { + 'property' => static function() { return Property::newFromType( 'string' ); }, ]; diff --git a/lib/tests/phpunit/EntityRevisionLookupTestCase.php b/lib/tests/phpunit/EntityRevisionLookupTestCase.php index 733f229..0b5c824 100644 --- a/lib/tests/phpunit/EntityRevisionLookupTestCase.php +++ b/lib/tests/phpunit/EntityRevisionLookupTestCase.php @@ -185,7 +185,7 @@ abstract class EntityRevisionLookupTestCase extends MediaWikiIntegrationTestCase $result = $lookup->getLatestRevisionId( $id ); $gotRevisionId = $result->onRedirect( $shouldNotBeCalled ) ->onNonexistentEntity( $shouldNotBeCalled ) - ->onConcreteRevision( function ( $revId ) { + ->onConcreteRevision( static function ( $revId ) { return $revId; } ) ->map(); @@ -209,7 +209,7 @@ abstract class EntityRevisionLookupTestCase extends MediaWikiIntegrationTestCase $result = $lookup->getLatestRevisionId( $itemId ); $gotRevision = $result->onRedirect( $shouldNotBeCalled ) ->onNonexistentEntity( - function () { + static function () { return 'non-existent'; } ) diff --git a/lib/tests/phpunit/EntityTypesTest.php b/lib/tests/phpunit/EntityTypesTest.php index ac495ed..a6f04d5 100644 --- a/lib/tests/phpunit/EntityTypesTest.php +++ b/lib/tests/phpunit/EntityTypesTest.php @@ -61,7 +61,7 @@ class EntityTypesTest extends \PHPUnit\Framework\TestCase { public static function provideEntityTypes() { return array_map( - function( $entityType ) { + static function( $entityType ) { return [ $entityType ]; }, array_keys( self::getRegistry() ) diff --git a/lib/tests/phpunit/Formatters/BinaryOptionDispatchingSnakFormatterTest.php b/lib/tests/phpunit/Formatters/BinaryOptionDispatchingSnakFormatterTest.php index a008448..da0699a 100644 --- a/lib/tests/phpunit/Formatters/BinaryOptionDispatchingSnakFormatterTest.php +++ b/lib/tests/phpunit/Formatters/BinaryOptionDispatchingSnakFormatterTest.php @@ -110,7 +110,7 @@ class BinaryOptionDispatchingSnakFormatterTest extends \PHPUnit\Framework\TestCa private function getPropertyDataTypeLookup() { $propertyDataTypeLookup = $this->createMock( PropertyDataTypeLookup::class ); $propertyDataTypeLookup->method( 'getDataTypeIdForProperty' ) - ->willReturnCallback( function( NumericPropertyId $propertyId ) { + ->willReturnCallback( static function( NumericPropertyId $propertyId ) { switch ( $propertyId->getSerialization() ) { case 'P1': return 'special'; diff --git a/lib/tests/phpunit/Formatters/DispatchingValueFormatterTest.php b/lib/tests/phpunit/Formatters/DispatchingValueFormatterTest.php index b9c9066..1414d85 100644 --- a/lib/tests/phpunit/Formatters/DispatchingValueFormatterTest.php +++ b/lib/tests/phpunit/Formatters/DispatchingValueFormatterTest.php @@ -61,7 +61,7 @@ class DispatchingValueFormatterTest extends \PHPUnit\Framework\TestCase { } public static function formatProvider() { - $formattersFactory = function ( self $self ) { + $formattersFactory = static function ( self $self ) { $stringFormatter = $self->createMock( ValueFormatter::class ); $stringFormatter->method( 'format' ) ->willReturn( 'VT:string' ); @@ -120,7 +120,7 @@ class DispatchingValueFormatterTest extends \PHPUnit\Framework\TestCase { } public static function formatValueProvider() { - $formattersFactory = function ( self $self ) { + $formattersFactory = static function ( self $self ) { $stringFormatter = $self->createMock( ValueFormatter::class ); $stringFormatter->method( 'format' ) ->willReturn( 'VT:string' ); diff --git a/lib/tests/phpunit/Formatters/FormatterLabelDescriptionLookupFactoryTest.php b/lib/tests/phpunit/Formatters/FormatterLabelDescriptionLookupFactoryTest.php index 44a0dcf..f978656 100644 --- a/lib/tests/phpunit/Formatters/FormatterLabelDescriptionLookupFactoryTest.php +++ b/lib/tests/phpunit/Formatters/FormatterLabelDescriptionLookupFactoryTest.php @@ -56,11 +56,11 @@ class FormatterLabelDescriptionLookupFactoryTest extends \PHPUnit\Framework\Test } public static function provideGetLabelDescriptionLookup() { - $termLookupFactory = function ( self $self ) { + $termLookupFactory = static function ( self $self ) { $termLookup = $self->createMock( TermLookup::class ); $termLookup->method( 'getLabel' ) - ->willReturnCallback( function ( $item, $language ) { + ->willReturnCallback( static function ( $item, $language ) { if ( $language === 'de' ) { return 'Kätzchen'; } @@ -74,7 +74,7 @@ class FormatterLabelDescriptionLookupFactoryTest extends \PHPUnit\Framework\Test return $termLookup; }; - $getDeChChain = function ( self $self ) { + $getDeChChain = static function ( self $self ) { $stubContentLanguages = $self->createStub( ContentLanguages::class ); $stubContentLanguages->method( 'hasLanguage' ) ->willReturn( true ); diff --git a/lib/tests/phpunit/Formatters/GlobeCoordinateDetailsFormatterTest.php b/lib/tests/phpunit/Formatters/GlobeCoordinateDetailsFormatterTest.php index ef915a8..aaaf4d3 100644 --- a/lib/tests/phpunit/Formatters/GlobeCoordinateDetailsFormatterTest.php +++ b/lib/tests/phpunit/Formatters/GlobeCoordinateDetailsFormatterTest.php @@ -26,7 +26,7 @@ class GlobeCoordinateDetailsFormatterTest extends \PHPUnit\Framework\TestCase { private function newFormatter( ?FormatterOptions $options = null ) { $vocabularyUriFormatter = $this->createMock( ValueFormatter::class ); $vocabularyUriFormatter->method( 'format' ) - ->willReturnCallback( function( $value ) { + ->willReturnCallback( static function( $value ) { return preg_match( '@^http://www\.wikidata\.org/entity/(.*)@', $value, $matches ) ? "formatted-globe-{$matches[1]}" : $value; diff --git a/lib/tests/phpunit/Formatters/HtmlExternalIdentifierFormatterTest.php b/lib/tests/phpunit/Formatters/HtmlExternalIdentifierFormatterTest.php index 82b2988..39c9764 100644 --- a/lib/tests/phpunit/Formatters/HtmlExternalIdentifierFormatterTest.php +++ b/lib/tests/phpunit/Formatters/HtmlExternalIdentifierFormatterTest.php @@ -24,11 +24,11 @@ use Wikimedia\Assert\ParameterTypeException; class HtmlExternalIdentifierFormatterTest extends \PHPUnit\Framework\TestCase { public static function provideFormatSnak() { - $formatterUrlExpanderFactory = function ( self $self ) { + $formatterUrlExpanderFactory = static function ( self $self ) { $formatterUrlExpander = $self->createMock( SnakUrlExpander::class ); $formatterUrlExpander->method( 'expandUrl' ) - ->willReturnCallback( function( PropertyValueSnak $snak ) { + ->willReturnCallback( static function( PropertyValueSnak $snak ) { if ( $snak->getPropertyId()->getSerialization() === 'P1' ) { $value = $snak->getDataValue()->getValue(); return 'http://acme.test/stuff/' . wfUrlencode( $value ); diff --git a/lib/tests/phpunit/Formatters/ItemPropertyIdHtmlLinkFormatterTest.php b/lib/tests/phpunit/Formatters/ItemPropertyIdHtmlLinkFormatterTest.php index 8039b16..e2b7967 100644 --- a/lib/tests/phpunit/Formatters/ItemPropertyIdHtmlLinkFormatterTest.php +++ b/lib/tests/phpunit/Formatters/ItemPropertyIdHtmlLinkFormatterTest.php @@ -72,7 +72,7 @@ class ItemPropertyIdHtmlLinkFormatterTest extends MediaWikiIntegrationTestCase { $this->languageNameLookup->method( 'getName' ) ->willReturnCallback( - function ( $languageCode ) use ( &$currentUserLanguage ) { + static function ( $languageCode ) use ( &$currentUserLanguage ) { $languageNamesIn = [ 'en' => [ 'en' => 'English', @@ -475,7 +475,7 @@ class ItemPropertyIdHtmlLinkFormatterTest extends MediaWikiIntegrationTestCase { $this->labelDescriptionLookup->method( 'getLabel' ) ->with( $id ) ->willReturnCallback( - function () use ( + static function () use ( $labelLanguage, $labelText, $testCase @@ -547,16 +547,16 @@ class ItemPropertyIdHtmlLinkFormatterTest extends MediaWikiIntegrationTestCase { $isLocal = true; $isRedirect = false; $prefixedTitleText = $itemId; - $title->method( 'isLocal' )->willReturnCallback( function () use ( &$isLocal ) { + $title->method( 'isLocal' )->willReturnCallback( static function () use ( &$isLocal ) { return $isLocal; } ); - $title->method( 'isRedirect' )->willReturnCallback( function () use ( &$isRedirect ) { + $title->method( 'isRedirect' )->willReturnCallback( static function () use ( &$isRedirect ) { return $isRedirect; } ); $title->method( 'isKnown' )->willReturn( true ); $title->method( 'isRedirect' )->willReturn( false ); $title->method( 'getLocalURL' )->willReturn( $this->itemPageUrl( $itemId ) ); - $title->method( 'getPrefixedText' )->willReturnCallback( function () use ( &$prefixedTitleText ) { + $title->method( 'getPrefixedText' )->willReturnCallback( static function () use ( &$prefixedTitleText ) { return $prefixedTitleText; } ); @@ -623,13 +623,13 @@ class ItemPropertyIdHtmlLinkFormatterTest extends MediaWikiIntegrationTestCase { $title = $this->createMock( Title::class ); $isLocal = true; $prefixedTitleText = $propertyId; - $title->method( 'isLocal' )->willReturnCallback( function () use ( &$isLocal ) { + $title->method( 'isLocal' )->willReturnCallback( static function () use ( &$isLocal ) { return $isLocal; } ); $title->method( 'isKnown' )->willReturn( true ); $title->method( 'isRedirect' )->willReturn( false ); $title->method( 'getLocalURL' )->willReturn( $this->propertyPageUrl( $propertyId ) ); - $title->method( 'getPrefixedText' )->willReturnCallback( function () use ( &$prefixedTitleText ) { + $title->method( 'getPrefixedText' )->willReturnCallback( static function () use ( &$prefixedTitleText ) { return $prefixedTitleText; } ); diff --git a/lib/tests/phpunit/Formatters/LabelsProviderEntityIdHtmlLinkFormatterTest.php b/lib/tests/phpunit/Formatters/LabelsProviderEntityIdHtmlLinkFormatterTest.php index e710b55..314f680 100644 --- a/lib/tests/phpunit/Formatters/LabelsProviderEntityIdHtmlLinkFormatterTest.php +++ b/lib/tests/phpunit/Formatters/LabelsProviderEntityIdHtmlLinkFormatterTest.php @@ -222,7 +222,7 @@ class LabelsProviderEntityIdHtmlLinkFormatterTest extends MediaWikiIntegrationTe $languageNameLookup = $this->createMock( LanguageNameLookup::class ); $languageNameLookup->method( 'getNameForTerms' ) ->willReturnCallback( - function ( $languageCode ) { + static function ( $languageCode ) { $names = [ 'de' => 'Deutsch', 'de-at' => 'Österreichisches Deutsch', diff --git a/lib/tests/phpunit/Formatters/OutputFormatSnakFormatterFactoryTest.php b/lib/tests/phpunit/Formatters/OutputFormatSnakFormatterFactoryTest.php index d6d3e69..538f9ad 100644 --- a/lib/tests/phpunit/Formatters/OutputFormatSnakFormatterFactoryTest.php +++ b/lib/tests/phpunit/Formatters/OutputFormatSnakFormatterFactoryTest.php @@ -62,7 +62,7 @@ class OutputFormatSnakFormatterFactoryTest extends \PHPUnit\Framework\TestCase { $messageInLanguageProvider = $this->createMock( MessageInLanguageProvider::class ); $messageInLanguageProvider->method( 'msgInLang' ) - ->willReturnCallback( function ( $key, $lang, ...$params ) use ( $languageFactory ) { + ->willReturnCallback( static function ( $key, $lang, ...$params ) use ( $languageFactory ) { // ignore $lang, always use qqx return new Message( $key, $params, $languageFactory->getLanguage( 'qqx' ) ); } ); @@ -86,7 +86,7 @@ class OutputFormatSnakFormatterFactoryTest extends \PHPUnit\Framework\TestCase { $mock->method( 'format' ) ->willReturnCallback( - function( DataValue $value ) use ( $format ) { + static function( DataValue $value ) use ( $format ) { return strval( $value->getValue() ) . ' (' . $format . ')'; } ); @@ -104,7 +104,7 @@ class OutputFormatSnakFormatterFactoryTest extends \PHPUnit\Framework\TestCase { $mock->method( 'formatSnak' ) ->willReturnCallback( - function( Snak $snak ) use ( $format ) { + static function( Snak $snak ) use ( $format ) { $s = $snak->getType() . '/' . $snak->getPropertyId(); if ( $snak instanceof PropertyValueSnak ) { diff --git a/lib/tests/phpunit/Formatters/OutputFormatValueFormatterFactoryTest.php b/lib/tests/phpunit/Formatters/OutputFormatValueFormatterFactoryTest.php index 07e65dd..aa3e8d6 100644 --- a/lib/tests/phpunit/Formatters/OutputFormatValueFormatterFactoryTest.php +++ b/lib/tests/phpunit/Formatters/OutputFormatValueFormatterFactoryTest.php @@ -61,10 +61,10 @@ class OutputFormatValueFormatterFactoryTest extends \PHPUnit\Framework\TestCase private function newOutputFormatValueFormatterFactory() { $factoryCallbacks = [ - 'VT:string' => function( $format, FormatterOptions $options ) { + 'VT:string' => static function( $format, FormatterOptions $options ) { return new StringFormatter(); }, - 'PT:url' => function( $format, FormatterOptions $options ) { + 'PT:url' => static function( $format, FormatterOptions $options ) { return new StringFormatter(); }, ]; @@ -168,7 +168,7 @@ class OutputFormatValueFormatterFactoryTest extends \PHPUnit\Framework\TestCase $factory = $this->newOutputFormatValueFormatterFactory(); $factory->setFormatterFactoryCallback( 'VT:wikibase-entityid', - function () { + static function () { return new EntityIdValueFormatter( new PlainEntityIdFormatter() ); } ); diff --git a/lib/tests/phpunit/Formatters/PropertyValueSnakFormatterTest.php b/lib/tests/phpunit/Formatters/PropertyValueSnakFormatterTest.php index 0c88511..a5cdf4e 100644 --- a/lib/tests/phpunit/Formatters/PropertyValueSnakFormatterTest.php +++ b/lib/tests/phpunit/Formatters/PropertyValueSnakFormatterTest.php @@ -142,7 +142,7 @@ class PropertyValueSnakFormatterTest extends \PHPUnit\Framework\TestCase { } public static function formatSnakProvider() { - $dispatchingFormatterFactory = function ( self $self ) { + $dispatchingFormatterFactory = static function ( self $self ) { $formatters = [ 'VT:bad' => new UnDeserializableValueFormatter( new FormatterOptions() ), 'VT:string' => $self->getMockFormatter( 'VT:string' ), diff --git a/lib/tests/phpunit/Formatters/QuantityDetailsFormatterTest.php b/lib/tests/phpunit/Formatters/QuantityDetailsFormatterTest.php index 403ee36..2aef61b 100644 --- a/lib/tests/phpunit/Formatters/QuantityDetailsFormatterTest.php +++ b/lib/tests/phpunit/Formatters/QuantityDetailsFormatterTest.php @@ -28,7 +28,7 @@ class QuantityDetailsFormatterTest extends \PHPUnit\Framework\TestCase { private function newFormatter( ?NumberLocalizer $numberLocalizer = null ) { $vocabularyUriFormatter = $this->createMock( ValueFormatter::class ); $vocabularyUriFormatter->method( 'format' ) - ->willReturnCallback( function( $value ) { + ->willReturnCallback( static function( $value ) { return preg_match( '@^http://www\.wikidata\.org/entity/(.*)@', $value, $matches ) ? $matches[1] : $value; diff --git a/lib/tests/phpunit/Formatters/Reference/DataBridgeReferenceFormatterTest.php b/lib/tests/phpunit/Formatters/Reference/DataBridgeReferenceFormatterTest.php index b7d6866..741c347 100644 --- a/lib/tests/phpunit/Formatters/Reference/DataBridgeReferenceFormatterTest.php +++ b/lib/tests/phpunit/Formatters/Reference/DataBridgeReferenceFormatterTest.php @@ -67,7 +67,7 @@ class DataBridgeReferenceFormatterTest extends TestCase { private function stringSnakFormatter(): SnakFormatter { $snakFormatter = $this->createMock( SnakFormatter::class ); $snakFormatter->method( 'formatSnak' ) - ->willReturnCallback( function ( PropertyValueSnak $snak ) { + ->willReturnCallback( static function ( PropertyValueSnak $snak ) { return (string)$snak->getDataValue()->getValue(); } ); return $snakFormatter; diff --git a/lib/tests/phpunit/Formatters/VocabularyUriFormatterTest.php b/lib/tests/phpunit/Formatters/VocabularyUriFormatterTest.php index 6ca1876..7b15362 100644 --- a/lib/tests/phpunit/Formatters/VocabularyUriFormatterTest.php +++ b/lib/tests/phpunit/Formatters/VocabularyUriFormatterTest.php @@ -40,7 +40,7 @@ class VocabularyUriFormatterTest extends \PHPUnit\Framework\TestCase { public function testFormat( $unit, $expected ) { $labelLookup = $this->createMock( LabelDescriptionLookup::class ); $labelLookup->method( 'getLabel' ) - ->willReturnCallback( function( EntityId $id ) { + ->willReturnCallback( static function( EntityId $id ) { if ( $id->getSerialization() === 'Q112233' ) { throw new LabelDescriptionLookupException( $id, 'No such label!' ); } diff --git a/lib/tests/phpunit/Formatters/WikibaseValueFormatterBuildersTest.php b/lib/tests/phpunit/Formatters/WikibaseValueFormatterBuildersTest.php index 0289ff8..42a41ff 100644 --- a/lib/tests/phpunit/Formatters/WikibaseValueFormatterBuildersTest.php +++ b/lib/tests/phpunit/Formatters/WikibaseValueFormatterBuildersTest.php @@ -78,7 +78,7 @@ class WikibaseValueFormatterBuildersTest extends MediaWikiIntegrationTestCase { $termLookup = $this->createMock( TermLookup::class ); $termLookup->method( 'getLabel' ) - ->willReturnCallback( function ( EntityId $id, $language ) { + ->willReturnCallback( static function ( EntityId $id, $language ) { switch ( $language ) { case 'de': return 'Name für ' . $id->getSerialization(); @@ -88,7 +88,7 @@ class WikibaseValueFormatterBuildersTest extends MediaWikiIntegrationTestCase { } ); $termLookup->method( 'getLabels' ) - ->willReturnCallback( function( EntityId $id ) { + ->willReturnCallback( static function( EntityId $id ) { return [ 'de' => 'Name für ' . $id->getSerialization(), 'en' => 'Label for ' . $id->getSerialization(), @@ -104,13 +104,13 @@ class WikibaseValueFormatterBuildersTest extends MediaWikiIntegrationTestCase { $urlLookup = $this->createMock( EntityUrlLookup::class ); $urlLookup->method( 'getLinkUrl' ) - ->willReturnCallback( function ( EntityId $id ) { + ->willReturnCallback( static function ( EntityId $id ) { return '/wiki/' . $id->getSerialization(); } ); $redirectResolvingLatestRevisionLookup = $this->createStub( RedirectResolvingLatestRevisionLookup::class ); $redirectResolvingLatestRevisionLookup->method( 'lookupLatestRevisionResolvingRedirect' ) - ->willReturnCallback( function ( EntityId $id ) { + ->willReturnCallback( static function ( EntityId $id ) { return [ 123, // some non-null revision id $id, @@ -180,7 +180,7 @@ class WikibaseValueFormatterBuildersTest extends MediaWikiIntegrationTestCase { $titleLookup->method( 'getTitleForId' ) ->willReturnCallback( - function ( EntityId $id ) { + static function ( EntityId $id ) { return Title::makeTitle( NS_MAIN, $id->getSerialization() ); } ); diff --git a/lib/tests/phpunit/Formatters/WikitextExternalIdentifierFormatterTest.php b/lib/tests/phpunit/Formatters/WikitextExternalIdentifierFormatterTest.php index 6f4df25..fa39893 100644 --- a/lib/tests/phpunit/Formatters/WikitextExternalIdentifierFormatterTest.php +++ b/lib/tests/phpunit/Formatters/WikitextExternalIdentifierFormatterTest.php @@ -24,10 +24,10 @@ use Wikimedia\Assert\ParameterTypeException; class WikitextExternalIdentifierFormatterTest extends \PHPUnit\Framework\TestCase { public static function provideFormatSnak() { - $formatterUrlExpanderFactory = function ( self $self ) { + $formatterUrlExpanderFactory = static function ( self $self ) { $expander = $self->createMock( SnakUrlExpander::class ); $expander->method( 'expandUrl' ) - ->willReturnCallback( function ( PropertyValueSnak $snak ) { + ->willReturnCallback( static function ( PropertyValueSnak $snak ) { $value = $snak->getDataValue()->getValue(); switch ( $snak->getPropertyId()->getSerialization() ) { diff --git a/lib/tests/phpunit/Interactors/MatchingTermsLookupSearchInteractorTest.php b/lib/tests/phpunit/Interactors/MatchingTermsLookupSearchInteractorTest.php index 6ed971f..1e936ec 100644 --- a/lib/tests/phpunit/Interactors/MatchingTermsLookupSearchInteractorTest.php +++ b/lib/tests/phpunit/Interactors/MatchingTermsLookupSearchInteractorTest.php @@ -84,7 +84,7 @@ class MatchingTermsLookupSearchInteractorTest extends \PHPUnit\Framework\TestCas private function getMockPrefetchingTermLookup() { $mock = $this->createMock( PrefetchingTermLookup::class ); $mock->method( 'getLabels' ) - ->willReturnCallback( function( EntityId $entityId, $languageCodes ) { + ->willReturnCallback( static function( EntityId $entityId, $languageCodes ) { $labels = []; foreach ( $languageCodes as $languageCode ) { $labels[$languageCode] = 'label-' . $languageCode . '-' . $entityId->getSerialization(); @@ -93,7 +93,7 @@ class MatchingTermsLookupSearchInteractorTest extends \PHPUnit\Framework\TestCas } ); $mock->method( 'getDescriptions' ) - ->willReturnCallback( function( EntityId $entityId, $languageCodes ) { + ->willReturnCallback( static function( EntityId $entityId, $languageCodes ) { $descriptions = []; foreach ( $languageCodes as $languageCode ) { $descriptions[$languageCode] = @@ -129,14 +129,14 @@ class MatchingTermsLookupSearchInteractorTest extends \PHPUnit\Framework\TestCas public function getMockLanguageFallbackChainFromLanguage( $langCode ) { $mockFallbackChain = $this->createMock( TermLanguageFallbackChain::class ); $mockFallbackChain->method( 'getFetchLanguageCodes' ) - ->willReturnCallback( function () use( $langCode ) { + ->willReturnCallback( static function () use( $langCode ) { if ( $langCode === 'en-gb' || $langCode === 'en-ca' ) { return [ $langCode, 'en' ]; } return [ $langCode ]; // no fallback for everything else... } ); $mockFallbackChain->method( 'extractPreferredValue' ) - ->willReturnCallback( function( $data ) { + ->willReturnCallback( static function( $data ) { foreach ( $data as $languageCode => $value ) { return [ 'value' => $value, diff --git a/lib/tests/phpunit/LanguageFallbackChainFactoryTest.php b/lib/tests/phpunit/LanguageFallbackChainFactoryTest.php index 1dc4e02..6ba313a 100644 --- a/lib/tests/phpunit/LanguageFallbackChainFactoryTest.php +++ b/lib/tests/phpunit/LanguageFallbackChainFactoryTest.php @@ -38,14 +38,14 @@ class LanguageFallbackChainFactoryTest extends MediaWikiIntegrationTestCase { */ private function assertChainEquals( array $expectedItems, array $chain ) { // format both chains into a string for a nice message in case of assertion failure - $expectedChain = implode( ',', array_map( function ( $expected ) { + $expectedChain = implode( ',', array_map( static function ( $expected ) { if ( is_array( $expected ) ) { return "{$expected[0]}({$expected[1]})"; } else { return $expected; } }, $expectedItems ) ); - $actualChain = implode( ',', array_map( function ( LanguageWithConversion $actual ) { + $actualChain = implode( ',', array_map( static function ( LanguageWithConversion $actual ) { if ( $actual->getSourceLanguageCode() === null ) { return $actual->getLanguageCode(); } else { diff --git a/lib/tests/phpunit/LanguageFallbackIndicatorTest.php b/lib/tests/phpunit/LanguageFallbackIndicatorTest.php index 7dfaa65..2b02c77 100644 --- a/lib/tests/phpunit/LanguageFallbackIndicatorTest.php +++ b/lib/tests/phpunit/LanguageFallbackIndicatorTest.php @@ -21,7 +21,7 @@ class LanguageFallbackIndicatorTest extends \PHPUnit\Framework\TestCase { private function getIndicator() { $languageNameLookup = $this->createMock( LanguageNameLookup::class ); $languageNameLookup->method( 'getNameForTerms' ) - ->willReturnCallback( function( $languageCode ) { + ->willReturnCallback( static function( $languageCode ) { $names = [ 'de' => 'Deutsch', 'de-at' => 'Österreichisches Deutsch', diff --git a/lib/tests/phpunit/MockRepositoryTest.php b/lib/tests/phpunit/MockRepositoryTest.php index 8557bf4..574c39b 100644 --- a/lib/tests/phpunit/MockRepositoryTest.php +++ b/lib/tests/phpunit/MockRepositoryTest.php @@ -691,7 +691,7 @@ class MockRepositoryTest extends TestCase { ->onNonexistentEntity( $failTest ) ->onConcreteRevision( $failTest ) ->onRedirect( - function ( $revisionId, $targetId ) { + static function ( $revisionId, $targetId ) { return [ $revisionId, $targetId ]; } ) diff --git a/lib/tests/phpunit/Modules/CurrentSiteModuleTest.php b/lib/tests/phpunit/Modules/CurrentSiteModuleTest.php index f9b9ccf..84e376e 100644 --- a/lib/tests/phpunit/Modules/CurrentSiteModuleTest.php +++ b/lib/tests/phpunit/Modules/CurrentSiteModuleTest.php @@ -30,7 +30,7 @@ class CurrentSiteModuleTest extends \PHPUnit\Framework\TestCase { private function getContext(): Context { $context = $this->createMock( Context::class ); $context->method( 'msg' ) - ->willReturnCallback( function ( $key ) { + ->willReturnCallback( static function ( $key ) { return new RawMessage( "($key)" ); } ); diff --git a/lib/tests/phpunit/Modules/DataTypesModuleTest.php b/lib/tests/phpunit/Modules/DataTypesModuleTest.php index f8f1011..d8821f6 100644 --- a/lib/tests/phpunit/Modules/DataTypesModuleTest.php +++ b/lib/tests/phpunit/Modules/DataTypesModuleTest.php @@ -22,7 +22,7 @@ class DataTypesModuleTest extends \PHPUnit\Framework\TestCase { $validResourceDefinitions = [ [ 'datatypesconfigvarname' => 'foo', - 'datatypefactory' => function() { + 'datatypefactory' => static function() { return new DataTypeFactory( [] ); }, ], @@ -49,7 +49,7 @@ class DataTypesModuleTest extends \PHPUnit\Framework\TestCase { $validDefinition = [ 'datatypesconfigvarname' => 'foo', - 'datatypefactory' => function() { + 'datatypefactory' => static function() { return new DataTypeFactory( [] ); }, ]; @@ -84,7 +84,7 @@ class DataTypesModuleTest extends \PHPUnit\Framework\TestCase { array_merge( $validDefinition, [ - 'datatypefactory' => function() { + 'datatypefactory' => static function() { return null; }, ] diff --git a/lib/tests/phpunit/Modules/SitesModuleTest.php b/lib/tests/phpunit/Modules/SitesModuleTest.php index 1586cc9..6497b30 100644 --- a/lib/tests/phpunit/Modules/SitesModuleTest.php +++ b/lib/tests/phpunit/Modules/SitesModuleTest.php @@ -30,7 +30,7 @@ class SitesModuleTest extends \PHPUnit\Framework\TestCase { private function getContext(): Context { $context = $this->createMock( Context::class ); $context->method( 'msg' ) - ->willReturnCallback( function ( $key ) { + ->willReturnCallback( static function ( $key ) { return new RawMessage( "($key)" ); } ); diff --git a/lib/tests/phpunit/ParserFunctions/CommaSeparatedListTest.php b/lib/tests/phpunit/ParserFunctions/CommaSeparatedListTest.php index 515e2dc..4068542 100644 --- a/lib/tests/phpunit/ParserFunctions/CommaSeparatedListTest.php +++ b/lib/tests/phpunit/ParserFunctions/CommaSeparatedListTest.php @@ -25,7 +25,7 @@ class CommaSeparatedListTest extends \PHPUnit\Framework\TestCase { public function testHandle() { $language = $this->createMock( Language::class ); - $language->method( 'commaList' )->willReturnCallback( function ( $words ) { + $language->method( 'commaList' )->willReturnCallback( static function ( $words ) { return implode( ', ', $words ); } ); $parser = $this->createMock( Parser::class ); diff --git a/lib/tests/phpunit/Serialization/CallbackFactoryTest.php b/lib/tests/phpunit/Serialization/CallbackFactoryTest.php index e63b712..4e1b4d3 100644 --- a/lib/tests/phpunit/Serialization/CallbackFactoryTest.php +++ b/lib/tests/phpunit/Serialization/CallbackFactoryTest.php @@ -94,7 +94,7 @@ class CallbackFactoryTest extends \PHPUnit\Framework\TestCase { $parser = $this->createMock( EntityIdParser::class ); $parser->expects( $this->once() ) ->method( 'parse' ) - ->willReturnCallback( function ( string $id ) { + ->willReturnCallback( static function ( string $id ) { return new NumericPropertyId( $id ); } ); diff --git a/lib/tests/phpunit/Serialization/SerializationModifierTest.php b/lib/tests/phpunit/Serialization/SerializationModifierTest.php index abfa4c4..6253413 100644 --- a/lib/tests/phpunit/Serialization/SerializationModifierTest.php +++ b/lib/tests/phpunit/Serialization/SerializationModifierTest.php @@ -25,7 +25,7 @@ class SerializationModifierTest extends \PHPUnit\Framework\TestCase { return [ [ '', - function( $value ) { + static function( $value ) { $value['foo'] = 'bar'; return $value; }, @@ -34,7 +34,7 @@ class SerializationModifierTest extends \PHPUnit\Framework\TestCase { ], [ 'foo/*', - function( $value ) { + static function( $value ) { if ( isset( $value['a'] ) ) { unset( $value['a'] ); $value['removed'] = true; @@ -57,7 +57,7 @@ class SerializationModifierTest extends \PHPUnit\Framework\TestCase { ], [ 'entities/*/claims/*/*/references/*/snaks/*/type', - function( $value ) { + static function( $value ) { if ( $value === 'bar' ) { $value = 'BAR'; } @@ -191,11 +191,11 @@ class SerializationModifierTest extends \PHPUnit\Framework\TestCase { } public static function provideCallbacks(): iterable { - $typeEntityCallback = function ( $value ) { + $typeEntityCallback = static function ( $value ) { $value['type'] = 'entity'; return $value; }; - $typeLabelCallback = function ( $value ) { + $typeLabelCallback = static function ( $value ) { $value['type'] = 'label'; return $value; }; diff --git a/lib/tests/phpunit/ServiceBySourceAndTypeDispatcherTest.php b/lib/tests/phpunit/ServiceBySourceAndTypeDispatcherTest.php index 5479125..2e7a07e 100644 --- a/lib/tests/phpunit/ServiceBySourceAndTypeDispatcherTest.php +++ b/lib/tests/phpunit/ServiceBySourceAndTypeDispatcherTest.php @@ -39,7 +39,7 @@ class ServiceBySourceAndTypeDispatcherTest extends TestCase { } private static function getSomeServiceReturningCallback( $fakeServiceToReturn = null ) { - return function () use ( $fakeServiceToReturn ) { + return static function () use ( $fakeServiceToReturn ) { return $fakeServiceToReturn ?? new stdClass(); }; } diff --git a/lib/tests/phpunit/ServiceByTypeDispatcherTest.php b/lib/tests/phpunit/ServiceByTypeDispatcherTest.php index 025e79b..009b6df 100644 --- a/lib/tests/phpunit/ServiceByTypeDispatcherTest.php +++ b/lib/tests/phpunit/ServiceByTypeDispatcherTest.php @@ -27,7 +27,7 @@ class ServiceByTypeDispatcherTest extends TestCase { } private static function getSomeServiceReturningCallback( $fakeServiceToReturn = null ) { - return function () use ( $fakeServiceToReturn ) { + return static function () use ( $fakeServiceToReturn ) { return $fakeServiceToReturn ?? new stdClass(); }; } diff --git a/lib/tests/phpunit/SimpleCacheTestCase.php b/lib/tests/phpunit/SimpleCacheTestCase.php index b4be5ae..7375c63 100644 --- a/lib/tests/phpunit/SimpleCacheTestCase.php +++ b/lib/tests/phpunit/SimpleCacheTestCase.php @@ -283,7 +283,7 @@ abstract class SimpleCacheTestCase extends TestCase { $this->markTestSkipped( $this->skippedTests[__FUNCTION__] ); } - $gen = function () { + $gen = static function () { yield 'key0' => 'value0'; yield 'key1' => 'value1'; }; @@ -327,7 +327,7 @@ abstract class SimpleCacheTestCase extends TestCase { $this->markTestSkipped( $this->skippedTests[__FUNCTION__] ); } - $gen = function () { + $gen = static function () { yield 1 => 'key0'; yield 1 => 'key1'; }; @@ -371,7 +371,7 @@ abstract class SimpleCacheTestCase extends TestCase { $this->markTestSkipped( $this->skippedTests[__FUNCTION__] ); } - $gen = function () { + $gen = static function () { yield 1 => 'key0'; yield 1 => 'key1'; }; @@ -463,7 +463,7 @@ abstract class SimpleCacheTestCase extends TestCase { $this->markTestSkipped( $this->skippedTests[__FUNCTION__] ); } - $values = function () use ( $key ) { + $values = static function () use ( $key ) { yield 'key1' => 'foo'; yield $key => 'bar'; yield 'key2' => 'baz'; diff --git a/lib/tests/phpunit/SourceDispatchingPropertyDataTypeLookupTest.php b/lib/tests/phpunit/SourceDispatchingPropertyDataTypeLookupTest.php index 898d2e3..84945f3 100644 --- a/lib/tests/phpunit/SourceDispatchingPropertyDataTypeLookupTest.php +++ b/lib/tests/phpunit/SourceDispatchingPropertyDataTypeLookupTest.php @@ -54,7 +54,7 @@ class SourceDispatchingPropertyDataTypeLookupTest extends TestCase { ->willReturn( $dataTypeId ); $this->lookupCallbacks = [ - $propertySourceName => function () use ( $propertyDataTypeLookup ) { + $propertySourceName => static function () use ( $propertyDataTypeLookup ) { return $propertyDataTypeLookup; }, ]; @@ -78,7 +78,7 @@ class SourceDispatchingPropertyDataTypeLookupTest extends TestCase { $calls = 0; $this->lookupCallbacks = [ - $propertySourceName => function () use ( &$calls, $propertyDataTypeLookup ) { + $propertySourceName => static function () use ( &$calls, $propertyDataTypeLookup ) { $calls++; return $propertyDataTypeLookup; }, diff --git a/lib/tests/phpunit/StatsdRecordingSimpleCacheTest.php b/lib/tests/phpunit/StatsdRecordingSimpleCacheTest.php index 554bf89..c89c59c 100644 --- a/lib/tests/phpunit/StatsdRecordingSimpleCacheTest.php +++ b/lib/tests/phpunit/StatsdRecordingSimpleCacheTest.php @@ -30,7 +30,7 @@ class StatsdRecordingSimpleCacheTest extends \PHPUnit\Framework\TestCase { $innerCache->expects( $this->once() ) ->method( 'get' ) ->with( 'nonexistingkey' ) - ->willReturnCallback( function( $a, $default ) { + ->willReturnCallback( static function( $a, $default ) { return $default; } ); @@ -62,7 +62,7 @@ class StatsdRecordingSimpleCacheTest extends \PHPUnit\Framework\TestCase { $innerCache->expects( $this->once() ) ->method( 'getMultiple' ) ->with( [ 'key', 'key1', 'key2' ] ) - ->willReturnCallback( function( $a, $default ) { + ->willReturnCallback( static function( $a, $default ) { return [ 'key' => 'cachedValue', 'key1' => $default, 'key2' => $default ]; } ); @@ -114,7 +114,7 @@ class StatsdRecordingSimpleCacheTest extends \PHPUnit\Framework\TestCase { $innerCache->expects( $this->once() ) ->method( 'getMultiple' ) ->with( [ 'key1', 'key2' ] ) - ->willReturnCallback( function( $a, $default ) { + ->willReturnCallback( static function( $a, $default ) { return [ 'key1' => 'cachehit', 'key2' => $default ]; } ); diff --git a/lib/tests/phpunit/Store/CacheRetrievingEntityRevisionLookupTest.php b/lib/tests/phpunit/Store/CacheRetrievingEntityRevisionLookupTest.php index 99ff819..3d3f447 100644 --- a/lib/tests/phpunit/Store/CacheRetrievingEntityRevisionLookupTest.php +++ b/lib/tests/phpunit/Store/CacheRetrievingEntityRevisionLookupTest.php @@ -156,7 +156,7 @@ class CacheRetrievingEntityRevisionLookupTest extends EntityRevisionLookupTestCa return $result->onNonexistentEntity( $shouldNotBeCalled ) ->onRedirect( $shouldNotBeCalled ) - ->onConcreteRevision( function ( $revId ) { + ->onConcreteRevision( static function ( $revId ) { return $revId; } ) ->map(); diff --git a/lib/tests/phpunit/Store/CachingEntityRevisionLookupTest.php b/lib/tests/phpunit/Store/CachingEntityRevisionLookupTest.php index e3decd1..2090347 100644 --- a/lib/tests/phpunit/Store/CachingEntityRevisionLookupTest.php +++ b/lib/tests/phpunit/Store/CachingEntityRevisionLookupTest.php @@ -257,7 +257,7 @@ class CachingEntityRevisionLookupTest extends EntityRevisionLookupTestCase { return $result->onNonexistentEntity( $shouldNotBeCalled ) ->onRedirect( $shouldNotBeCalled ) - ->onConcreteRevision( function ( $revId ) { + ->onConcreteRevision( static function ( $revId ) { return $revId; } ) ->map(); diff --git a/lib/tests/phpunit/Store/EntityLinkTargetEntityIdLookupTest.php b/lib/tests/phpunit/Store/EntityLinkTargetEntityIdLookupTest.php index 921ddaa..c6fec03 100644 --- a/lib/tests/phpunit/Store/EntityLinkTargetEntityIdLookupTest.php +++ b/lib/tests/phpunit/Store/EntityLinkTargetEntityIdLookupTest.php @@ -81,7 +81,7 @@ class EntityLinkTargetEntityIdLookupTest extends TestCase { private function getMockEntityNamespaceLookupWhere111IsItemNamespace() { $mock = $this->createMock( EntityNamespaceLookup::class ); $mock->method( 'getEntityType' )->willReturnCallback( - function ( $namespace ) { + static function ( $namespace ) { return $namespace === self::ITEM_NAMESPACE ? 'item' : 'otherEntityType'; } ); @@ -91,7 +91,7 @@ class EntityLinkTargetEntityIdLookupTest extends TestCase { private function newMockEntityIdParserForId( EntityId $id ) { $mock = $this->createMock( EntityIdParser::class ); $mock->method( 'parse' )->willReturnCallback( - function ( $toParse ) use ( $id ) { + static function ( $toParse ) use ( $id ) { if ( $toParse !== $id->getSerialization() ) { throw new EntityIdParsingException( 'mock' ); } diff --git a/lib/tests/phpunit/Store/LanguageFallbackLabelDescriptionLookupTest.php b/lib/tests/phpunit/Store/LanguageFallbackLabelDescriptionLookupTest.php index 517580c..924334a 100644 --- a/lib/tests/phpunit/Store/LanguageFallbackLabelDescriptionLookupTest.php +++ b/lib/tests/phpunit/Store/LanguageFallbackLabelDescriptionLookupTest.php @@ -99,7 +99,7 @@ class LanguageFallbackLabelDescriptionLookupTest extends MediaWikiIntegrationTes $languageFallbackChain = $this->createMock( TermLanguageFallbackChain::class ); $languageFallbackChain->method( 'extractPreferredValue' ) - ->willReturnCallback( function( array $fallbackData ) use ( $languageCode ) { + ->willReturnCallback( static function( array $fallbackData ) use ( $languageCode ) { if ( $languageCode === 'zh' && array_key_exists( 'zh-cn', $fallbackData ) ) { return [ 'value' => 'fallbackterm', 'language' => 'zh-cn', 'source' => 'zh-xy' ]; } else { @@ -108,7 +108,7 @@ class LanguageFallbackLabelDescriptionLookupTest extends MediaWikiIntegrationTes } ); $languageFallbackChain->method( 'getFetchLanguageCodes' ) - ->willReturnCallback( function() use ( $languageCode ) { + ->willReturnCallback( static function() use ( $languageCode ) { if ( $languageCode === 'zh' ) { return [ 'zh', 'zh-cn', 'zh-xy' ]; } else { diff --git a/lib/tests/phpunit/Store/LatestRevisionIdResultTest.php b/lib/tests/phpunit/Store/LatestRevisionIdResultTest.php index 9efb3dd..500d416 100644 --- a/lib/tests/phpunit/Store/LatestRevisionIdResultTest.php +++ b/lib/tests/phpunit/Store/LatestRevisionIdResultTest.php @@ -23,7 +23,7 @@ class LatestRevisionIdResultTest extends TestCase { } public function testOnNonexistentEntity_SomeHandlerGiven_ReturnsNewInstanceOfResult() { - $noop = function () { + $noop = static function () { }; $initialResult = LatestRevisionIdResult::nonexistentEntity(); @@ -33,7 +33,7 @@ class LatestRevisionIdResultTest extends TestCase { } public function testOnConcreteRevision_SomeHandlerGiven_ReturnsNewInstanceOfResult() { - $noop = function () { + $noop = static function () { }; $initialResult = LatestRevisionIdResult::nonexistentEntity(); @@ -43,7 +43,7 @@ class LatestRevisionIdResultTest extends TestCase { } public function testRedirect_SomeHandlerGiven_ReturnsNewInstanceOfResult() { - $noop = function () { + $noop = static function () { }; $initialResult = LatestRevisionIdResult::nonexistentEntity(); @@ -60,7 +60,7 @@ class LatestRevisionIdResultTest extends TestCase { $result = $nonexistentEntity->onConcreteRevision( $shouldNotBeCalled ) ->onRedirect( $shouldNotBeCalled ) - ->onNonexistentEntity( function () { + ->onNonexistentEntity( static function () { return 'nonexistent'; } ) ->map(); @@ -78,7 +78,7 @@ class LatestRevisionIdResultTest extends TestCase { $result = $redirectResult->onConcreteRevision( $shouldNotBeCalled ) ->onNonexistentEntity( $shouldNotBeCalled ) - ->onRedirect( function () { + ->onRedirect( static function () { return 'redirect'; } ) ->map(); @@ -94,7 +94,7 @@ class LatestRevisionIdResultTest extends TestCase { $result = $concreteRevisionResult->onRedirect( $shouldNotBeCalled ) ->onNonexistentEntity( $shouldNotBeCalled ) - ->onConcreteRevision( function () { + ->onConcreteRevision( static function () { return 'concrete revision'; } ) ->map(); diff --git a/lib/tests/phpunit/Store/MatchingTermsLookupFactoryTest.php b/lib/tests/phpunit/Store/MatchingTermsLookupFactoryTest.php index 765d621..4de4147 100644 --- a/lib/tests/phpunit/Store/MatchingTermsLookupFactoryTest.php +++ b/lib/tests/phpunit/Store/MatchingTermsLookupFactoryTest.php @@ -91,7 +91,7 @@ class MatchingTermsLookupFactoryTest extends MediaWikiIntegrationTestCase { public function testReturnsWorkingLookup() { $factory = new MatchingTermsLookupFactory( new EntityIdComposer( [ - Item::ENTITY_TYPE => function( $uniquePartOfId ) { + Item::ENTITY_TYPE => static function( $uniquePartOfId ) { return new ItemId( 'Q' . $uniquePartOfId ); }, ] ), @@ -112,7 +112,7 @@ class MatchingTermsLookupFactoryTest extends MediaWikiIntegrationTestCase { ] ); $actual = $matchingTermsLookup->getMatchingTerms( [ $criteria ] ); - $results = array_map( function ( TermIndexEntry $entry ) { + $results = array_map( static function ( TermIndexEntry $entry ) { return $entry->getEntityId()->getSerialization(); }, $actual ); diff --git a/lib/tests/phpunit/Store/PrefetchingWikiPageEntityMetaDataAccessorTest.php b/lib/tests/phpunit/Store/PrefetchingWikiPageEntityMetaDataAccessorTest.php index f3fe2df..99529bf 100644 --- a/lib/tests/phpunit/Store/PrefetchingWikiPageEntityMetaDataAccessorTest.php +++ b/lib/tests/phpunit/Store/PrefetchingWikiPageEntityMetaDataAccessorTest.php @@ -144,7 +144,7 @@ class PrefetchingWikiPageEntityMetaDataAccessorTest extends \PHPUnit\Framework\T $lookup = $this->createMock( WikiPageEntityMetaDataAccessor::class ); $lookup->expects( $this->exactly( 3 ) ) ->method( 'loadRevisionInformation' ) - ->willReturnCallback( function( array $entityIds, $mode ) { + ->willReturnCallback( static function( array $entityIds, $mode ) { $ret = []; /** diff --git a/lib/tests/phpunit/Store/RevisionBasedEntityLookupTest.php b/lib/tests/phpunit/Store/RevisionBasedEntityLookupTest.php index 39b7986..28279d1 100644 --- a/lib/tests/phpunit/Store/RevisionBasedEntityLookupTest.php +++ b/lib/tests/phpunit/Store/RevisionBasedEntityLookupTest.php @@ -55,7 +55,7 @@ class RevisionBasedEntityLookupTest extends \PHPUnit\Framework\TestCase { public static function hasEntityProvider() { $cases = self::getEntityProvider(); - $cases = array_map( function( $case ) { + $cases = array_map( static function( $case ) { // true if set an id is expected, false otherwise. $case[2] = $case[2] !== null; diff --git a/lib/tests/phpunit/Store/Sql/PropertyInfoTableTest.php b/lib/tests/phpunit/Store/Sql/PropertyInfoTableTest.php index f987fd3..168eca4 100644 --- a/lib/tests/phpunit/Store/Sql/PropertyInfoTableTest.php +++ b/lib/tests/phpunit/Store/Sql/PropertyInfoTableTest.php @@ -197,7 +197,7 @@ class PropertyInfoTableTest extends MediaWikiIntegrationTestCase { private function getEntityComposer() { return new EntityIdComposer( [ - Property::ENTITY_TYPE => function( $uniquePart ) { + Property::ENTITY_TYPE => static function( $uniquePart ) { return new NumericPropertyId( 'P' . $uniquePart ); }, ] ); diff --git a/lib/tests/phpunit/Store/Sql/Terms/DatabaseInnerTermStoreCleanerTest.php b/lib/tests/phpunit/Store/Sql/Terms/DatabaseInnerTermStoreCleanerTest.php index 3229acd..08514b5 100644 --- a/lib/tests/phpunit/Store/Sql/Terms/DatabaseInnerTermStoreCleanerTest.php +++ b/lib/tests/phpunit/Store/Sql/Terms/DatabaseInnerTermStoreCleanerTest.php @@ -262,7 +262,7 @@ class DatabaseInnerTermStoreCleanerTest extends MediaWikiIntegrationTestCase { ->select( $field ) ->from( $table ) ->assertResultSet( array_map( - function( $element ) { + static function( $element ) { return [ $element ]; }, $elements diff --git a/lib/tests/phpunit/Store/Sql/Terms/DatabaseMatchingTermsLookupTest.php b/lib/tests/phpunit/Store/Sql/Terms/DatabaseMatchingTermsLookupTest.php index 0cc76fe..9ac48e4 100644 --- a/lib/tests/phpunit/Store/Sql/Terms/DatabaseMatchingTermsLookupTest.php +++ b/lib/tests/phpunit/Store/Sql/Terms/DatabaseMatchingTermsLookupTest.php @@ -212,10 +212,10 @@ class DatabaseMatchingTermsLookupTest extends MediaWikiIntegrationTestCase { ); $composer = new EntityIdComposer( [ - 'item' => function ( $uniquePart ) { + 'item' => static function ( $uniquePart ) { return new ItemId( 'Q' . $uniquePart ); }, - 'property' => function ( $uniquePart ) { + 'property' => static function ( $uniquePart ) { return new NumericPropertyId( 'P' . $uniquePart ); }, ] ); diff --git a/lib/tests/phpunit/Store/Sql/Terms/DatabaseTermInLangIdsAcquirerTest.php b/lib/tests/phpunit/Store/Sql/Terms/DatabaseTermInLangIdsAcquirerTest.php index 756cb30..65e88ca 100644 --- a/lib/tests/phpunit/Store/Sql/Terms/DatabaseTermInLangIdsAcquirerTest.php +++ b/lib/tests/phpunit/Store/Sql/Terms/DatabaseTermInLangIdsAcquirerTest.php @@ -262,7 +262,7 @@ class DatabaseTermInLangIdsAcquirerTest extends TestCase { 1, array_filter( $acquiredTermIds, - function ( $id ) use ( $labelEnSameTermInLangId ) { + static function ( $id ) use ( $labelEnSameTermInLangId ) { return $id === $labelEnSameTermInLangId; } ) @@ -271,7 +271,7 @@ class DatabaseTermInLangIdsAcquirerTest extends TestCase { 2, array_filter( $acquiredTermIds, - function ( $id ) use ( $aliasEnSameTermInLangId ) { + static function ( $id ) use ( $aliasEnSameTermInLangId ) { return $id === $aliasEnSameTermInLangId; } ) diff --git a/lib/tests/phpunit/Store/Sql/Terms/DatabaseTermStoreWriterTestGetTermsTrait.php b/lib/tests/phpunit/Store/Sql/Terms/DatabaseTermStoreWriterTestGetTermsTrait.php index 097c91c..53f54c4 100644 --- a/lib/tests/phpunit/Store/Sql/Terms/DatabaseTermStoreWriterTestGetTermsTrait.php +++ b/lib/tests/phpunit/Store/Sql/Terms/DatabaseTermStoreWriterTestGetTermsTrait.php @@ -66,19 +66,19 @@ trait DatabaseTermStoreWriterTestGetTermsTrait { return new Fingerprint( new TermList( array_map( - function ( $language, $labels ) { + static function ( $language, $labels ) { return new Term( $language, $labels[0] ); }, array_keys( $labels ), $labels ) ), new TermList( array_map( - function ( $language, $descriptions ) { + static function ( $language, $descriptions ) { return new Term( $language, $descriptions[0] ); }, array_keys( $descriptions ), $descriptions ) ), new AliasGroupList( array_map( - function ( $language, $aliases ) { + static function ( $language, $aliases ) { return new AliasGroup( $language, $aliases ); }, array_keys( $aliases ), $aliases diff --git a/lib/tests/phpunit/Store/Sql/Terms/TermInLangIdsResolverFactoryTest.php b/lib/tests/phpunit/Store/Sql/Terms/TermInLangIdsResolverFactoryTest.php index b44103f..58dfce1 100644 --- a/lib/tests/phpunit/Store/Sql/Terms/TermInLangIdsResolverFactoryTest.php +++ b/lib/tests/phpunit/Store/Sql/Terms/TermInLangIdsResolverFactoryTest.php @@ -92,7 +92,7 @@ class TermInLangIdsResolverFactoryTest extends MediaWikiIntegrationTestCase { } public function testReturnsWorkingResolver(): void { - $expectedTerms = array_map( function ( string $label ): array { + $expectedTerms = array_map( static function ( string $label ): array { return [ $label ]; }, self::MOCK_LANG_LABELS ); diff --git a/lib/tests/phpunit/Store/TypeDispatchingEntityRevisionLookupTest.php b/lib/tests/phpunit/Store/TypeDispatchingEntityRevisionLookupTest.php index 890188b..3e1cb70 100644 --- a/lib/tests/phpunit/Store/TypeDispatchingEntityRevisionLookupTest.php +++ b/lib/tests/phpunit/Store/TypeDispatchingEntityRevisionLookupTest.php @@ -26,7 +26,7 @@ class TypeDispatchingEntityRevisionLookupTest extends \PHPUnit\Framework\TestCas public function testGivenInvalidCallback_getEntityRevisionFails() { $lookup = new TypeDispatchingEntityRevisionLookup( [ - 'property' => function ( EntityRevisionLookup $defaultService ) { + 'property' => static function ( EntityRevisionLookup $defaultService ) { return (object)[]; }, ], diff --git a/lib/tests/phpunit/Store/TypeDispatchingEntityStoreTest.php b/lib/tests/phpunit/Store/TypeDispatchingEntityStoreTest.php index a9e375d..2b05ce6 100644 --- a/lib/tests/phpunit/Store/TypeDispatchingEntityStoreTest.php +++ b/lib/tests/phpunit/Store/TypeDispatchingEntityStoreTest.php @@ -59,7 +59,7 @@ class TypeDispatchingEntityStoreTest extends \PHPUnit\Framework\TestCase { public function testGivenInvalidCallback_saveEntityFails() { $store = new TypeDispatchingEntityStore( [ - 'property' => function ( EntityStore $defaultService ) { + 'property' => static function ( EntityStore $defaultService ) { return (object)[]; }, ], diff --git a/lib/tests/phpunit/TermLanguageFallbackChainTest.php b/lib/tests/phpunit/TermLanguageFallbackChainTest.php index b93641d..3607b1e 100644 --- a/lib/tests/phpunit/TermLanguageFallbackChainTest.php +++ b/lib/tests/phpunit/TermLanguageFallbackChainTest.php @@ -31,17 +31,17 @@ class TermLanguageFallbackChainTest extends MediaWikiIntegrationTestCase { '', '⧼Lang⧽', ]; - $chainOfLanguages = array_map( function ( string $langCode ) { + $chainOfLanguages = array_map( static function ( string $langCode ) { return LanguageWithConversion::factory( $langCode ); }, $chainOfTestLanguageCodes ); $stubContentLanguages = $this->createStub( ContentLanguages::class ); $stubContentLanguages->method( 'hasLanguage' )->willReturnCallback( - function ( $langCode ) { + static function ( $langCode ) { return $langCode === 'de' || $langCode === 'en'; } ); $chain = new TermLanguageFallbackChain( $chainOfLanguages, $stubContentLanguages ); - $actualFallbackChain = array_map( function ( LanguageWithConversion $lang ) { + $actualFallbackChain = array_map( static function ( LanguageWithConversion $lang ) { return $lang->getLanguageCode(); }, $chain->getFallbackChain() ); @@ -53,7 +53,7 @@ class TermLanguageFallbackChainTest extends MediaWikiIntegrationTestCase { $stubContentLanguages = $this->createStub( ContentLanguages::class ); $stubContentLanguages->method( 'hasLanguage' )->willReturn( false ); $chain = new TermLanguageFallbackChain( [ LanguageWithConversion::factory( '⧼Lang⧽' ) ], $stubContentLanguages ); - $actualFallbackChain = array_map( function ( LanguageWithConversion $lang ) { + $actualFallbackChain = array_map( static function ( LanguageWithConversion $lang ) { return $lang->getLanguageCode(); }, $chain->getFallbackChain() ); diff --git a/lib/tests/phpunit/WikibaseContentLanguagesTest.php b/lib/tests/phpunit/WikibaseContentLanguagesTest.php index dd6b28e..912b037 100644 --- a/lib/tests/phpunit/WikibaseContentLanguagesTest.php +++ b/lib/tests/phpunit/WikibaseContentLanguagesTest.php @@ -51,7 +51,7 @@ class WikibaseContentLanguagesTest extends MediaWikiIntegrationTestCase { $testLanguages = new StaticContentLanguages( [ 'test' ] ); $this->setTemporaryHook( 'WikibaseContentLanguages', - function ( array &$contentLanguages ) use ( $testLanguages ) { + static function ( array &$contentLanguages ) use ( $testLanguages ) { $contentLanguages['test'] = $testLanguages; } ); diff --git a/lib/tests/phpunit/WikibaseSettingsTest.php b/lib/tests/phpunit/WikibaseSettingsTest.php index 8de9ec6..9dbb09b 100644 --- a/lib/tests/phpunit/WikibaseSettingsTest.php +++ b/lib/tests/phpunit/WikibaseSettingsTest.php @@ -93,7 +93,7 @@ class WikibaseSettingsTest extends \PHPUnit\Framework\TestCase { yield 'no default setting, array' => [ $default, $custom, $expected ]; unset( $custom ); - $default = [ 'key' => function () { + $default = [ 'key' => static function () { return 'value'; } ]; $custom['key'] = 'custom value'; @@ -101,7 +101,7 @@ class WikibaseSettingsTest extends \PHPUnit\Framework\TestCase { yield "['key'], callable->scalar" => [ $default, $custom, $expected ]; unset( $custom ); - $default = [ 'key' => function () { + $default = [ 'key' => static function () { return [ 'one', 'two' ]; } ]; $custom['key'] = [ 'ONE', 'TWO' ]; diff --git a/package-lock.json b/package-lock.json index b9daaf7..a28881e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2342,9 +2342,9 @@ "dev": true }, "node_modules/@wdio/cli": { - "version": "7.36.0", - "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-7.36.0.tgz", - "integrity": "sha512-vYL2tB9x7vjK3N7oRFJbUKsU4y04wqk7DQXdbmgBzC9Em4u9yvFxvtiDMCSC8kvFowiIhMtEFk8SQacL8pNszA==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-7.40.0.tgz", + "integrity": "sha512-M0txYEqqamBvJe4FEuqwWq1jd879sElF047BXSv2GRu4R1/iEBPYJHjn9KuL60Fkkpp/L1NMHTl7gW9i445edQ==", "dev": true, "dependencies": { "@types/ejs": "^3.0.5", @@ -2355,11 +2355,11 @@ "@types/lodash.union": "^4.6.6", "@types/node": "^18.0.0", "@types/recursive-readdir": "^2.2.0", - "@wdio/config": "7.33.0", + "@wdio/config": "7.40.0", "@wdio/logger": "7.26.0", "@wdio/protocols": "7.27.0", - "@wdio/types": "7.33.0", - "@wdio/utils": "7.33.0", + "@wdio/types": "7.40.0", + "@wdio/utils": "7.40.0", "async-exit-hook": "^2.0.1", "chalk": "^4.0.0", "chokidar": "^3.0.0", @@ -2372,7 +2372,7 @@ "lodash.union": "^4.6.0", "mkdirp": "^3.0.0", "recursive-readdir": "^2.2.2", - "webdriverio": "7.36.0", + "webdriverio": "7.40.0", "yargs": "^17.0.0", "yarn-install": "^1.0.0" }, @@ -2383,16 +2383,51 @@ "node": ">=12.0.0" } }, + "node_modules/@wdio/cli/node_modules/@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "dependencies": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "^4.6.2" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@wdio/cli/node_modules/@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "dependencies": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/@wdio/config": { - "version": "7.33.0", - "resolved": "https://registry.npmjs.org/@wdio/config/-/config-7.33.0.tgz", - "integrity": "sha512-SaCZNKrDtBghf7ujyaxTiU4pBW+1Kms32shSoXpJ/wFop6/MiA7nb19qpUPoJtEDw5/NOKevUKz8nBMBXphiew==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/config/-/config-7.40.0.tgz", + "integrity": "sha512-ayQELXyxa+k9/2a509F5a1oTsCa/w8D1nDrd+hzm+1mYb4Te2lceWCCzm+atGKkMpvjLH4GvhrEBYLh3rIWk2A==", "dev": true, "dependencies": { "@types/glob": "^8.1.0", "@wdio/logger": "7.26.0", - "@wdio/types": "7.33.0", - "@wdio/utils": "7.33.0", + "@wdio/types": "7.40.0", + "@wdio/utils": "7.40.0", "deepmerge": "^4.0.0", "glob": "^8.0.3" }, @@ -2400,17 +2435,52 @@ "node": ">=12.0.0" } }, + "node_modules/@wdio/config/node_modules/@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "dependencies": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "^4.6.2" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@wdio/config/node_modules/@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "dependencies": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/@wdio/local-runner": { - "version": "7.36.0", - "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-7.36.0.tgz", - "integrity": "sha512-01uDD4O5RbtuFE0F7PmtZjYuqCfJ2HvP1b+q8OUm5oINoaQ7djSkHCM01UKu5Rn5I1cQa0vSr5r12puD5Gp+Yw==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-7.40.0.tgz", + "integrity": "sha512-OBuN7TlFhbPUH7Wbh2S8OKZOjeW4rHXOfuGzJfaKkzjHje2Dqide/uC3Gd25MwmzgZcVkOo9DUYiGFCHXc44ug==", "dev": true, "dependencies": { "@types/stream-buffers": "^3.0.3", "@wdio/logger": "7.26.0", - "@wdio/repl": "7.33.0", - "@wdio/runner": "7.36.0", - "@wdio/types": "7.33.0", + "@wdio/repl": "7.40.0", + "@wdio/runner": "7.40.0", + "@wdio/types": "7.40.0", "async-exit-hook": "^2.0.1", "split2": "^4.0.0", "stream-buffers": "^3.0.2" @@ -2422,6 +2492,27 @@ "@wdio/cli": "^7.0.0" } }, + "node_modules/@wdio/local-runner/node_modules/@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "dependencies": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "^4.6.2" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/@wdio/logger": { "version": "7.26.0", "resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-7.26.0.tgz", @@ -2464,12 +2555,47 @@ } }, "node_modules/@wdio/repl": { - "version": "7.33.0", - "resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-7.33.0.tgz", - "integrity": "sha512-17KM9NCg+UVpZNbS8koT/917vklF5M8IQnw0kGwmJEo444ifTMxmLwQymbS2ovQKAKAQxlfdM7bpqMeI15kzsQ==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-7.40.0.tgz", + "integrity": "sha512-6tzT7lOMxBwdqMVdW4QxlzrQadGPta4HedFcJo4LyRz9PkXPTF68qeIGs0GyZvy/5AqspNWaAJvIR7f3T3tCyw==", "dev": true, "dependencies": { - "@wdio/utils": "7.33.0" + "@wdio/utils": "7.40.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@wdio/repl/node_modules/@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "dependencies": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "^4.6.2" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@wdio/repl/node_modules/@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "dependencies": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" }, "engines": { "node": ">=12.0.0" @@ -2530,19 +2656,54 @@ } }, "node_modules/@wdio/runner": { - "version": "7.36.0", - "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-7.36.0.tgz", - "integrity": "sha512-EU/0XprH6UEqaYarxuSSLYgsxC6/jLHE7Wj/5FIJyFwdx//Ip8DnTXzbJylskeWX2NkCfJH2VerGSo423c98+Q==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-7.40.0.tgz", + "integrity": "sha512-3dGn8sU9Oc0kTq+hcxNSqkF1acqiTAzamyNWsWXAX7V0FOfZxp0wmD9aMqY+sVT6g8mUE5aePT1ydONE5o+6QA==", "dev": true, "dependencies": { - "@wdio/config": "7.33.0", + "@wdio/config": "7.40.0", "@wdio/logger": "7.26.0", - "@wdio/types": "7.33.0", - "@wdio/utils": "7.33.0", + "@wdio/types": "7.40.0", + "@wdio/utils": "7.40.0", "deepmerge": "^4.0.0", "gaze": "^1.1.2", - "webdriver": "7.33.0", - "webdriverio": "7.36.0" + "webdriver": "7.40.0", + "webdriverio": "7.40.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@wdio/runner/node_modules/@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "dependencies": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "^4.6.2" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@wdio/runner/node_modules/@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "dependencies": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" }, "engines": { "node": ">=12.0.0" @@ -2697,9 +2858,9 @@ } }, "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true, "engines": { "node": ">=6" @@ -4600,18 +4761,18 @@ } }, "node_modules/devtools": { - "version": "7.35.0", - "resolved": "https://registry.npmjs.org/devtools/-/devtools-7.35.0.tgz", - "integrity": "sha512-7HMZMcJSCK/PaBCWVs4n4ZhtBNdUQj10iPwXvj/JDkqPreEXN/XW9GJAoMuLPFmCEKfxe+LrIbgs8ocGJ6rp/A==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/devtools/-/devtools-7.40.0.tgz", + "integrity": "sha512-hiDPCNG/mpD+bSgegxoe5nwyxWav+QpIvT+7H9D0dUwjB0q04OF473qGflSQ1QpGig6l4qG92tA7dVnLsdP75A==", "dev": true, "dependencies": { "@types/node": "^18.0.0", "@types/ua-parser-js": "^0.7.33", - "@wdio/config": "7.33.0", + "@wdio/config": "7.40.0", "@wdio/logger": "7.26.0", "@wdio/protocols": "7.27.0", - "@wdio/types": "7.33.0", - "@wdio/utils": "7.33.0", + "@wdio/types": "7.40.0", + "@wdio/utils": "7.40.0", "chrome-launcher": "^0.15.0", "edge-paths": "^2.1.0", "puppeteer-core": "13.1.3", @@ -4629,6 +4790,41 @@ "integrity": "sha512-9rTIZ4ZjWwalCPiaY+kPiALLfOKgAz5CTi/Zb1L+qSZ8PH3zVo1T8JcgXIIqg1iM3pZ6hF+n9xO5r2jZ/SF+jg==", "dev": true }, + "node_modules/devtools/node_modules/@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "dependencies": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "^4.6.2" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/devtools/node_modules/@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "dependencies": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/devtools/node_modules/debug": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", @@ -4743,9 +4939,9 @@ } }, "node_modules/diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "dev": true, "engines": { "node": ">=0.3.1" @@ -9879,32 +10075,31 @@ "dev": true }, "node_modules/mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.8.2.tgz", + "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==", "dev": true, "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" }, "bin": { "_mocha": "bin/_mocha", @@ -9912,10 +10107,15 @@ }, "engines": { "node": ">= 14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" + } + }, + "node_modules/mocha/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" } }, "node_modules/mocha/node_modules/cliui": { @@ -9929,51 +10129,27 @@ "wrap-ansi": "^7.0.0" } }, - "node_modules/mocha/node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/mocha/node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "node_modules/mocha/node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "ms": "^2.1.3" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/mocha/node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" + "node": ">=6.0" }, - "engines": { - "node": "*" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/mocha/node_modules/minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -9982,15 +10158,6 @@ "node": ">=10" } }, - "node_modules/mocha/node_modules/minimatch/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/mocha/node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -10070,10 +10237,16 @@ } }, "node_modules/nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -11037,25 +11210,6 @@ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, - "node_modules/postcss/node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -12029,9 +12183,9 @@ } }, "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "dependencies": { "randombytes": "^2.1.0" @@ -13506,9 +13660,9 @@ } }, "node_modules/ua-parser-js": { - "version": "1.0.39", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.39.tgz", - "integrity": "sha512-k24RCVWlEcjkdOxYmVJgeD/0a1TiSpqLg+ZalVGV9lsnr4yqu0w7tX/x2xX6G4zpkgQnRf89lxuZ1wsbjXM8lw==", + "version": "1.0.40", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.40.tgz", + "integrity": "sha512-z6PJ8Lml+v3ichVojCiB8toQJBuwR42ySM4ezjXIqXK3M0HczmKQ3LF4rhU55PfD99KEEXQG6yb7iOMyvYuHew==", "dev": true, "funding": [ { @@ -13772,17 +13926,17 @@ } }, "node_modules/webdriver": { - "version": "7.33.0", - "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-7.33.0.tgz", - "integrity": "sha512-cyMRAVUHgQhEBHojOeNet2e8GkfyvvjpioNCPcF6qUtT+URdagr8Mh0t4Fs+Jr0tpuMqFnw70xZexAcV/6I/jg==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-7.40.0.tgz", + "integrity": "sha512-CKi3cDWgNVE/ibcsBfdtA+pQVeZ4oYlecLlwemulVxJdgr4l5bv+nXuoIhnYeVb6aAI4naK772vmWQ0XuRYhDQ==", "dev": true, "dependencies": { "@types/node": "^18.0.0", - "@wdio/config": "7.33.0", + "@wdio/config": "7.40.0", "@wdio/logger": "7.26.0", "@wdio/protocols": "7.27.0", - "@wdio/types": "7.33.0", - "@wdio/utils": "7.33.0", + "@wdio/types": "7.40.0", + "@wdio/utils": "7.40.0", "got": "^11.0.2", "ky": "0.30.0", "lodash.merge": "^4.6.1" @@ -13791,25 +13945,60 @@ "node": ">=12.0.0" } }, + "node_modules/webdriver/node_modules/@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "dependencies": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "^4.6.2" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/webdriver/node_modules/@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "dependencies": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/webdriverio": { - "version": "7.36.0", - "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-7.36.0.tgz", - "integrity": "sha512-OTYmKBF7eFKBX39ojUIEzw7AlE1ZRJiFoMTtEQaPMuPzZCP2jUBq6Ey38nuZrYXLkXn3/le9a14pNnKSM0n56w==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-7.40.0.tgz", + "integrity": "sha512-UswBOjpWwk7ziGi9beZGX/XFrp4m1Ws0ni5HI9mzAkOlpKKKWhnX6i95pWQV6sPF4Urv4RJf8WXayHhTbzXzdA==", "dev": true, "dependencies": { "@types/aria-query": "^5.0.0", "@types/node": "^18.0.0", - "@wdio/config": "7.33.0", + "@wdio/config": "7.40.0", "@wdio/logger": "7.26.0", "@wdio/protocols": "7.27.0", - "@wdio/repl": "7.33.0", - "@wdio/types": "7.33.0", - "@wdio/utils": "7.33.0", + "@wdio/repl": "7.40.0", + "@wdio/types": "7.40.0", + "@wdio/utils": "7.40.0", "archiver": "^5.0.0", "aria-query": "^5.2.1", "css-shorthand-properties": "^1.1.1", "css-value": "^0.0.1", - "devtools": "7.35.0", + "devtools": "7.40.0", "devtools-protocol": "^0.0.1260888", "fs-extra": "^11.1.1", "grapheme-splitter": "^1.0.2", @@ -13823,7 +14012,42 @@ "resq": "^1.9.1", "rgb2hex": "0.2.5", "serialize-error": "^8.0.0", - "webdriver": "7.33.0" + "webdriver": "7.40.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/webdriverio/node_modules/@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "dependencies": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "^4.6.2" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/webdriverio/node_modules/@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "dependencies": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" }, "engines": { "node": ">=12.0.0" @@ -13920,9 +14144,9 @@ } }, "node_modules/workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", "dev": true }, "node_modules/wrap-ansi": { @@ -14054,9 +14278,9 @@ } }, "node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, "engines": { "node": ">=10" @@ -16111,9 +16335,9 @@ "dev": true }, "@wdio/cli": { - "version": "7.36.0", - "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-7.36.0.tgz", - "integrity": "sha512-vYL2tB9x7vjK3N7oRFJbUKsU4y04wqk7DQXdbmgBzC9Em4u9yvFxvtiDMCSC8kvFowiIhMtEFk8SQacL8pNszA==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-7.40.0.tgz", + "integrity": "sha512-M0txYEqqamBvJe4FEuqwWq1jd879sElF047BXSv2GRu4R1/iEBPYJHjn9KuL60Fkkpp/L1NMHTl7gW9i445edQ==", "dev": true, "requires": { "@types/ejs": "^3.0.5", @@ -16124,11 +16348,11 @@ "@types/lodash.union": "^4.6.6", "@types/node": "^18.0.0", "@types/recursive-readdir": "^2.2.0", - "@wdio/config": "7.33.0", + "@wdio/config": "7.40.0", "@wdio/logger": "7.26.0", "@wdio/protocols": "7.27.0", - "@wdio/types": "7.33.0", - "@wdio/utils": "7.33.0", + "@wdio/types": "7.40.0", + "@wdio/utils": "7.40.0", "async-exit-hook": "^2.0.1", "chalk": "^4.0.0", "chokidar": "^3.0.0", @@ -16141,39 +16365,97 @@ "lodash.union": "^4.6.0", "mkdirp": "^3.0.0", "recursive-readdir": "^2.2.2", - "webdriverio": "7.36.0", + "webdriverio": "7.40.0", "yargs": "^17.0.0", "yarn-install": "^1.0.0" + }, + "dependencies": { + "@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "requires": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + } + }, + "@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "requires": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" + } + } } }, "@wdio/config": { - "version": "7.33.0", - "resolved": "https://registry.npmjs.org/@wdio/config/-/config-7.33.0.tgz", - "integrity": "sha512-SaCZNKrDtBghf7ujyaxTiU4pBW+1Kms32shSoXpJ/wFop6/MiA7nb19qpUPoJtEDw5/NOKevUKz8nBMBXphiew==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/config/-/config-7.40.0.tgz", + "integrity": "sha512-ayQELXyxa+k9/2a509F5a1oTsCa/w8D1nDrd+hzm+1mYb4Te2lceWCCzm+atGKkMpvjLH4GvhrEBYLh3rIWk2A==", "dev": true, "requires": { "@types/glob": "^8.1.0", "@wdio/logger": "7.26.0", - "@wdio/types": "7.33.0", - "@wdio/utils": "7.33.0", + "@wdio/types": "7.40.0", + "@wdio/utils": "7.40.0", "deepmerge": "^4.0.0", "glob": "^8.0.3" + }, + "dependencies": { + "@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "requires": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + } + }, + "@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "requires": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" + } + } } }, "@wdio/local-runner": { - "version": "7.36.0", - "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-7.36.0.tgz", - "integrity": "sha512-01uDD4O5RbtuFE0F7PmtZjYuqCfJ2HvP1b+q8OUm5oINoaQ7djSkHCM01UKu5Rn5I1cQa0vSr5r12puD5Gp+Yw==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-7.40.0.tgz", + "integrity": "sha512-OBuN7TlFhbPUH7Wbh2S8OKZOjeW4rHXOfuGzJfaKkzjHje2Dqide/uC3Gd25MwmzgZcVkOo9DUYiGFCHXc44ug==", "dev": true, "requires": { "@types/stream-buffers": "^3.0.3", "@wdio/logger": "7.26.0", - "@wdio/repl": "7.33.0", - "@wdio/runner": "7.36.0", - "@wdio/types": "7.33.0", + "@wdio/repl": "7.40.0", + "@wdio/runner": "7.40.0", + "@wdio/types": "7.40.0", "async-exit-hook": "^2.0.1", "split2": "^4.0.0", "stream-buffers": "^3.0.2" + }, + "dependencies": { + "@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "requires": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + } + } } }, "@wdio/logger": { @@ -16209,12 +16491,35 @@ "dev": true }, "@wdio/repl": { - "version": "7.33.0", - "resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-7.33.0.tgz", - "integrity": "sha512-17KM9NCg+UVpZNbS8koT/917vklF5M8IQnw0kGwmJEo444ifTMxmLwQymbS2ovQKAKAQxlfdM7bpqMeI15kzsQ==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-7.40.0.tgz", + "integrity": "sha512-6tzT7lOMxBwdqMVdW4QxlzrQadGPta4HedFcJo4LyRz9PkXPTF68qeIGs0GyZvy/5AqspNWaAJvIR7f3T3tCyw==", "dev": true, "requires": { - "@wdio/utils": "7.33.0" + "@wdio/utils": "7.40.0" + }, + "dependencies": { + "@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "requires": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + } + }, + "@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "requires": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" + } + } } }, "@wdio/reporter": { @@ -16265,19 +16570,42 @@ } }, "@wdio/runner": { - "version": "7.36.0", - "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-7.36.0.tgz", - "integrity": "sha512-EU/0XprH6UEqaYarxuSSLYgsxC6/jLHE7Wj/5FIJyFwdx//Ip8DnTXzbJylskeWX2NkCfJH2VerGSo423c98+Q==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-7.40.0.tgz", + "integrity": "sha512-3dGn8sU9Oc0kTq+hcxNSqkF1acqiTAzamyNWsWXAX7V0FOfZxp0wmD9aMqY+sVT6g8mUE5aePT1ydONE5o+6QA==", "dev": true, "requires": { - "@wdio/config": "7.33.0", + "@wdio/config": "7.40.0", "@wdio/logger": "7.26.0", - "@wdio/types": "7.33.0", - "@wdio/utils": "7.33.0", + "@wdio/types": "7.40.0", + "@wdio/utils": "7.40.0", "deepmerge": "^4.0.0", "gaze": "^1.1.2", - "webdriver": "7.33.0", - "webdriverio": "7.36.0" + "webdriver": "7.40.0", + "webdriverio": "7.40.0" + }, + "dependencies": { + "@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "requires": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + } + }, + "@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "requires": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" + } + } } }, "@wdio/spec-reporter": { @@ -16393,9 +16721,9 @@ } }, "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true }, "ansi-escapes": { @@ -17803,18 +18131,18 @@ "dev": true }, "devtools": { - "version": "7.35.0", - "resolved": "https://registry.npmjs.org/devtools/-/devtools-7.35.0.tgz", - "integrity": "sha512-7HMZMcJSCK/PaBCWVs4n4ZhtBNdUQj10iPwXvj/JDkqPreEXN/XW9GJAoMuLPFmCEKfxe+LrIbgs8ocGJ6rp/A==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/devtools/-/devtools-7.40.0.tgz", + "integrity": "sha512-hiDPCNG/mpD+bSgegxoe5nwyxWav+QpIvT+7H9D0dUwjB0q04OF473qGflSQ1QpGig6l4qG92tA7dVnLsdP75A==", "dev": true, "requires": { "@types/node": "^18.0.0", "@types/ua-parser-js": "^0.7.33", - "@wdio/config": "7.33.0", + "@wdio/config": "7.40.0", "@wdio/logger": "7.26.0", "@wdio/protocols": "7.27.0", - "@wdio/types": "7.33.0", - "@wdio/utils": "7.33.0", + "@wdio/types": "7.40.0", + "@wdio/utils": "7.40.0", "chrome-launcher": "^0.15.0", "edge-paths": "^2.1.0", "puppeteer-core": "13.1.3", @@ -17823,6 +18151,27 @@ "uuid": "^9.0.0" }, "dependencies": { + "@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "requires": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + } + }, + "@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "requires": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" + } + }, "debug": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", @@ -17899,9 +18248,9 @@ "dev": true }, "diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "dev": true }, "diff-sequences": { @@ -21787,34 +22136,42 @@ "dev": true }, "mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.8.2.tgz", + "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==", "dev": true, "requires": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" }, "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, "cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -21826,55 +22183,22 @@ "wrap-ansi": "^7.0.0" } }, - "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } + "ms": "^2.1.3" } }, "minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "requires": { "brace-expansion": "^2.0.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - } } }, "ms": { @@ -21946,9 +22270,9 @@ } }, "nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", "dev": true }, "natural-compare": { @@ -22562,14 +22886,6 @@ "nanoid": "^3.3.7", "picocolors": "^1.1.0", "source-map-js": "^1.2.1" - }, - "dependencies": { - "nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true - } } }, "postcss-html": { @@ -23359,9 +23675,9 @@ } }, "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -24412,9 +24728,9 @@ "peer": true }, "ua-parser-js": { - "version": "1.0.39", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.39.tgz", - "integrity": "sha512-k24RCVWlEcjkdOxYmVJgeD/0a1TiSpqLg+ZalVGV9lsnr4yqu0w7tX/x2xX6G4zpkgQnRf89lxuZ1wsbjXM8lw==", + "version": "1.0.40", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.40.tgz", + "integrity": "sha512-z6PJ8Lml+v3ichVojCiB8toQJBuwR42ySM4ezjXIqXK3M0HczmKQ3LF4rhU55PfD99KEEXQG6yb7iOMyvYuHew==", "dev": true }, "unbox-primitive": { @@ -24589,41 +24905,64 @@ "requires": {} }, "webdriver": { - "version": "7.33.0", - "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-7.33.0.tgz", - "integrity": "sha512-cyMRAVUHgQhEBHojOeNet2e8GkfyvvjpioNCPcF6qUtT+URdagr8Mh0t4Fs+Jr0tpuMqFnw70xZexAcV/6I/jg==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-7.40.0.tgz", + "integrity": "sha512-CKi3cDWgNVE/ibcsBfdtA+pQVeZ4oYlecLlwemulVxJdgr4l5bv+nXuoIhnYeVb6aAI4naK772vmWQ0XuRYhDQ==", "dev": true, "requires": { "@types/node": "^18.0.0", - "@wdio/config": "7.33.0", + "@wdio/config": "7.40.0", "@wdio/logger": "7.26.0", "@wdio/protocols": "7.27.0", - "@wdio/types": "7.33.0", - "@wdio/utils": "7.33.0", + "@wdio/types": "7.40.0", + "@wdio/utils": "7.40.0", "got": "^11.0.2", "ky": "0.30.0", "lodash.merge": "^4.6.1" + }, + "dependencies": { + "@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "requires": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + } + }, + "@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "requires": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" + } + } } }, "webdriverio": { - "version": "7.36.0", - "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-7.36.0.tgz", - "integrity": "sha512-OTYmKBF7eFKBX39ojUIEzw7AlE1ZRJiFoMTtEQaPMuPzZCP2jUBq6Ey38nuZrYXLkXn3/le9a14pNnKSM0n56w==", + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-7.40.0.tgz", + "integrity": "sha512-UswBOjpWwk7ziGi9beZGX/XFrp4m1Ws0ni5HI9mzAkOlpKKKWhnX6i95pWQV6sPF4Urv4RJf8WXayHhTbzXzdA==", "dev": true, "requires": { "@types/aria-query": "^5.0.0", "@types/node": "^18.0.0", - "@wdio/config": "7.33.0", + "@wdio/config": "7.40.0", "@wdio/logger": "7.26.0", "@wdio/protocols": "7.27.0", - "@wdio/repl": "7.33.0", - "@wdio/types": "7.33.0", - "@wdio/utils": "7.33.0", + "@wdio/repl": "7.40.0", + "@wdio/types": "7.40.0", + "@wdio/utils": "7.40.0", "archiver": "^5.0.0", "aria-query": "^5.2.1", "css-shorthand-properties": "^1.1.1", "css-value": "^0.0.1", - "devtools": "7.35.0", + "devtools": "7.40.0", "devtools-protocol": "^0.0.1260888", "fs-extra": "^11.1.1", "grapheme-splitter": "^1.0.2", @@ -24637,9 +24976,30 @@ "resq": "^1.9.1", "rgb2hex": "0.2.5", "serialize-error": "^8.0.0", - "webdriver": "7.33.0" + "webdriver": "7.40.0" }, "dependencies": { + "@wdio/types": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz", + "integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==", + "dev": true, + "requires": { + "@types/node": "^18.0.0", + "got": "^11.8.1" + } + }, + "@wdio/utils": { + "version": "7.40.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz", + "integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==", + "dev": true, + "requires": { + "@wdio/logger": "7.26.0", + "@wdio/types": "7.40.0", + "p-iteration": "^1.1.8" + } + }, "brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -24712,9 +25072,9 @@ } }, "workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", "dev": true }, "wrap-ansi": { @@ -24810,9 +25170,9 @@ } }, "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true }, "yargs-unparser": { diff --git a/repo/WikibaseRepo.FederatedProperties.OverrideEntityServices.php b/repo/WikibaseRepo.FederatedProperties.OverrideEntityServices.php index 6047970..5b47e3a 100644 --- a/repo/WikibaseRepo.FederatedProperties.OverrideEntityServices.php +++ b/repo/WikibaseRepo.FederatedProperties.OverrideEntityServices.php @@ -21,29 +21,29 @@ use Wikibase\Repo\WikibaseRepo; return [ 'property' => [ - Def::ARTICLE_ID_LOOKUP_CALLBACK => function () { + Def::ARTICLE_ID_LOOKUP_CALLBACK => static function () { return new EntityArticleIdNullLookup(); }, - Def::URL_LOOKUP_CALLBACK => function () { + Def::URL_LOOKUP_CALLBACK => static function () { return WikibaseRepo::getFederatedPropertiesServiceFactory()->newApiEntityUrlLookup(); }, - Def::TITLE_TEXT_LOOKUP_CALLBACK => function () { + Def::TITLE_TEXT_LOOKUP_CALLBACK => static function () { return WikibaseRepo::getFederatedPropertiesServiceFactory()->newApiEntityTitleTextLookup(); }, - Def::ENTITY_SEARCH_CALLBACK => function() { + Def::ENTITY_SEARCH_CALLBACK => static function() { return WikibaseRepo::getFederatedPropertiesServiceFactory()->newApiEntitySearchHelper(); }, - Def::PREFETCHING_TERM_LOOKUP_CALLBACK => function() { + Def::PREFETCHING_TERM_LOOKUP_CALLBACK => static function() { return WikibaseRepo::getFederatedPropertiesServiceFactory()->newApiPrefetchingTermLookup(); }, - Def::REDIRECT_CHECKER_CALLBACK => function () { + Def::REDIRECT_CHECKER_CALLBACK => static function () { return new class implements EntityRedirectChecker { public function isRedirect( EntityId $id ): bool { return false; } }; }, - Def::EXISTENCE_CHECKER_CALLBACK => function () { + Def::EXISTENCE_CHECKER_CALLBACK => static function () { return WikibaseRepo::getFederatedPropertiesServiceFactory()->newApiEntityExistenceChecker(); }, ], diff --git a/repo/WikibaseRepo.ServiceWiring.php b/repo/WikibaseRepo.ServiceWiring.php index baeac45..692442f 100644 --- a/repo/WikibaseRepo.ServiceWiring.php +++ b/repo/WikibaseRepo.ServiceWiring.php @@ -261,11 +261,11 @@ use Wikimedia\ObjectFactory\ObjectFactory; /** @phpcs-require-sorted-array */ return [ - 'WikibaseRepo.AliasTermBuffer' => function ( MediaWikiServices $services ): AliasTermBuffer { + 'WikibaseRepo.AliasTermBuffer' => static function ( MediaWikiServices $services ): AliasTermBuffer { return WikibaseRepo::getPrefetchingTermLookup( $services ); }, - 'WikibaseRepo.AllTypesEntityDeserializer' => function ( MediaWikiServices $services ): DispatchableDeserializer { + 'WikibaseRepo.AllTypesEntityDeserializer' => static function ( MediaWikiServices $services ): DispatchableDeserializer { $deserializerFactoryCallbacks = WikibaseRepo::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::DESERIALIZER_FACTORY_CALLBACK ); $baseDeserializerFactory = WikibaseRepo::getBaseDataModelDeserializerFactory( $services ); @@ -276,7 +276,7 @@ return [ return new DispatchingDeserializer( $deserializers ); }, - 'WikibaseRepo.AllTypesEntitySerializer' => function ( MediaWikiServices $services ): Serializer { + 'WikibaseRepo.AllTypesEntitySerializer' => static function ( MediaWikiServices $services ): Serializer { $serializerFactoryCallbacks = WikibaseRepo::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::SERIALIZER_FACTORY_CALLBACK ); $baseSerializerFactory = WikibaseRepo::getBaseDataModelSerializerFactory( $services ); @@ -289,11 +289,11 @@ return [ return new DispatchingSerializer( $serializers ); }, - 'WikibaseRepo.AnonymousEditWarningBuilder' => function ( MediaWikiServices $services ): AnonymousEditWarningBuilder { + 'WikibaseRepo.AnonymousEditWarningBuilder' => static function ( MediaWikiServices $services ): AnonymousEditWarningBuilder { return new AnonymousEditWarningBuilder( $services->getSpecialPageFactory(), $services->getTempUserConfig() ); }, - 'WikibaseRepo.ApiHelperFactory' => function ( MediaWikiServices $services ): ApiHelperFactory { + 'WikibaseRepo.ApiHelperFactory' => static function ( MediaWikiServices $services ): ApiHelperFactory { $store = WikibaseRepo::getStore( $services ); return new ApiHelperFactory( @@ -316,7 +316,7 @@ return [ ); }, - 'WikibaseRepo.BagOStuffSiteLinkConflictLookup' => function ( + 'WikibaseRepo.BagOStuffSiteLinkConflictLookup' => static function ( MediaWikiServices $services ): BagOStuffSiteLinkConflictLookup { return new BagOStuffSiteLinkConflictLookup( @@ -324,7 +324,7 @@ return [ ); }, - 'WikibaseRepo.BaseDataModelDeserializerFactory' => function ( MediaWikiServices $services ): DeserializerFactory { + 'WikibaseRepo.BaseDataModelDeserializerFactory' => static function ( MediaWikiServices $services ): DeserializerFactory { $dataTypeDefs = WikibaseRepo::getDataTypeDefinitions( $services ); return new DeserializerFactory( @@ -336,11 +336,11 @@ return [ ); }, - 'WikibaseRepo.BaseDataModelSerializerFactory' => function ( MediaWikiServices $services ): SerializerFactory { + 'WikibaseRepo.BaseDataModelSerializerFactory' => static function ( MediaWikiServices $services ): SerializerFactory { return new SerializerFactory( new DataValueSerializer(), SerializerFactory::OPTION_DEFAULT ); }, - 'WikibaseRepo.CachingCommonsMediaFileNameLookup' => function ( + 'WikibaseRepo.CachingCommonsMediaFileNameLookup' => static function ( MediaWikiServices $services ): CachingCommonsMediaFileNameLookup { return new CachingCommonsMediaFileNameLookup( @@ -349,11 +349,11 @@ return [ ); }, - 'WikibaseRepo.ChangeHolder' => function ( MediaWikiServices $services ): ChangeHolder { + 'WikibaseRepo.ChangeHolder' => static function ( MediaWikiServices $services ): ChangeHolder { return new ChangeHolder(); }, - 'WikibaseRepo.ChangeNotifier' => function ( MediaWikiServices $services ): ChangeNotifier { + 'WikibaseRepo.ChangeNotifier' => static function ( MediaWikiServices $services ): ChangeNotifier { $transmitters = [ new HookChangeTransmitter( $services->getHookContainer(), @@ -375,7 +375,7 @@ return [ ); }, - 'WikibaseRepo.ChangeOpDeserializerFactory' => function ( MediaWikiServices $services ): ChangeOpDeserializerFactory { + 'WikibaseRepo.ChangeOpDeserializerFactory' => static function ( MediaWikiServices $services ): ChangeOpDeserializerFactory { $changeOpFactoryProvider = WikibaseRepo::getChangeOpFactoryProvider( $services ); $settings = WikibaseRepo::getSettings( $services ); @@ -395,7 +395,7 @@ return [ ); }, - 'WikibaseRepo.ChangeOpFactoryProvider' => function ( MediaWikiServices $services ): ChangeOpFactoryProvider { + 'WikibaseRepo.ChangeOpFactoryProvider' => static function ( MediaWikiServices $services ): ChangeOpFactoryProvider { $snakValidator = new SnakValidator( WikibaseRepo::getPropertyDataTypeLookup( $services ), WikibaseRepo::getDataTypeFactory( $services ), @@ -419,14 +419,14 @@ return [ ); }, - 'WikibaseRepo.CommonsMediaValueNormalizer' => function ( MediaWikiServices $services ): CommonsMediaValueNormalizer { + 'WikibaseRepo.CommonsMediaValueNormalizer' => static function ( MediaWikiServices $services ): CommonsMediaValueNormalizer { return new CommonsMediaValueNormalizer( WikibaseRepo::getCachingCommonsMediaFileNameLookup( $services ), WikibaseRepo::getLogger( $services ) ); }, - 'WikibaseRepo.CompactBaseDataModelSerializerFactory' => function ( MediaWikiServices $services ): SerializerFactory { + 'WikibaseRepo.CompactBaseDataModelSerializerFactory' => static function ( MediaWikiServices $services ): SerializerFactory { return new SerializerFactory( new DataValueSerializer(), SerializerFactory::OPTION_SERIALIZE_MAIN_SNAKS_WITHOUT_HASH + @@ -435,7 +435,7 @@ return [ ); }, - 'WikibaseRepo.CompactEntitySerializer' => function ( MediaWikiServices $services ): Serializer { + 'WikibaseRepo.CompactEntitySerializer' => static function ( MediaWikiServices $services ): Serializer { $serializerFactoryCallbacks = WikibaseRepo::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::SERIALIZER_FACTORY_CALLBACK ); $baseSerializerFactory = WikibaseRepo::getCompactBaseDataModelSerializerFactory( $services ); @@ -448,7 +448,7 @@ return [ return new DispatchingSerializer( $serializers ); }, - 'WikibaseRepo.ContentModelMappings' => function ( MediaWikiServices $services ): array { + 'WikibaseRepo.ContentModelMappings' => static function ( MediaWikiServices $services ): array { $map = WikibaseRepo::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::CONTENT_MODEL_ID ); @@ -458,20 +458,20 @@ return [ return $map; }, - 'WikibaseRepo.DataAccessSettings' => function ( MediaWikiServices $services ): DataAccessSettings { + 'WikibaseRepo.DataAccessSettings' => static function ( MediaWikiServices $services ): DataAccessSettings { return new DataAccessSettings( WikibaseRepo::getSettings( $services )->getSetting( 'maxSerializedEntitySize' ) ); }, - 'WikibaseRepo.DatabaseTypeIdsStore' => function ( MediaWikiServices $services ): DatabaseTypeIdsStore { + 'WikibaseRepo.DatabaseTypeIdsStore' => static function ( MediaWikiServices $services ): DatabaseTypeIdsStore { return new DatabaseTypeIdsStore( WikibaseRepo::getTermsDomainDbFactory( $services )->newTermsDb(), $services->getMainWANObjectCache() ); }, - 'WikibaseRepo.DataTypeDefinitions' => function ( MediaWikiServices $services ): DataTypeDefinitions { + 'WikibaseRepo.DataTypeDefinitions' => static function ( MediaWikiServices $services ): DataTypeDefinitions { $baseDataTypes = require __DIR__ . '/../lib/WikibaseLib.datatypes.php'; $repoDataTypes = require __DIR__ . '/WikibaseRepo.datatypes.php'; @@ -490,30 +490,30 @@ return [ ); }, - 'WikibaseRepo.DataTypeFactory' => function ( MediaWikiServices $services ): DataTypeFactory { + 'WikibaseRepo.DataTypeFactory' => static function ( MediaWikiServices $services ): DataTypeFactory { return new DataTypeFactory( WikibaseRepo::getDataTypeDefinitions( $services )->getValueTypes() ); }, - 'WikibaseRepo.DataTypeValidatorFactory' => function ( MediaWikiServices $services ): DataTypeValidatorFactory { + 'WikibaseRepo.DataTypeValidatorFactory' => static function ( MediaWikiServices $services ): DataTypeValidatorFactory { return new BuilderBasedDataTypeValidatorFactory( WikibaseRepo::getDataTypeDefinitions( $services )->getValidatorFactoryCallbacks() ); }, - 'WikibaseRepo.DataValueDeserializer' => function ( MediaWikiServices $services ): DataValueDeserializer { + 'WikibaseRepo.DataValueDeserializer' => static function ( MediaWikiServices $services ): DataValueDeserializer { return new DataValueDeserializer( array_merge( WikibaseRepo::getDataTypeDefinitions( $services )->getDataValueDeserializerBuilders(), [ 'unknown' => UnknownValue::class ] ) ); }, - 'WikibaseRepo.DataValueFactory' => function ( MediaWikiServices $services ): DataValueFactory { + 'WikibaseRepo.DataValueFactory' => static function ( MediaWikiServices $services ): DataValueFactory { return new DataValueFactory( WikibaseRepo::getDataValueDeserializer( $services ) ); }, - 'WikibaseRepo.DefaultSnakFormatterBuilders' => function ( MediaWikiServices $services ): WikibaseSnakFormatterBuilders { + 'WikibaseRepo.DefaultSnakFormatterBuilders' => static function ( MediaWikiServices $services ): WikibaseSnakFormatterBuilders { return new WikibaseSnakFormatterBuilders( WikibaseRepo::getDefaultValueFormatterBuilders( $services ), WikibaseRepo::getPropertyInfoLookup( $services ), @@ -528,7 +528,7 @@ return [ * @warning This is for use with {@link WikibaseRepo::getDefaultValidatorBuilders()} during bootstrap only! * Program logic should use {@link WikibaseRepo::getDataTypeValidatorFactory()} instead! */ - 'WikibaseRepo.DefaultValidatorBuilders' => function ( MediaWikiServices $services ): ValidatorBuilders { + 'WikibaseRepo.DefaultValidatorBuilders' => static function ( MediaWikiServices $services ): ValidatorBuilders { $settings = WikibaseRepo::getSettings( $services ); return new ValidatorBuilders( @@ -550,7 +550,7 @@ return [ * @warning This is for use with {@link WikibaseRepo::getDefaultValueFormatterBuilders()} during bootstrap only! * Program logic should use {@link WikibaseRepo::getSnakFormatterFactory()} instead! */ - 'WikibaseRepo.DefaultValueFormatterBuilders' => function ( + 'WikibaseRepo.DefaultValueFormatterBuilders' => static function ( MediaWikiServices $services ): WikibaseValueFormatterBuilders { $settings = WikibaseRepo::getSettings( $services ); @@ -582,13 +582,13 @@ return [ ); }, - 'WikibaseRepo.DispatchStats' => function ( MediaWikiServices $services ): DispatchStats { + 'WikibaseRepo.DispatchStats' => static function ( MediaWikiServices $services ): DispatchStats { return new DispatchStats( WikibaseRepo::getRepoDomainDbFactory( $services )->newRepoDb() ); }, - 'WikibaseRepo.EditEntityFactory' => function ( MediaWikiServices $services ): MediaWikiEditEntityFactory { + 'WikibaseRepo.EditEntityFactory' => static function ( MediaWikiServices $services ): MediaWikiEditEntityFactory { return new MediaWikiEditEntityFactory( WikibaseRepo::getEntityTitleStoreLookup( $services ), WikibaseRepo::getStore( $services ) @@ -606,7 +606,7 @@ return [ ); }, - 'WikibaseRepo.EditFilterHookRunner' => function ( MediaWikiServices $services ): EditFilterHookRunner { + 'WikibaseRepo.EditFilterHookRunner' => static function ( MediaWikiServices $services ): EditFilterHookRunner { return new MediaWikiEditFilterHookRunner( WikibaseRepo::getEntityNamespaceLookup( $services ), WikibaseRepo::getEntityTitleStoreLookup( $services ), @@ -615,18 +615,18 @@ return [ ); }, - 'WikibaseRepo.EnabledEntityTypes' => function ( MediaWikiServices $services ): array { + 'WikibaseRepo.EnabledEntityTypes' => static function ( MediaWikiServices $services ): array { return array_keys( WikibaseRepo::getEntitySourceDefinitions( $services ) ->getEntityTypeToDatabaseSourceMapping() ); }, - 'WikibaseRepo.EnabledEntityTypesForSearch' => function ( MediaWikiServices $services ): array { + 'WikibaseRepo.EnabledEntityTypesForSearch' => static function ( MediaWikiServices $services ): array { return array_keys( WikibaseRepo::getEntitySearchHelperCallbacks( $services ) ); }, - 'WikibaseRepo.EntityArticleIdLookup' => function ( MediaWikiServices $services ): EntityArticleIdLookup { + 'WikibaseRepo.EntityArticleIdLookup' => static function ( MediaWikiServices $services ): EntityArticleIdLookup { $callbacks = WikibaseRepo::getEntitySourceAndTypeDefinitions( $services )->getServiceBySourceAndType( EntityTypeDefinitions::ARTICLE_ID_LOOKUP_CALLBACK ); @@ -640,7 +640,7 @@ return [ ); }, - 'WikibaseRepo.EntityChangeFactory' => function ( MediaWikiServices $services ): EntityChangeFactory { + 'WikibaseRepo.EntityChangeFactory' => static function ( MediaWikiServices $services ): EntityChangeFactory { //TODO: take this from a setting or registry. $changeClasses = [ Item::ENTITY_TYPE => ItemChange::class, @@ -656,7 +656,7 @@ return [ ); }, - 'WikibaseRepo.EntityChangeLookup' => function ( MediaWikiServices $services ): EntityChangeLookup { + 'WikibaseRepo.EntityChangeLookup' => static function ( MediaWikiServices $services ): EntityChangeLookup { return new EntityChangeLookup( WikibaseRepo::getEntityChangeFactory( $services ), WikibaseRepo::getEntityIdParser( $services ), @@ -664,14 +664,14 @@ return [ ); }, - 'WikibaseRepo.EntityChangeOpProvider' => function ( MediaWikiServices $services ): EntityChangeOpProvider { + 'WikibaseRepo.EntityChangeOpProvider' => static function ( MediaWikiServices $services ): EntityChangeOpProvider { return new EntityChangeOpProvider( WikibaseRepo::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::CHANGEOP_DESERIALIZER_CALLBACK ) ); }, - 'WikibaseRepo.EntityConstraintProvider' => function ( MediaWikiServices $services ): EntityConstraintProvider { + 'WikibaseRepo.EntityConstraintProvider' => static function ( MediaWikiServices $services ): EntityConstraintProvider { return new EntityConstraintProvider( new CompositeSiteLinkConflictLookup( [ new SqlSiteLinkConflictLookup( @@ -685,7 +685,7 @@ return [ ); }, - 'WikibaseRepo.EntityContentDataCodec' => function ( MediaWikiServices $services ): EntityContentDataCodec { + 'WikibaseRepo.EntityContentDataCodec' => static function ( MediaWikiServices $services ): EntityContentDataCodec { return new EntityContentDataCodec( WikibaseRepo::getEntityIdParser( $services ), WikibaseRepo::getStorageEntitySerializer( $services ), @@ -695,7 +695,7 @@ return [ ); }, - 'WikibaseRepo.EntityContentFactory' => function ( MediaWikiServices $services ): EntityContentFactory { + 'WikibaseRepo.EntityContentFactory' => static function ( MediaWikiServices $services ): EntityContentFactory { return new EntityContentFactory( WikibaseRepo::getContentModelMappings( $services ), WikibaseRepo::getEntityTypeDefinitions( $services ) @@ -703,7 +703,7 @@ return [ ); }, - 'WikibaseRepo.EntityDataFormatProvider' => function ( MediaWikiServices $services ): EntityDataFormatProvider { + 'WikibaseRepo.EntityDataFormatProvider' => static function ( MediaWikiServices $services ): EntityDataFormatProvider { $formats = WikibaseRepo::getSettings( $services )->getSetting( 'entityDataFormats' ); $entityDataFormatProvider = new EntityDataFormatProvider(); @@ -712,7 +712,7 @@ return [ return $entityDataFormatProvider; }, - 'WikibaseRepo.EntityDataSerializationService' => function ( MediaWikiServices $services ): EntityDataSerializationService { + 'WikibaseRepo.EntityDataSerializationService' => static function ( MediaWikiServices $services ): EntityDataSerializationService { return new EntityDataSerializationService( WikibaseRepo::getEntityTitleStoreLookup( $services ), WikibaseRepo::getPropertyDataTypeLookup( $services ), @@ -725,7 +725,7 @@ return [ ); }, - 'WikibaseRepo.EntityDataUriManager' => function ( MediaWikiServices $services ): EntityDataUriManager { + 'WikibaseRepo.EntityDataUriManager' => static function ( MediaWikiServices $services ): EntityDataUriManager { $entityDataFormatProvider = WikibaseRepo::getEntityDataFormatProvider( $services ); // build a mapping of formats to file extensions and include HTML @@ -750,7 +750,7 @@ return [ ); }, - 'WikibaseRepo.EntityDiffer' => function ( MediaWikiServices $services ): EntityDiffer { + 'WikibaseRepo.EntityDiffer' => static function ( MediaWikiServices $services ): EntityDiffer { $entityDiffer = new EntityDiffer(); $entityTypeDefinitions = WikibaseRepo::getEntityTypeDefinitions( $services ); $builders = $entityTypeDefinitions->get( EntityTypeDefinitions::ENTITY_DIFFER_STRATEGY_BUILDER ); @@ -760,7 +760,7 @@ return [ return $entityDiffer; }, - 'WikibaseRepo.EntityDiffVisualizerFactory' => function ( MediaWikiServices $services ): EntityDiffVisualizerFactory{ + 'WikibaseRepo.EntityDiffVisualizerFactory' => static function ( MediaWikiServices $services ): EntityDiffVisualizerFactory{ return new EntityDiffVisualizerFactory( WikibaseRepo::getEntityTypeDefinitions( $services )->get( EntityTypeDefinitions::ENTITY_DIFF_VISUALIZER_CALLBACK ), new ClaimDiffer( new OrderedListDiffer( new ComparableComparer() ) ), @@ -770,7 +770,7 @@ return [ ); }, - 'WikibaseRepo.EntityExistenceChecker' => function ( MediaWikiServices $services ): EntityExistenceChecker { + 'WikibaseRepo.EntityExistenceChecker' => static function ( MediaWikiServices $services ): EntityExistenceChecker { return new SourceAndTypeDispatchingExistenceChecker( WikibaseRepo::getEntitySourceLookup( $services ), new ServiceBySourceAndTypeDispatcher( @@ -781,21 +781,21 @@ return [ ); }, - 'WikibaseRepo.EntityFactory' => function ( MediaWikiServices $services ): EntityFactory { + 'WikibaseRepo.EntityFactory' => static function ( MediaWikiServices $services ): EntityFactory { $instantiators = WikibaseRepo::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::ENTITY_FACTORY_CALLBACK ); return new EntityFactory( $instantiators ); }, - 'WikibaseRepo.EntityIdComposer' => function ( MediaWikiServices $services ): EntityIdComposer { + 'WikibaseRepo.EntityIdComposer' => static function ( MediaWikiServices $services ): EntityIdComposer { return new EntityIdComposer( WikibaseRepo::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::ENTITY_ID_COMPOSER_CALLBACK ) ); }, - 'WikibaseRepo.EntityIdHtmlLinkFormatterFactory' => function ( + 'WikibaseRepo.EntityIdHtmlLinkFormatterFactory' => static function ( MediaWikiServices $services ): EntityIdFormatterFactory { $factory = new EntityIdHtmlLinkFormatterFactory( @@ -812,7 +812,7 @@ return [ : $factory; }, - 'WikibaseRepo.EntityIdLabelFormatterFactory' => function ( + 'WikibaseRepo.EntityIdLabelFormatterFactory' => static function ( MediaWikiServices $services ): EntityIdLabelFormatterFactory { return new EntityIdLabelFormatterFactory( @@ -820,14 +820,14 @@ return [ ); }, - 'WikibaseRepo.EntityIdLookup' => function ( MediaWikiServices $services ): EntityIdLookup { + 'WikibaseRepo.EntityIdLookup' => static function ( MediaWikiServices $services ): EntityIdLookup { return new ContentHandlerEntityIdLookup( WikibaseRepo::getEntityContentFactory( $services ), $services->getHookContainer() ); }, - 'WikibaseRepo.EntityIdParser' => function ( MediaWikiServices $services ): EntityIdParser { + 'WikibaseRepo.EntityIdParser' => static function ( MediaWikiServices $services ): EntityIdParser { $settings = WikibaseRepo::getSettings( $services ); $dispatchingEntityIdParser = new DispatchingEntityIdParser( WikibaseRepo::getEntityTypeDefinitions( $services )->getEntityIdBuilders() @@ -845,7 +845,7 @@ return [ return $dispatchingEntityIdParser; }, - 'WikibaseRepo.EntityLinkFormatterFactory' => function ( MediaWikiServices $services ): EntityLinkFormatterFactory { + 'WikibaseRepo.EntityLinkFormatterFactory' => static function ( MediaWikiServices $services ): EntityLinkFormatterFactory { return new EntityLinkFormatterFactory( WikibaseRepo::getEntityTitleTextLookup( $services ), $services->getLanguageFactory(), @@ -853,7 +853,7 @@ return [ ); }, - 'WikibaseRepo.EntityLookup' => function ( MediaWikiServices $services ): EntityLookup { + 'WikibaseRepo.EntityLookup' => static function ( MediaWikiServices $services ): EntityLookup { return WikibaseRepo::getStore( $services ) ->getEntityLookup( Store::LOOKUP_CACHING_ENABLED, @@ -861,7 +861,7 @@ return [ ); }, - 'WikibaseRepo.EntityMetaTagsCreatorFactory' => function ( + 'WikibaseRepo.EntityMetaTagsCreatorFactory' => static function ( MediaWikiServices $services ): DispatchingEntityMetaTagsCreatorFactory { return new DispatchingEntityMetaTagsCreatorFactory( @@ -870,17 +870,17 @@ return [ ); }, - 'WikibaseRepo.EntityNamespaceLookup' => function ( MediaWikiServices $services ): EntityNamespaceLookup { + 'WikibaseRepo.EntityNamespaceLookup' => static function ( MediaWikiServices $services ): EntityNamespaceLookup { $entitySources = array_filter( WikibaseRepo::getEntitySourceDefinitions( $services )->getSources(), - function ( EntitySource $entitySource ) { + static function ( EntitySource $entitySource ) { return $entitySource->getType() === DatabaseEntitySource::TYPE; } ); return array_reduce( $entitySources, - function ( EntityNamespaceLookup $nsLookup, DatabaseEntitySource $source ): EntityNamespaceLookup { + static function ( EntityNamespaceLookup $nsLookup, DatabaseEntitySource $source ): EntityNamespaceLookup { return $nsLookup->merge( new EntityNamespaceLookup( $source->getEntityNamespaceIds(), $source->getEntitySlotNames() @@ -890,7 +890,7 @@ return [ ); }, - 'WikibaseRepo.EntityParserOutputGeneratorFactory' => function ( MediaWikiServices $services ): EntityParserOutputGeneratorFactory { + 'WikibaseRepo.EntityParserOutputGeneratorFactory' => static function ( MediaWikiServices $services ): EntityParserOutputGeneratorFactory { $settings = WikibaseRepo::getSettings( $services ); return new EntityParserOutputGeneratorFactory( @@ -923,7 +923,7 @@ return [ ); }, - 'WikibaseRepo.EntityPatcher' => function ( MediaWikiServices $services ): EntityPatcher { + 'WikibaseRepo.EntityPatcher' => static function ( MediaWikiServices $services ): EntityPatcher { $entityPatcher = new EntityPatcher(); $entityTypeDefinitions = WikibaseRepo::getEntityTypeDefinitions( $services ); $builders = $entityTypeDefinitions->get( EntityTypeDefinitions::ENTITY_PATCHER_STRATEGY_BUILDER ); @@ -933,7 +933,7 @@ return [ return $entityPatcher; }, - 'WikibaseRepo.EntityPermissionChecker' => function ( MediaWikiServices $services ): EntityPermissionChecker { + 'WikibaseRepo.EntityPermissionChecker' => static function ( MediaWikiServices $services ): EntityPermissionChecker { return new WikiPageEntityStorePermissionChecker( WikibaseRepo::getEntityNamespaceLookup( $services ), WikibaseRepo::getEntityTitleLookup( $services ), @@ -942,7 +942,7 @@ return [ ); }, - 'WikibaseRepo.EntityRdfBuilderFactory' => function ( MediaWikiServices $services ): EntityRdfBuilderFactory { + 'WikibaseRepo.EntityRdfBuilderFactory' => static function ( MediaWikiServices $services ): EntityRdfBuilderFactory { $entityTypeDefinitions = WikibaseRepo::getEntityTypeDefinitions( $services ); return new EntityRdfBuilderFactory( @@ -950,7 +950,7 @@ return [ ); }, - 'WikibaseRepo.EntityRedirectChecker' => function ( MediaWikiServices $services ): EntityRedirectChecker { + 'WikibaseRepo.EntityRedirectChecker' => static function ( MediaWikiServices $services ): EntityRedirectChecker { return new SourceAndTypeDispatchingRedirectChecker( new ServiceBySourceAndTypeDispatcher( EntityRedirectChecker::class, @@ -961,12 +961,12 @@ return [ ); }, - 'WikibaseRepo.EntityRevisionLookup' => function ( MediaWikiServices $services ): EntityRevisionLookup { + 'WikibaseRepo.EntityRevisionLookup' => static function ( MediaWikiServices $services ): EntityRevisionLookup { return WikibaseRepo::getStore( $services ) ->getEntityRevisionLookup( Store::LOOKUP_CACHING_ENABLED ); }, - 'WikibaseRepo.EntitySearchHelper' => function ( MediaWikiServices $services ): EntitySearchHelper { + 'WikibaseRepo.EntitySearchHelper' => static function ( MediaWikiServices $services ): EntitySearchHelper { $entitySearchHelperCallbacks = WikibaseRepo::getEntitySearchHelperCallbacks( $services ); $typeDispatchingEntitySearchHelper = new TypeDispatchingEntitySearchHelper( @@ -987,7 +987,7 @@ return [ return $typeDispatchingEntitySearchHelper; }, - 'WikibaseRepo.EntitySearchHelperCallbacks' => function ( MediaWikiServices $services ): array { + 'WikibaseRepo.EntitySearchHelperCallbacks' => static function ( MediaWikiServices $services ): array { $callbacks = WikibaseRepo::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::ENTITY_SEARCH_CALLBACK ); @@ -996,7 +996,7 @@ return [ return $callbacks; }, - 'WikibaseRepo.EntitySourceAndTypeDefinitions' => function ( MediaWikiServices $services ): EntitySourceAndTypeDefinitions { + 'WikibaseRepo.EntitySourceAndTypeDefinitions' => static function ( MediaWikiServices $services ): EntitySourceAndTypeDefinitions { $baseEntityTypes = require __DIR__ . '/../lib/WikibaseLib.entitytypes.php'; $repoEntityTypes = require __DIR__ . '/WikibaseRepo.entitytypes.php'; @@ -1021,7 +1021,7 @@ return [ ); }, - 'WikibaseRepo.EntitySourceDefinitions' => function ( MediaWikiServices $services ): EntitySourceDefinitions { + 'WikibaseRepo.EntitySourceDefinitions' => static function ( MediaWikiServices $services ): EntitySourceDefinitions { $settings = WikibaseRepo::getSettings( $services ); $subEntityTypesMapper = WikibaseRepo::getSubEntityTypesMapper( $services ); @@ -1041,22 +1041,22 @@ return [ return $fedPropsSourceAdder->addDefaultIfRequired( $entitySourceDefinitions ); }, - 'WikibaseRepo.EntitySourceLookup' => function ( MediaWikiServices $services ): EntitySourceLookup { + 'WikibaseRepo.EntitySourceLookup' => static function ( MediaWikiServices $services ): EntitySourceLookup { return new EntitySourceLookup( WikibaseRepo::getEntitySourceDefinitions( $services ), WikibaseRepo::getSubEntityTypesMapper( $services ) ); }, - 'WikibaseRepo.EntityStore' => function ( MediaWikiServices $services ): EntityStore { + 'WikibaseRepo.EntityStore' => static function ( MediaWikiServices $services ): EntityStore { return WikibaseRepo::getStore( $services )->getEntityStore(); }, - 'WikibaseRepo.EntityStoreWatcher' => function ( MediaWikiServices $services ): EntityStoreWatcher { + 'WikibaseRepo.EntityStoreWatcher' => static function ( MediaWikiServices $services ): EntityStoreWatcher { return WikibaseRepo::getStore( $services )->getEntityStoreWatcher(); }, - 'WikibaseRepo.EntityStubRdfBuilderFactory' => function ( MediaWikiServices $services ): EntityStubRdfBuilderFactory { + 'WikibaseRepo.EntityStubRdfBuilderFactory' => static function ( MediaWikiServices $services ): EntityStubRdfBuilderFactory { $entityTypeDefinitions = WikibaseRepo::getEntityTypeDefinitions( $services ); return new EntityStubRdfBuilderFactory( @@ -1064,11 +1064,11 @@ return [ ); }, - 'WikibaseRepo.EntityTitleLookup' => function ( MediaWikiServices $services ): EntityTitleLookup { + 'WikibaseRepo.EntityTitleLookup' => static function ( MediaWikiServices $services ): EntityTitleLookup { return WikibaseRepo::getEntityTitleStoreLookup( $services ); }, - 'WikibaseRepo.EntityTitleStoreLookup' => function ( MediaWikiServices $services ): EntityTitleStoreLookup { + 'WikibaseRepo.EntityTitleStoreLookup' => static function ( MediaWikiServices $services ): EntityTitleStoreLookup { return new TypeDispatchingEntityTitleStoreLookup( WikibaseRepo::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::ENTITY_TITLE_STORE_LOOKUP_FACTORY_CALLBACK ), @@ -1081,7 +1081,7 @@ return [ ); }, - 'WikibaseRepo.EntityTitleTextLookup' => function ( MediaWikiServices $services ): EntityTitleTextLookup { + 'WikibaseRepo.EntityTitleTextLookup' => static function ( MediaWikiServices $services ): EntityTitleTextLookup { return new SourceAndTypeDispatchingTitleTextLookup( WikibaseRepo::getEntitySourceLookup( $services ), new ServiceBySourceAndTypeDispatcher( @@ -1092,7 +1092,7 @@ return [ ); }, - 'WikibaseRepo.EntityTypeDefinitions' => function ( MediaWikiServices $services ): EntityTypeDefinitions { + 'WikibaseRepo.EntityTypeDefinitions' => static function ( MediaWikiServices $services ): EntityTypeDefinitions { $baseEntityTypes = require __DIR__ . '/../lib/WikibaseLib.entitytypes.php'; $repoEntityTypes = require __DIR__ . '/WikibaseRepo.entitytypes.php'; @@ -1106,7 +1106,7 @@ return [ return new EntityTypeDefinitions( $entityTypes ); }, - 'WikibaseRepo.EntityTypesConfigValue' => function ( MediaWikiServices $services ): array { + 'WikibaseRepo.EntityTypesConfigValue' => static function ( MediaWikiServices $services ): array { $entityTypeDefinitions = WikibaseRepo::getEntityTypeDefinitions( $services ); return [ 'types' => $entityTypeDefinitions->getEntityTypes(), @@ -1115,7 +1115,7 @@ return [ ]; }, - 'WikibaseRepo.EntityUrlLookup' => function ( MediaWikiServices $services ): EntityUrlLookup { + 'WikibaseRepo.EntityUrlLookup' => static function ( MediaWikiServices $services ): EntityUrlLookup { return new SourceAndTypeDispatchingUrlLookup( new ServiceBySourceAndTypeDispatcher( EntityUrlLookup::class, @@ -1126,13 +1126,13 @@ return [ ); }, - 'WikibaseRepo.EntityViewFactory' => function ( MediaWikiServices $services ): DispatchingEntityViewFactory { + 'WikibaseRepo.EntityViewFactory' => static function ( MediaWikiServices $services ): DispatchingEntityViewFactory { return new DispatchingEntityViewFactory( WikibaseRepo::getEntityTypeDefinitions( $services )->get( EntityTypeDefinitions::VIEW_FACTORY_CALLBACK ) ); }, - 'WikibaseRepo.ExceptionLocalizer' => function ( MediaWikiServices $services ): ExceptionLocalizer { + 'WikibaseRepo.ExceptionLocalizer' => static function ( MediaWikiServices $services ): ExceptionLocalizer { $formatter = WikibaseRepo::getMessageParameterFormatter( $services ); return new DispatchingExceptionLocalizer( [ @@ -1145,11 +1145,11 @@ return [ ] ); }, - 'WikibaseRepo.ExternalFormatStatementDeserializer' => function ( MediaWikiServices $services ): Deserializer { + 'WikibaseRepo.ExternalFormatStatementDeserializer' => static function ( MediaWikiServices $services ): Deserializer { return WikibaseRepo::getBaseDataModelDeserializerFactory( $services )->newStatementDeserializer(); }, - 'WikibaseRepo.FallbackLabelDescriptionLookupFactory' => function ( + 'WikibaseRepo.FallbackLabelDescriptionLookupFactory' => static function ( MediaWikiServices $services ): FallbackLabelDescriptionLookupFactory { return new FallbackLabelDescriptionLookupFactory( @@ -1161,7 +1161,7 @@ return [ ); }, - 'WikibaseRepo.FederatedPropertiesServiceFactory' => function ( MediaWikiServices $services ): ApiServiceFactory { + 'WikibaseRepo.FederatedPropertiesServiceFactory' => static function ( MediaWikiServices $services ): ApiServiceFactory { $settings = WikibaseRepo::getSettings( $services ); if ( @@ -1185,7 +1185,7 @@ return [ ); }, - 'WikibaseRepo.FieldDefinitionsFactory' => function ( MediaWikiServices $services ): FieldDefinitionsFactory { + 'WikibaseRepo.FieldDefinitionsFactory' => static function ( MediaWikiServices $services ): FieldDefinitionsFactory { return new FieldDefinitionsFactory( WikibaseRepo::getEntityTypeDefinitions( $services ), WikibaseRepo::getTermsLanguages( $services ), @@ -1193,16 +1193,16 @@ return [ ); }, - 'WikibaseRepo.FulltextSearchTypes' => function ( MediaWikiServices $services ): array { + 'WikibaseRepo.FulltextSearchTypes' => static function ( MediaWikiServices $services ): array { $searchTypeContexts = WikibaseRepo::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::FULLTEXT_SEARCH_CONTEXT ); - return array_map( function ( $context ): string { + return array_map( static function ( $context ): string { return is_callable( $context ) ? $context() : $context; }, $searchTypeContexts ); }, - 'WikibaseRepo.IdGenerator' => function ( MediaWikiServices $services ): IdGenerator { + 'WikibaseRepo.IdGenerator' => static function ( MediaWikiServices $services ): IdGenerator { $settings = WikibaseRepo::getSettings( $services ); $idGeneratorSetting = $settings->getSetting( 'idGenerator' ); $db = WikibaseRepo::getRepoDomainDbFactory( $services )->newRepoDb(); @@ -1247,7 +1247,7 @@ return [ ); }, - 'WikibaseRepo.InternalFormatDeserializerFactory' => function ( MediaWikiServices $services ): InternalDeserializerFactory { + 'WikibaseRepo.InternalFormatDeserializerFactory' => static function ( MediaWikiServices $services ): InternalDeserializerFactory { return new InternalDeserializerFactory( WikibaseRepo::getDataValueDeserializer( $services ), WikibaseRepo::getEntityIdParser( $services ), @@ -1256,18 +1256,18 @@ return [ ); }, - 'WikibaseRepo.InternalFormatEntityDeserializer' => function ( MediaWikiServices $services ): Deserializer { + 'WikibaseRepo.InternalFormatEntityDeserializer' => static function ( MediaWikiServices $services ): Deserializer { return WikibaseRepo::getInternalFormatDeserializerFactory( $services )->newEntityDeserializer(); }, - 'WikibaseRepo.ItemDisambiguationFactory' => function ( MediaWikiServices $services ): ItemDisambiguationFactory { + 'WikibaseRepo.ItemDisambiguationFactory' => static function ( MediaWikiServices $services ): ItemDisambiguationFactory { return new ItemDisambiguationFactory( WikibaseRepo::getEntityTitleLookup( $services ), WikibaseRepo::getLanguageNameLookupFactory( $services ) ); }, - 'WikibaseRepo.ItemHandler' => function ( MediaWikiServices $services ): ItemHandler { + 'WikibaseRepo.ItemHandler' => static function ( MediaWikiServices $services ): ItemHandler { return new ItemHandler( WikibaseRepo::getItemTermStoreWriter( $services ), WikibaseRepo::getEntityContentDataCodec( $services ), @@ -1288,7 +1288,7 @@ return [ ); }, - 'WikibaseRepo.ItemMergeInteractor' => function ( MediaWikiServices $services ): ItemMergeInteractor { + 'WikibaseRepo.ItemMergeInteractor' => static function ( MediaWikiServices $services ): ItemMergeInteractor { return new ItemMergeInteractor( WikibaseRepo::getChangeOpFactoryProvider( $services ) ->getMergeFactory(), @@ -1303,7 +1303,7 @@ return [ ); }, - 'WikibaseRepo.ItemRedirectCreationInteractor' => function ( + 'WikibaseRepo.ItemRedirectCreationInteractor' => static function ( MediaWikiServices $services ): ItemRedirectCreationInteractor { $store = WikibaseRepo::getStore( $services ); @@ -1320,12 +1320,12 @@ return [ ); }, - 'WikibaseRepo.ItemTermsCollisionDetector' => function ( MediaWikiServices $services ): TermsCollisionDetector { + 'WikibaseRepo.ItemTermsCollisionDetector' => static function ( MediaWikiServices $services ): TermsCollisionDetector { return WikibaseRepo::getTermsCollisionDetectorFactory( $services ) ->getTermsCollisionDetector( Item::ENTITY_TYPE ); }, - 'WikibaseRepo.ItemTermStoreWriter' => function ( MediaWikiServices $services ): EntityTermStoreWriter { + 'WikibaseRepo.ItemTermStoreWriter' => static function ( MediaWikiServices $services ): EntityTermStoreWriter { if ( !in_array( Item::ENTITY_TYPE, WikibaseRepo::getLocalEntitySource( $services )->getEntityTypes() @@ -1338,14 +1338,14 @@ return [ ); }, - 'WikibaseRepo.ItemUrlParser' => function ( MediaWikiServices $services ): SuffixEntityIdParser { + 'WikibaseRepo.ItemUrlParser' => static function ( MediaWikiServices $services ): SuffixEntityIdParser { return new SuffixEntityIdParser( WikibaseRepo::getItemVocabularyBaseUri( $services ), new ItemIdParser() ); }, - 'WikibaseRepo.ItemVocabularyBaseUri' => function ( MediaWikiServices $services ): string { + 'WikibaseRepo.ItemVocabularyBaseUri' => static function ( MediaWikiServices $services ): string { $itemSource = WikibaseRepo::getEntitySourceDefinitions( $services ) ->getDatabaseSourceForEntityType( Item::ENTITY_TYPE ); @@ -1356,7 +1356,7 @@ return [ return $itemSource->getConceptBaseUri(); }, - 'WikibaseRepo.KartographerEmbeddingHandler' => function ( MediaWikiServices $services ): ?CachingKartographerEmbeddingHandler { + 'WikibaseRepo.KartographerEmbeddingHandler' => static function ( MediaWikiServices $services ): ?CachingKartographerEmbeddingHandler { $settings = WikibaseRepo::getSettings( $services ); if ( @@ -1371,14 +1371,14 @@ return [ } }, - 'WikibaseRepo.LanguageDirectionalityLookup' => function ( MediaWikiServices $services ): LanguageDirectionalityLookup { + 'WikibaseRepo.LanguageDirectionalityLookup' => static function ( MediaWikiServices $services ): LanguageDirectionalityLookup { return new MediaWikiLanguageDirectionalityLookup( $services->getLanguageFactory(), $services->getLanguageNameUtils() ); }, - 'WikibaseRepo.LanguageFallbackChainFactory' => function ( MediaWikiServices $services ): LanguageFallbackChainFactory { + 'WikibaseRepo.LanguageFallbackChainFactory' => static function ( MediaWikiServices $services ): LanguageFallbackChainFactory { return new LanguageFallbackChainFactory( WikibaseRepo::getTermsLanguages( $services ), $services->getLanguageFactory(), @@ -1387,14 +1387,14 @@ return [ ); }, - 'WikibaseRepo.LanguageNameLookupFactory' => function ( MediaWikiServices $services ): LanguageNameLookupFactory { + 'WikibaseRepo.LanguageNameLookupFactory' => static function ( MediaWikiServices $services ): LanguageNameLookupFactory { return new LanguageNameLookupFactory( $services->getLanguageNameUtils(), WikibaseRepo::getMessageInLanguageProvider( $services ) ); }, - 'WikibaseRepo.LegacyFormatDetectorCallback' => function ( MediaWikiServices $services ): ?callable { + 'WikibaseRepo.LegacyFormatDetectorCallback' => static function ( MediaWikiServices $services ): ?callable { $transformOnExport = WikibaseRepo::getSettings( $services ) ->getSetting( 'transformLegacyFormatOnExport' ); @@ -1420,14 +1420,14 @@ return [ * * @return bool True if $blob seems to be using a legacy serialization format. */ - return function ( $blob, $format ) { + return static function ( $blob, $format ) { // The legacy serialization uses something like "entity":["item",21] or // even "entity":"p21" for the entity ID. return preg_match( '/"entity"\s*:/', $blob ) > 0; }; }, - 'WikibaseRepo.LinkTargetEntityIdLookup' => function ( MediaWikiServices $services ): LinkTargetEntityIdLookup { + 'WikibaseRepo.LinkTargetEntityIdLookup' => static function ( MediaWikiServices $services ): LinkTargetEntityIdLookup { return new EntityLinkTargetEntityIdLookup( WikibaseRepo::getEntityNamespaceLookup( $services ), WikibaseRepo::getEntityIdParser( $services ), @@ -1436,7 +1436,7 @@ return [ ); }, - 'WikibaseRepo.LocalEntityNamespaceLookup' => function ( MediaWikiServices $services ): EntityNamespaceLookup { + 'WikibaseRepo.LocalEntityNamespaceLookup' => static function ( MediaWikiServices $services ): EntityNamespaceLookup { $localEntitySource = WikibaseRepo::getLocalEntitySource( $services ); $nsIds = $localEntitySource->getEntityNamespaceIds(); $entitySlots = $localEntitySource->getEntitySlotNames(); @@ -1444,7 +1444,7 @@ return [ return new EntityNamespaceLookup( $nsIds, $entitySlots ); }, - 'WikibaseRepo.LocalEntitySource' => function ( MediaWikiServices $services ): EntitySource { + 'WikibaseRepo.LocalEntitySource' => static function ( MediaWikiServices $services ): EntitySource { $localEntitySourceName = WikibaseRepo::getSettings( $services )->getSetting( 'localEntitySourceName' ); $sources = WikibaseRepo::getEntitySourceDefinitions( $services )->getSources(); foreach ( $sources as $source ) { @@ -1456,7 +1456,7 @@ return [ throw new LogicException( 'No source configured: ' . $localEntitySourceName ); }, - 'WikibaseRepo.LocalEntityTypes' => function ( MediaWikiServices $services ): array { + 'WikibaseRepo.LocalEntityTypes' => static function ( MediaWikiServices $services ): array { $localSource = WikibaseRepo::getLocalEntitySource( $services ); $subEntityTypes = WikibaseRepo::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::SUB_ENTITY_TYPES ); @@ -1464,7 +1464,7 @@ return [ // Expands the array of local entity types with sub types return array_reduce( $localSource->getEntityTypes(), - function ( $types, $localTypeName ) use ( $subEntityTypes ) { + static function ( $types, $localTypeName ) use ( $subEntityTypes ) { $types[] = $localTypeName; if ( array_key_exists( $localTypeName, $subEntityTypes ) ) { $types = array_merge( $types, $subEntityTypes[$localTypeName] ); @@ -1475,7 +1475,7 @@ return [ ); }, - 'WikibaseRepo.LocalizedTextProviderFactory' => function ( + 'WikibaseRepo.LocalizedTextProviderFactory' => static function ( MediaWikiServices $services ): LocalizedTextProviderFactory { return new LocalizedTextProviderFactory( @@ -1483,7 +1483,7 @@ return [ ); }, - 'WikibaseRepo.LocalRepoWikiPageMetaDataAccessor' => function ( MediaWikiServices $services ): WikiPageEntityMetaDataAccessor { + 'WikibaseRepo.LocalRepoWikiPageMetaDataAccessor' => static function ( MediaWikiServices $services ): WikiPageEntityMetaDataAccessor { $entityNamespaceLookup = WikibaseRepo::getEntityNamespaceLookup( $services ); $repoName = ''; // Empty string here means this only works for the local repo $dbName = false; // false means the local database @@ -1511,11 +1511,11 @@ return [ ); }, - 'WikibaseRepo.Logger' => function ( MediaWikiServices $services ): LoggerInterface { + 'WikibaseRepo.Logger' => static function ( MediaWikiServices $services ): LoggerInterface { return LoggerFactory::getInstance( 'Wikibase' ); }, - 'WikibaseRepo.MatchingTermsLookupFactory' => function ( MediaWikiServices $services ): MatchingTermsLookupFactory { + 'WikibaseRepo.MatchingTermsLookupFactory' => static function ( MediaWikiServices $services ): MatchingTermsLookupFactory { return new MatchingTermsLookupFactory( WikibaseRepo::getEntityIdComposer( $services ), WikibaseRepo::getTermsDomainDbFactory( $services ), @@ -1524,11 +1524,11 @@ return [ ); }, - 'WikibaseRepo.MessageInLanguageProvider' => function ( MediaWikiServices $services ): MessageInLanguageProvider { + 'WikibaseRepo.MessageInLanguageProvider' => static function ( MediaWikiServices $services ): MessageInLanguageProvider { return new MediaWikiMessageInLanguageProvider(); }, - 'WikibaseRepo.MessageParameterFormatter' => function ( MediaWikiServices $services ): ValueFormatter { + 'WikibaseRepo.MessageParameterFormatter' => static function ( MediaWikiServices $services ): ValueFormatter { $formatterOptions = new FormatterOptions(); $valueFormatterFactory = WikibaseRepo::getValueFormatterFactory( $services ); @@ -1540,7 +1540,7 @@ return [ ); }, - 'WikibaseRepo.MobileSite' => function ( MediaWikiServices $services ): bool { + 'WikibaseRepo.MobileSite' => static function ( MediaWikiServices $services ): bool { if ( $services->has( 'MobileFrontend.Context' ) ) { $mobileContext = $services->get( 'MobileFrontend.Context' ); return $mobileContext->shouldDisplayMobileView(); @@ -1548,18 +1548,18 @@ return [ return false; }, - 'WikibaseRepo.MonolingualTextLanguages' => function ( MediaWikiServices $services ): ContentLanguages { + 'WikibaseRepo.MonolingualTextLanguages' => static function ( MediaWikiServices $services ): ContentLanguages { return WikibaseRepo::getWikibaseContentLanguages( $services ) ->getContentLanguages( WikibaseContentLanguages::CONTEXT_MONOLINGUAL_TEXT ); }, - 'WikibaseRepo.NumberLocalizerFactory' => function ( MediaWikiServices $services ): NumberLocalizerFactory { + 'WikibaseRepo.NumberLocalizerFactory' => static function ( MediaWikiServices $services ): NumberLocalizerFactory { return new NumberLocalizerFactory( $services->getLanguageFactory() ); }, - 'WikibaseRepo.PrefetchingTermLookup' => function ( MediaWikiServices $services ): PrefetchingTermLookup { + 'WikibaseRepo.PrefetchingTermLookup' => static function ( MediaWikiServices $services ): PrefetchingTermLookup { return new SourceAndTypeDispatchingPrefetchingTermLookup( new ServiceBySourceAndTypeDispatcher( PrefetchingTermLookup::class, @@ -1570,7 +1570,7 @@ return [ ); }, - 'WikibaseRepo.PropertyDataTypeLookup' => function ( MediaWikiServices $services ): PropertyDataTypeLookup { + 'WikibaseRepo.PropertyDataTypeLookup' => static function ( MediaWikiServices $services ): PropertyDataTypeLookup { $entitySourceDefinitions = WikibaseRepo::getEntitySourceDefinitions( $services ); return new SourceDispatchingPropertyDataTypeLookup( @@ -1586,7 +1586,7 @@ return [ ); }, - 'WikibaseRepo.PropertyHandler' => function ( MediaWikiServices $services ): PropertyHandler { + 'WikibaseRepo.PropertyHandler' => static function ( MediaWikiServices $services ): PropertyHandler { return new PropertyHandler( WikibaseRepo::getPropertyTermStoreWriter( $services ), WikibaseRepo::getEntityContentDataCodec( $services ), @@ -1604,7 +1604,7 @@ return [ ); }, - 'WikibaseRepo.PropertyInfoBuilder' => function ( MediaWikiServices $services ): PropertyInfoBuilder { + 'WikibaseRepo.PropertyInfoBuilder' => static function ( MediaWikiServices $services ): PropertyInfoBuilder { $settings = WikibaseRepo::getSettings( $services ); $propertyIdMap = []; @@ -1623,7 +1623,7 @@ return [ return new PropertyInfoBuilder( $propertyIdMap ); }, - 'WikibaseRepo.PropertyInfoLookup' => function ( MediaWikiServices $services ): PropertyInfoLookup { + 'WikibaseRepo.PropertyInfoLookup' => static function ( MediaWikiServices $services ): PropertyInfoLookup { $repoSettings = WikibaseRepo::getSettings( $services ); $cacheKeyGroup = $repoSettings->getSetting( 'sharedCacheKeyGroup' ); $cacheDuration = $repoSettings->getSetting( 'sharedCacheDuration' ); @@ -1651,12 +1651,12 @@ return [ ); }, - 'WikibaseRepo.PropertyTermsCollisionDetector' => function ( MediaWikiServices $services ): TermsCollisionDetector { + 'WikibaseRepo.PropertyTermsCollisionDetector' => static function ( MediaWikiServices $services ): TermsCollisionDetector { return WikibaseRepo::getTermsCollisionDetectorFactory( $services ) ->getTermsCollisionDetector( Property::ENTITY_TYPE ); }, - 'WikibaseRepo.PropertyTermStoreWriter' => function ( MediaWikiServices $services ): EntityTermStoreWriter { + 'WikibaseRepo.PropertyTermStoreWriter' => static function ( MediaWikiServices $services ): EntityTermStoreWriter { if ( !in_array( Property::ENTITY_TYPE, WikibaseRepo::getLocalEntitySource( $services )->getEntityTypes() @@ -1669,11 +1669,11 @@ return [ ); }, - 'WikibaseRepo.PropertyValueExpertsModule' => function ( MediaWikiServices $services ): PropertyValueExpertsModule { + 'WikibaseRepo.PropertyValueExpertsModule' => static function ( MediaWikiServices $services ): PropertyValueExpertsModule { return new PropertyValueExpertsModule( WikibaseRepo::getDataTypeDefinitions( $services ) ); }, - 'WikibaseRepo.RdfBuilderFactory' => function ( MediaWikiServices $services ): RdfBuilderFactory { + 'WikibaseRepo.RdfBuilderFactory' => static function ( MediaWikiServices $services ): RdfBuilderFactory { return new RdfBuilderFactory( WikibaseRepo::getRdfVocabulary( $services ), WikibaseRepo::getEntityRdfBuilderFactory( $services ), @@ -1683,7 +1683,7 @@ return [ ); }, - 'WikibaseRepo.RdfVocabulary' => function ( MediaWikiServices $services ): RdfVocabulary { + 'WikibaseRepo.RdfVocabulary' => static function ( MediaWikiServices $services ): RdfVocabulary { $repoSettings = WikibaseRepo::getSettings( $services ); $languageCodes = array_merge( $services->getMainConfig()->get( 'DummyLanguageCodes' ), @@ -1710,17 +1710,17 @@ return [ ); }, - 'WikibaseRepo.RedirectResolvingLatestRevisionLookup' => function ( + 'WikibaseRepo.RedirectResolvingLatestRevisionLookup' => static function ( MediaWikiServices $services ): RedirectResolvingLatestRevisionLookup { return new RedirectResolvingLatestRevisionLookup( WikibaseRepo::getEntityRevisionLookup( $services ) ); }, - 'WikibaseRepo.ReferenceNormalizer' => function ( MediaWikiServices $services ): ReferenceNormalizer { + 'WikibaseRepo.ReferenceNormalizer' => static function ( MediaWikiServices $services ): ReferenceNormalizer { return new ReferenceNormalizer( WikibaseRepo::getSnakNormalizer( $services ) ); }, - 'WikibaseRepo.RepoDomainDbFactory' => function ( MediaWikiServices $services ): RepoDomainDbFactory { + 'WikibaseRepo.RepoDomainDbFactory' => static function ( MediaWikiServices $services ): RepoDomainDbFactory { $lbFactory = $services->getDBLoadBalancerFactory(); return new RepoDomainDbFactory( @@ -1730,11 +1730,11 @@ return [ ); }, - 'WikibaseRepo.Settings' => function ( MediaWikiServices $services ): SettingsArray { + 'WikibaseRepo.Settings' => static function ( MediaWikiServices $services ): SettingsArray { return WikibaseSettings::getRepoSettings(); }, - 'WikibaseRepo.SiteLinkBadgeChangeOpSerializationValidator' => function ( + 'WikibaseRepo.SiteLinkBadgeChangeOpSerializationValidator' => static function ( MediaWikiServices $services ): SiteLinkBadgeChangeOpSerializationValidator { return new SiteLinkBadgeChangeOpSerializationValidator( @@ -1746,7 +1746,7 @@ return [ ); }, - 'WikibaseRepo.SiteLinkGlobalIdentifiersProvider' => function ( + 'WikibaseRepo.SiteLinkGlobalIdentifiersProvider' => static function ( MediaWikiServices $services ): SiteLinkGlobalIdentifiersProvider { $cacheSecret = hash( 'sha256', $services->getMainConfig()->get( 'SecretKey' ) ); @@ -1760,7 +1760,7 @@ return [ ); }, - 'WikibaseRepo.SiteLinkPageNormalizer' => function ( + 'WikibaseRepo.SiteLinkPageNormalizer' => static function ( MediaWikiServices $services ): SiteLinkPageNormalizer { return new SiteLinkPageNormalizer( @@ -1768,7 +1768,7 @@ return [ ); }, - 'WikibaseRepo.SiteLinkTargetProvider' => function ( + 'WikibaseRepo.SiteLinkTargetProvider' => static function ( MediaWikiServices $services ): SiteLinkTargetProvider { return new SiteLinkTargetProvider( @@ -1777,7 +1777,7 @@ return [ ); }, - 'WikibaseRepo.SnakFactory' => function ( MediaWikiServices $services ): SnakFactory { + 'WikibaseRepo.SnakFactory' => static function ( MediaWikiServices $services ): SnakFactory { return new SnakFactory( WikibaseRepo::getPropertyDataTypeLookup( $services ), WikibaseRepo::getDataTypeFactory( $services ), @@ -1785,7 +1785,7 @@ return [ ); }, - 'WikibaseRepo.SnakFormatterFactory' => function ( MediaWikiServices $services ): OutputFormatSnakFormatterFactory { + 'WikibaseRepo.SnakFormatterFactory' => static function ( MediaWikiServices $services ): OutputFormatSnakFormatterFactory { return new OutputFormatSnakFormatterFactory( WikibaseRepo::getDataTypeDefinitions( $services )->getSnakFormatterFactoryCallbacks(), WikibaseRepo::getValueFormatterFactory( $services ), @@ -1795,7 +1795,7 @@ return [ ); }, - 'WikibaseRepo.SnakNormalizer' => function ( MediaWikiServices $services ): SnakNormalizer { + 'WikibaseRepo.SnakNormalizer' => static function ( MediaWikiServices $services ): SnakNormalizer { return new SnakNormalizer( WikibaseRepo::getPropertyDataTypeLookup( $services ), WikibaseRepo::getLogger( $services ), @@ -1804,29 +1804,29 @@ return [ ); }, - 'WikibaseRepo.SnakValueDeserializer' => function ( MediaWikiServices $services ): SnakValueDeserializer { + 'WikibaseRepo.SnakValueDeserializer' => static function ( MediaWikiServices $services ): SnakValueDeserializer { return new SnakValueDeserializer( WikibaseRepo::getDataValueDeserializer( $services ), WikibaseRepo::getDataTypeDefinitions( $services )->getDeserializerBuilders( DataTypeDefinitions::PREFIXED_MODE ) ); }, - 'WikibaseRepo.StatementGuidParser' => function ( MediaWikiServices $services ): StatementGuidParser { + 'WikibaseRepo.StatementGuidParser' => static function ( MediaWikiServices $services ): StatementGuidParser { return new StatementGuidParser( WikibaseRepo::getEntityIdParser( $services ) ); }, - 'WikibaseRepo.StatementGuidValidator' => function ( MediaWikiServices $services ): StatementGuidValidator { + 'WikibaseRepo.StatementGuidValidator' => static function ( MediaWikiServices $services ): StatementGuidValidator { return new StatementGuidValidator( WikibaseRepo::getEntityIdParser( $services ) ); }, - 'WikibaseRepo.StatementNormalizer' => function ( MediaWikiServices $services ): StatementNormalizer { + 'WikibaseRepo.StatementNormalizer' => static function ( MediaWikiServices $services ): StatementNormalizer { return new StatementNormalizer( WikibaseRepo::getSnakNormalizer( $services ), WikibaseRepo::getReferenceNormalizer( $services ) ); }, - 'WikibaseRepo.StorageEntitySerializer' => function ( MediaWikiServices $services ): Serializer { + 'WikibaseRepo.StorageEntitySerializer' => static function ( MediaWikiServices $services ): Serializer { $serializerFactoryCallbacks = WikibaseRepo::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::STORAGE_SERIALIZER_FACTORY_CALLBACK ); $baseSerializerFactory = WikibaseRepo::getBaseDataModelSerializerFactory( $services ); @@ -1839,7 +1839,7 @@ return [ return new DispatchingSerializer( $serializers ); }, - 'WikibaseRepo.Store' => function ( MediaWikiServices $services ): Store { + 'WikibaseRepo.Store' => static function ( MediaWikiServices $services ): Store { // TODO: the idea of local entity source seems not really suitable here. Store should probably // get source definitions and pass the right source/sources to services it creates accordingly // (as long as what it creates should not migrate to *SourceServices in the first place) @@ -1860,23 +1860,23 @@ return [ ); }, - 'WikibaseRepo.StringNormalizer' => function ( MediaWikiServices $services ): StringNormalizer { + 'WikibaseRepo.StringNormalizer' => static function ( MediaWikiServices $services ): StringNormalizer { return new StringNormalizer(); }, - 'WikibaseRepo.StringValueNormalizer' => function ( MediaWikiServices $services ): StringValueNormalizer { + 'WikibaseRepo.StringValueNormalizer' => static function ( MediaWikiServices $services ): StringValueNormalizer { return new StringValueNormalizer( WikibaseRepo::getStringNormalizer( $services ), WikibaseRepo::getLogger( $services ) ); }, - 'WikibaseRepo.SubEntityTypesMapper' => function ( MediaWikiServices $services ): SubEntityTypesMapper { + 'WikibaseRepo.SubEntityTypesMapper' => static function ( MediaWikiServices $services ): SubEntityTypesMapper { return new SubEntityTypesMapper( WikibaseRepo::getEntityTypeDefinitions( $services ) ->get( EntityTypeDefinitions::SUB_ENTITY_TYPES ) ); }, - 'WikibaseRepo.SummaryFormatter' => function ( MediaWikiServices $services ): SummaryFormatter { + 'WikibaseRepo.SummaryFormatter' => static function ( MediaWikiServices $services ): SummaryFormatter { // This needs to use an EntityIdPlainLinkFormatter as we want to mangle // the links created in HtmlPageLinkRendererEndHookHandler afterwards (the links must not // contain a display text: [[Item:Q1]] is fine but [[Item:Q1|Q1]] isn't). @@ -1887,7 +1887,7 @@ return [ // Iterate through all defined entity types and override the formatter for entity IDs. foreach ( WikibaseRepo::getEntityTypeDefinitions( $services )->getEntityTypes() as $entityType ) { - $formatterFactoryCBs[ "PT:wikibase-$entityType" ] = function ( + $formatterFactoryCBs[ "PT:wikibase-$entityType" ] = static function ( $format, FormatterOptions $options ) use ( $idFormatter ) { if ( $format === SnakFormatter::FORMAT_PLAIN ) { @@ -1935,18 +1935,18 @@ return [ ); }, - 'WikibaseRepo.TermBuffer' => function ( MediaWikiServices $services ): TermBuffer { + 'WikibaseRepo.TermBuffer' => static function ( MediaWikiServices $services ): TermBuffer { return WikibaseRepo::getPrefetchingTermLookup( $services ); }, - 'WikibaseRepo.TermFallbackCache' => function ( MediaWikiServices $services ): TermFallbackCacheFacade { + 'WikibaseRepo.TermFallbackCache' => static function ( MediaWikiServices $services ): TermFallbackCacheFacade { return new TermFallbackCacheFacade( WikibaseRepo::getTermFallbackCacheFactory( $services )->getTermFallbackCache(), WikibaseRepo::getSettings( $services )->getSetting( 'sharedCacheDuration' ) ); }, - 'WikibaseRepo.TermFallbackCacheFactory' => function ( MediaWikiServices $services ): TermFallbackCacheFactory { + 'WikibaseRepo.TermFallbackCacheFactory' => static function ( MediaWikiServices $services ): TermFallbackCacheFactory { $settings = WikibaseRepo::getSettings( $services ); return new TermFallbackCacheFactory( $settings->getSetting( 'sharedCacheType' ), @@ -1959,7 +1959,7 @@ return [ ); }, - 'WikibaseRepo.TermInLangIdsResolverFactory' => function ( + 'WikibaseRepo.TermInLangIdsResolverFactory' => static function ( MediaWikiServices $services ): TermInLangIdsResolverFactory { return new TermInLangIdsResolverFactory( @@ -1969,27 +1969,27 @@ return [ ); }, - 'WikibaseRepo.TermLookup' => function ( MediaWikiServices $services ): TermLookup { + 'WikibaseRepo.TermLookup' => static function ( MediaWikiServices $services ): TermLookup { return WikibaseRepo::getPrefetchingTermLookup( $services ); }, - 'WikibaseRepo.TermsCollisionDetectorFactory' => function ( MediaWikiServices $services ): TermsCollisionDetectorFactory { + 'WikibaseRepo.TermsCollisionDetectorFactory' => static function ( MediaWikiServices $services ): TermsCollisionDetectorFactory { return new TermsCollisionDetectorFactory( WikibaseRepo::getTermsDomainDbFactory( $services )->newTermsDb(), WikibaseRepo::getTypeIdsLookup( $services ) ); }, - 'WikibaseRepo.TermsDomainDbFactory' => function ( MediaWikiServices $services ): TermsDomainDbFactory { + 'WikibaseRepo.TermsDomainDbFactory' => static function ( MediaWikiServices $services ): TermsDomainDbFactory { return new TermsDomainDbFactory( WikibaseRepo::getRepoDomainDbFactory( $services ) ); }, - 'WikibaseRepo.TermsLanguages' => function ( MediaWikiServices $services ): ContentLanguages { + 'WikibaseRepo.TermsLanguages' => static function ( MediaWikiServices $services ): ContentLanguages { return WikibaseRepo::getWikibaseContentLanguages( $services ) ->getContentLanguages( WikibaseContentLanguages::CONTEXT_TERM ); }, - 'WikibaseRepo.TermStoreWriterFactory' => function ( MediaWikiServices $services ): TermStoreWriterFactory { + 'WikibaseRepo.TermStoreWriterFactory' => static function ( MediaWikiServices $services ): TermStoreWriterFactory { return new TermStoreWriterFactory( WikibaseRepo::getLocalEntitySource( $services ), WikibaseRepo::getStringNormalizer( $services ), @@ -2002,7 +2002,7 @@ return [ ); }, - 'WikibaseRepo.TermValidatorFactory' => function ( MediaWikiServices $services ): TermValidatorFactory { + 'WikibaseRepo.TermValidatorFactory' => static function ( MediaWikiServices $services ): TermValidatorFactory { $settings = WikibaseRepo::getSettings( $services ); // Use the old deprecated setting if it exists @@ -2026,23 +2026,23 @@ return [ ); }, - 'WikibaseRepo.TokenCheckInteractor' => function ( MediaWikiServices $services ): TokenCheckInteractor { + 'WikibaseRepo.TokenCheckInteractor' => static function ( MediaWikiServices $services ): TokenCheckInteractor { return new TokenCheckInteractor(); }, - 'WikibaseRepo.TypeIdsAcquirer' => function ( MediaWikiServices $services ): TypeIdsAcquirer { + 'WikibaseRepo.TypeIdsAcquirer' => static function ( MediaWikiServices $services ): TypeIdsAcquirer { return WikibaseRepo::getDatabaseTypeIdsStore( $services ); }, - 'WikibaseRepo.TypeIdsLookup' => function ( MediaWikiServices $services ): TypeIdsLookup { + 'WikibaseRepo.TypeIdsLookup' => static function ( MediaWikiServices $services ): TypeIdsLookup { return WikibaseRepo::getDatabaseTypeIdsStore( $services ); }, - 'WikibaseRepo.TypeIdsResolver' => function ( MediaWikiServices $services ): TypeIdsResolver { + 'WikibaseRepo.TypeIdsResolver' => static function ( MediaWikiServices $services ): TypeIdsResolver { return WikibaseRepo::getDatabaseTypeIdsStore( $services ); }, - 'WikibaseRepo.UnitConverter' => function ( MediaWikiServices $services ): ?UnitConverter { + 'WikibaseRepo.UnitConverter' => static function ( MediaWikiServices $services ): ?UnitConverter { $settings = WikibaseRepo::getSettings( $services ); if ( !$settings->hasSetting( 'unitStorage' ) ) { return null; @@ -2057,7 +2057,7 @@ return [ return new UnitConverter( $unitStorage, WikibaseRepo::getItemVocabularyBaseUri( $services ) ); }, - 'WikibaseRepo.UserLanguage' => function ( MediaWikiServices $services ): Language { + 'WikibaseRepo.UserLanguage' => static function ( MediaWikiServices $services ): Language { global $wgLang; // TODO: define a LanguageProvider service instead of using a global directly. @@ -2072,12 +2072,12 @@ return [ return $wgLang; }, - 'WikibaseRepo.ValidatorErrorLocalizer' => function ( MediaWikiServices $services ): ValidatorErrorLocalizer { + 'WikibaseRepo.ValidatorErrorLocalizer' => static function ( MediaWikiServices $services ): ValidatorErrorLocalizer { $formatter = WikibaseRepo::getMessageParameterFormatter( $services ); return new ValidatorErrorLocalizer( $formatter ); }, - 'WikibaseRepo.ValueFormatterFactory' => function ( MediaWikiServices $services ): OutputFormatValueFormatterFactory { + 'WikibaseRepo.ValueFormatterFactory' => static function ( MediaWikiServices $services ): OutputFormatValueFormatterFactory { $formatterFactoryCBs = WikibaseRepo::getDataTypeDefinitions( $services ) ->getFormatterFactoryCallbacks( DataTypeDefinitions::PREFIXED_MODE ); @@ -2088,7 +2088,7 @@ return [ ); }, - 'WikibaseRepo.ValueParserFactory' => function ( MediaWikiServices $services ): ValueParserFactory { + 'WikibaseRepo.ValueParserFactory' => static function ( MediaWikiServices $services ): ValueParserFactory { $dataTypeDefinitions = WikibaseRepo::getDataTypeDefinitions( $services ); $callbacks = $dataTypeDefinitions->getParserFactoryCallbacks(); @@ -2104,14 +2104,14 @@ return [ $callbacks['globecoordinate'] = $prefixedCallbacks['VT:globecoordinate']; } // 'null' is not a datatype. Kept for backwards compatibility. - $callbacks['null'] = function () { + $callbacks['null'] = static function () { return new NullParser(); }; return new ValueParserFactory( $callbacks ); }, - 'WikibaseRepo.ValueSnakRdfBuilderFactory' => function ( MediaWikiServices $services ): ValueSnakRdfBuilderFactory { + 'WikibaseRepo.ValueSnakRdfBuilderFactory' => static function ( MediaWikiServices $services ): ValueSnakRdfBuilderFactory { return new ValueSnakRdfBuilderFactory( WikibaseRepo::getDataTypeDefinitions( $services ) ->getRdfBuilderFactoryCallbacks( DataTypeDefinitions::PREFIXED_MODE ), @@ -2119,7 +2119,7 @@ return [ ); }, - 'WikibaseRepo.ViewFactory' => function ( MediaWikiServices $services ): ViewFactory { + 'WikibaseRepo.ViewFactory' => static function ( MediaWikiServices $services ): ViewFactory { $settings = WikibaseRepo::getSettings( $services ); $statementGrouperBuilder = new StatementGrouperBuilder( @@ -2161,14 +2161,14 @@ return [ ); }, - 'WikibaseRepo.WikibaseContentLanguages' => function ( MediaWikiServices $services ): WikibaseContentLanguages { + 'WikibaseRepo.WikibaseContentLanguages' => static function ( MediaWikiServices $services ): WikibaseContentLanguages { return WikibaseContentLanguages::getDefaultInstance( $services->getHookContainer(), $services->getLanguageNameUtils() ); }, - 'WikibaseRepo.WikibaseServices' => function ( MediaWikiServices $services ): WikibaseServices { + 'WikibaseRepo.WikibaseServices' => static function ( MediaWikiServices $services ): WikibaseServices { $entitySourceDefinitions = WikibaseRepo::getEntitySourceDefinitions( $services ); $singleEntitySourceServicesFactory = new SingleEntitySourceServicesFactory( WikibaseRepo::getEntityIdParser( $services ), diff --git a/repo/WikibaseRepo.datatypes.php b/repo/WikibaseRepo.datatypes.php index 7d5c3e4..b00ead2 100644 --- a/repo/WikibaseRepo.datatypes.php +++ b/repo/WikibaseRepo.datatypes.php @@ -71,7 +71,7 @@ use Wikibase\Repo\Rdf\Values\TimeRdfBuilder; use Wikibase\Repo\WikibaseRepo; use Wikimedia\Purtle\RdfWriter; -return call_user_func( function() { +return call_user_func( static function() { // NOTE: 'validator-factory-callback' callbacks act as glue between the high level interface // DataValueValidatorFactory and the low level factory for validators for well known data types, // the ValidatorBuilders class. @@ -89,25 +89,25 @@ return call_user_func( function() { return [ 'VT:bad' => [ - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseRepo::getDefaultValueFormatterBuilders(); return $factory->newUnDeserializableValueFormatter( $format, $options ); }, ], 'PT:commonsMedia' => [ 'expert-module' => 'jquery.valueview.experts.CommonsMediaType', - 'validator-factory-callback' => function() { + 'validator-factory-callback' => static function() { $factory = WikibaseRepo::getDefaultValidatorBuilders(); // Don't go for commons during unit tests. return $factory->buildMediaValidators( defined( 'MW_PHPUNIT_TEST' ) ? 'doNotCheckExistence' : 'checkExistence' ); }, - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseRepo::getDefaultValueFormatterBuilders(); return $factory->newCommonsMediaFormatter( $format, $options ); }, - 'rdf-builder-factory-callback' => function ( + 'rdf-builder-factory-callback' => static function ( $flags, RdfVocabulary $vocab, RdfWriter $writer, @@ -116,7 +116,7 @@ return call_user_func( function() { ) { return new CommonsMediaRdfBuilder( $vocab ); }, - 'rdf-data-type' => function() { + 'rdf-data-type' => static function() { return PropertySpecificComponentsRdfBuilder::OBJECT_PROPERTY; }, 'normalizer-factory-callback' => static function () { @@ -129,18 +129,18 @@ return call_user_func( function() { ], 'PT:geo-shape' => [ 'expert-module' => 'jquery.valueview.experts.GeoShape', - 'validator-factory-callback' => function() { + 'validator-factory-callback' => static function() { $factory = WikibaseRepo::getDefaultValidatorBuilders(); // Don't go for commons during unit tests. return $factory->buildGeoShapeValidators( defined( 'MW_PHPUNIT_TEST' ) ? 'doNotCheckExistence' : 'checkExistence' ); }, - 'formatter-factory-callback' => function( $format ) { + 'formatter-factory-callback' => static function( $format ) { $factory = WikibaseRepo::getDefaultValueFormatterBuilders(); return $factory->newGeoShapeFormatter( $format ); }, - 'rdf-builder-factory-callback' => function ( + 'rdf-builder-factory-callback' => static function ( $flags, RdfVocabulary $vocab, RdfWriter $writer, @@ -149,24 +149,24 @@ return call_user_func( function() { ) { return new GeoShapeRdfBuilder( $vocab ); }, - 'rdf-data-type' => function() { + 'rdf-data-type' => static function() { return PropertySpecificComponentsRdfBuilder::OBJECT_PROPERTY; }, ], 'PT:tabular-data' => [ 'expert-module' => 'jquery.valueview.experts.TabularData', - 'validator-factory-callback' => function() { + 'validator-factory-callback' => static function() { $factory = WikibaseRepo::getDefaultValidatorBuilders(); // Don't go for commons during unit tests. return $factory->buildTabularDataValidators( defined( 'MW_PHPUNIT_TEST' ) ? 'doNotCheckExistence' : 'checkExistence' ); }, - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseRepo::getDefaultValueFormatterBuilders(); return $factory->newTabularDataFormatter( $format, $options ); }, - 'rdf-builder-factory-callback' => function ( + 'rdf-builder-factory-callback' => static function ( $flags, RdfVocabulary $vocab, RdfWriter $writer, @@ -175,25 +175,25 @@ return call_user_func( function() { ) { return new TabularDataRdfBuilder( $vocab ); }, - 'rdf-data-type' => function() { + 'rdf-data-type' => static function() { return PropertySpecificComponentsRdfBuilder::OBJECT_PROPERTY; }, ], 'VT:globecoordinate' => [ 'expert-module' => 'jquery.valueview.experts.GlobeCoordinateInput', - 'validator-factory-callback' => function() { + 'validator-factory-callback' => static function() { $factory = WikibaseRepo::getDefaultValidatorBuilders(); return $factory->buildCoordinateValidators(); }, 'deserializer-builder' => GlobeCoordinateValue::class, - 'parser-factory-callback' => function( ParserOptions $options ) { + 'parser-factory-callback' => static function( ParserOptions $options ) { return new GlobeCoordinateParser( $options ); }, - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseRepo::getDefaultValueFormatterBuilders(); return $factory->newGlobeCoordinateFormatter( $format, $options ); }, - 'rdf-builder-factory-callback' => function ( + 'rdf-builder-factory-callback' => static function ( $flags, RdfVocabulary $vocab, RdfWriter $writer, @@ -207,7 +207,7 @@ return call_user_func( function() { ], 'VT:monolingualtext' => [ 'expert-module' => 'jquery.valueview.experts.MonolingualText', - 'validator-factory-callback' => function() { + 'validator-factory-callback' => static function() { $constraints = WikibaseRepo::getSettings() ->getSetting( 'string-limits' )['VT:monolingualtext']; $maxLength = $constraints['length']; @@ -215,14 +215,14 @@ return call_user_func( function() { return $factory->buildMonolingualTextValidators( $maxLength ); }, 'deserializer-builder' => MonolingualTextValue::class, - 'parser-factory-callback' => function( ParserOptions $options ) { + 'parser-factory-callback' => static function( ParserOptions $options ) { return new MonolingualTextParser( $options ); }, - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseRepo::getDefaultValueFormatterBuilders(); return $factory->newMonolingualFormatter( $format, $options ); }, - 'rdf-builder-factory-callback' => function ( + 'rdf-builder-factory-callback' => static function ( $flags, RdfVocabulary $vocab, RdfWriter $writer, @@ -234,22 +234,22 @@ return call_user_func( function() { ], 'VT:quantity' => [ 'expert-module' => 'jquery.valueview.experts.QuantityInput', - 'validator-factory-callback' => function() { + 'validator-factory-callback' => static function() { $factory = WikibaseRepo::getDefaultValidatorBuilders(); return $factory->buildQuantityValidators(); }, 'deserializer-builder' => QuantityValue::class, - 'parser-factory-callback' => function( ParserOptions $options ) { + 'parser-factory-callback' => static function( ParserOptions $options ) { $language = MediaWikiServices::getInstance()->getLanguageFactory() ->getLanguage( $options->getOption( ValueParser::OPT_LANG ) ); $unlocalizer = new MediaWikiNumberUnlocalizer( $language ); return new QuantityParser( $options, $unlocalizer ); }, - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseRepo::getDefaultValueFormatterBuilders(); return $factory->newQuantityFormatter( $format, $options ); }, - 'rdf-builder-factory-callback' => function ( + 'rdf-builder-factory-callback' => static function ( $flags, RdfVocabulary $vocab, RdfWriter $writer, @@ -262,13 +262,13 @@ return call_user_func( function() { WikibaseRepo::getUnitConverter() : null; return new QuantityRdfBuilder( $complexValueHelper, $unitConverter ); }, - 'search-index-data-formatter-callback' => function ( UnboundedQuantityValue $value ) { + 'search-index-data-formatter-callback' => static function ( UnboundedQuantityValue $value ) { return (string)round( $value->getAmount()->getValueFloat() ); }, ], 'VT:string' => [ 'expert-module' => 'jquery.valueview.experts.StringValue', - 'validator-factory-callback' => function() { + 'validator-factory-callback' => static function() { $factory = WikibaseRepo::getDefaultValidatorBuilders(); $constraints = WikibaseRepo::getSettings() ->getSetting( 'string-limits' )['VT:string']; @@ -277,15 +277,15 @@ return call_user_func( function() { return $factory->buildStringValidators( $maxLength ); }, 'deserializer-builder' => StringValue::class, - 'parser-factory-callback' => function ( ParserOptions $options ) { + 'parser-factory-callback' => static function ( ParserOptions $options ) { $normalizer = WikibaseRepo::getStringNormalizer(); return new StringParser( new WikibaseStringValueNormalizer( $normalizer ) ); }, - 'formatter-factory-callback' => function( $format ) { + 'formatter-factory-callback' => static function( $format ) { $factory = WikibaseRepo::getDefaultValueFormatterBuilders(); return $factory->newStringFormatter( $format ); }, - 'rdf-builder-factory-callback' => function ( + 'rdf-builder-factory-callback' => static function ( $flags, RdfVocabulary $vocab, RdfWriter $writer, @@ -294,7 +294,7 @@ return call_user_func( function() { ) { return new LiteralValueRdfBuilder( null, null ); }, - 'search-index-data-formatter-callback' => function ( StringValue $value ) { + 'search-index-data-formatter-callback' => static function ( StringValue $value ) { return $value->getValue(); }, 'normalizer-factory-callback' => static function () { @@ -303,20 +303,20 @@ return call_user_func( function() { ], 'VT:time' => [ 'expert-module' => 'jquery.valueview.experts.TimeInput', - 'validator-factory-callback' => function() { + 'validator-factory-callback' => static function() { $factory = WikibaseRepo::getDefaultValidatorBuilders(); return $factory->buildTimeValidators(); }, 'deserializer-builder' => TimeValue::class, - 'parser-factory-callback' => function( ParserOptions $options ) { + 'parser-factory-callback' => static function( ParserOptions $options ) { $factory = new TimeParserFactory( $options ); return $factory->getTimeParser(); }, - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseRepo::getDefaultValueFormatterBuilders(); return $factory->newTimeFormatter( $format, $options ); }, - 'rdf-builder-factory-callback' => function ( + 'rdf-builder-factory-callback' => static function ( $flags, RdfVocabulary $vocab, RdfWriter $writer, @@ -331,18 +331,18 @@ return call_user_func( function() { }, ], 'PT:url' => [ - 'validator-factory-callback' => function() { + 'validator-factory-callback' => static function() { $factory = WikibaseRepo::getDefaultValidatorBuilders(); $constraints = WikibaseRepo::getSettings() ->getSetting( 'string-limits' )['PT:url']; $maxLength = $constraints['length']; return $factory->buildUrlValidators( $maxLength ); }, - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseRepo::getDefaultValueFormatterBuilders(); return $factory->newUrlFormatter( $format, $options ); }, - 'rdf-builder-factory-callback' => function ( + 'rdf-builder-factory-callback' => static function ( $flags, RdfVocabulary $vocab, RdfWriter $writer, @@ -351,17 +351,17 @@ return call_user_func( function() { ) { return new ObjectUriRdfBuilder(); }, - 'rdf-data-type' => function() { + 'rdf-data-type' => static function() { return PropertySpecificComponentsRdfBuilder::OBJECT_PROPERTY; }, ], 'PT:external-id' => [ // NOTE: for 'formatter-factory-callback', we fall back to plain text formatting - 'snak-formatter-factory-callback' => function( $format ) { + 'snak-formatter-factory-callback' => static function( $format ) { $factory = WikibaseRepo::getDefaultSnakFormatterBuilders(); return $factory->newExternalIdentifierFormatter( $format ); }, - 'rdf-builder-factory-callback' => function ( + 'rdf-builder-factory-callback' => static function ( $mode, RdfVocabulary $vocab, RdfWriter $writer, @@ -376,7 +376,7 @@ return call_user_func( function() { }, ], 'VT:wikibase-entityid' => [ - 'validator-factory-callback' => function() { + 'validator-factory-callback' => static function() { $factory = WikibaseRepo::getDefaultValidatorBuilders(); return $factory->buildEntityValidators(); }, @@ -401,15 +401,15 @@ return call_user_func( function() { return EntityIdValue::newFromArray( $value ); } }, - 'parser-factory-callback' => function ( ParserOptions $options ) { + 'parser-factory-callback' => static function ( ParserOptions $options ) { $entityIdParser = WikibaseRepo::getEntityIdParser(); return new EntityIdValueParser( $entityIdParser ); }, - 'formatter-factory-callback' => function( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function( $format, FormatterOptions $options ) { $factory = WikibaseRepo::getDefaultValueFormatterBuilders(); return $factory->newEntityIdFormatter( $format, $options ); }, - 'rdf-builder-factory-callback' => function ( + 'rdf-builder-factory-callback' => static function ( $flags, RdfVocabulary $vocab, RdfWriter $writer, @@ -418,17 +418,17 @@ return call_user_func( function() { ) { return new EntityIdRdfBuilder( $vocab, $tracker ); }, - 'search-index-data-formatter-callback' => function ( EntityIdValue $value ) { + 'search-index-data-formatter-callback' => static function ( EntityIdValue $value ) { return $value->getEntityId()->getSerialization(); }, ], 'PT:wikibase-item' => [ 'expert-module' => 'wikibase.experts.Item', - 'validator-factory-callback' => function() { + 'validator-factory-callback' => static function() { $factory = WikibaseRepo::getDefaultValidatorBuilders(); return $factory->buildItemValidators(); }, - 'formatter-factory-callback' => function ( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function ( $format, FormatterOptions $options ) { $factory = WikibaseRepo::getDefaultValueFormatterBuilders(); $snakFormat = new SnakFormat(); @@ -450,17 +450,17 @@ return call_user_func( function() { return $factory->newEntityIdFormatter( $format, $options ); }, - 'rdf-data-type' => function() { + 'rdf-data-type' => static function() { return PropertySpecificComponentsRdfBuilder::OBJECT_PROPERTY; }, ], 'PT:wikibase-property' => [ 'expert-module' => 'wikibase.experts.Property', - 'validator-factory-callback' => function() { + 'validator-factory-callback' => static function() { $factory = WikibaseRepo::getDefaultValidatorBuilders(); return $factory->buildPropertyValidators(); }, - 'formatter-factory-callback' => function ( $format, FormatterOptions $options ) { + 'formatter-factory-callback' => static function ( $format, FormatterOptions $options ) { $factory = WikibaseRepo::getDefaultValueFormatterBuilders(); $snakFormat = new SnakFormat(); @@ -482,7 +482,7 @@ return call_user_func( function() { return $factory->newEntityIdFormatter( $format, $options ); }, - 'rdf-data-type' => function() { + 'rdf-data-type' => static function() { return PropertySpecificComponentsRdfBuilder::OBJECT_PROPERTY; }, ], diff --git a/repo/WikibaseRepo.entitytypes.php b/repo/WikibaseRepo.entitytypes.php index 329304c..1595501 100644 --- a/repo/WikibaseRepo.entitytypes.php +++ b/repo/WikibaseRepo.entitytypes.php @@ -81,15 +81,15 @@ use Wikimedia\Purtle\RdfWriter; return [ 'item' => [ - Def::ARTICLE_ID_LOOKUP_CALLBACK => function () { + Def::ARTICLE_ID_LOOKUP_CALLBACK => static function () { return new TitleLookupBasedEntityArticleIdLookup( WikibaseRepo::getEntityTitleLookup() ); }, - Def::STORAGE_SERIALIZER_FACTORY_CALLBACK => function( SerializerFactory $serializerFactory ) { + Def::STORAGE_SERIALIZER_FACTORY_CALLBACK => static function( SerializerFactory $serializerFactory ) { return $serializerFactory->newItemSerializer(); }, - Def::VIEW_FACTORY_CALLBACK => function( + Def::VIEW_FACTORY_CALLBACK => static function( Language $language, TermLanguageFallbackChain $fallbackChain, EntityDocument $entity @@ -107,24 +107,24 @@ return [ ) ); }, - Def::META_TAGS_CREATOR_CALLBACK => function ( $userLanguage ) { + Def::META_TAGS_CREATOR_CALLBACK => static function ( $userLanguage ) { $languageFallbackChainFactory = WikibaseRepo::getLanguageFallbackChainFactory(); $languageFallbackChain = $languageFallbackChainFactory->newFromLanguage( $userLanguage ); return new FingerprintableEntityMetaTagsCreator( $languageFallbackChain ); }, Def::CONTENT_MODEL_ID => ItemContent::CONTENT_MODEL_ID, - Def::CONTENT_HANDLER_FACTORY_CALLBACK => function() { + Def::CONTENT_HANDLER_FACTORY_CALLBACK => static function() { return WikibaseRepo::getItemHandler(); }, - Def::ENTITY_FACTORY_CALLBACK => function() { + Def::ENTITY_FACTORY_CALLBACK => static function() { return new Item(); }, - Def::CHANGEOP_DESERIALIZER_CALLBACK => function() { + Def::CHANGEOP_DESERIALIZER_CALLBACK => static function() { return new ItemChangeOpDeserializer( WikibaseRepo::getChangeOpDeserializerFactory() ); }, - Def::RDF_BUILDER_FACTORY_CALLBACK => function( + Def::RDF_BUILDER_FACTORY_CALLBACK => static function( $flavorFlags, RdfVocabulary $vocabulary, RdfWriter $writer, @@ -174,7 +174,7 @@ return [ $fullStatementRdfBuilderFactory ); }, - Def::RDF_BUILDER_STUB_FACTORY_CALLBACK => function( + Def::RDF_BUILDER_STUB_FACTORY_CALLBACK => static function( RdfVocabulary $vocabulary, RdfWriter $writer ) { @@ -192,7 +192,7 @@ return [ $languageCodes ); }, - Def::ENTITY_DIFF_VISUALIZER_CALLBACK => function ( + Def::ENTITY_DIFF_VISUALIZER_CALLBACK => static function ( MessageLocalizer $messageLocalizer, ClaimDiffer $claimDiffer, ClaimDifferenceVisualizer $claimDiffView, @@ -212,7 +212,7 @@ return [ $basicEntityDiffVisualizer ); }, - Def::ENTITY_SEARCH_CALLBACK => function ( WebRequest $request ) { + Def::ENTITY_SEARCH_CALLBACK => static function ( WebRequest $request ) { $itemSource = WikibaseRepo::getEntitySourceDefinitions() ->getDatabaseSourceForEntityType( Item::ENTITY_TYPE ); if ( $itemSource === null ) { @@ -241,7 +241,7 @@ return [ ] ); }, - Def::LINK_FORMATTER_CALLBACK => function( Language $language ) { + Def::LINK_FORMATTER_CALLBACK => static function( Language $language ) { $services = MediaWikiServices::getInstance(); return new DefaultEntityLinkFormatter( $language, @@ -249,7 +249,7 @@ return [ $services->getLanguageFactory() ); }, - Def::ENTITY_ID_HTML_LINK_FORMATTER_CALLBACK => function( Language $language ) { + Def::ENTITY_ID_HTML_LINK_FORMATTER_CALLBACK => static function( Language $language ) { $languageLabelLookup = WikibaseRepo::getFallbackLabelDescriptionLookupFactory() ->newLabelDescriptionLookup( $language ); return new LabelsProviderEntityIdHtmlLinkFormatter( @@ -261,47 +261,47 @@ return [ WikibaseRepo::getEntityRedirectChecker() ); }, - Def::ENTITY_REFERENCE_EXTRACTOR_CALLBACK => function() { + Def::ENTITY_REFERENCE_EXTRACTOR_CALLBACK => static function() { return new EntityReferenceExtractorCollection( [ new SiteLinkBadgeItemReferenceExtractor(), new StatementEntityReferenceExtractor( WikibaseRepo::getItemUrlParser() ), ] ); }, - Def::PREFETCHING_TERM_LOOKUP_CALLBACK => function ( DatabaseEntitySource $entitySource ) { + Def::PREFETCHING_TERM_LOOKUP_CALLBACK => static function ( DatabaseEntitySource $entitySource ) { $termIdsResolver = WikibaseRepo::getTermInLangIdsResolverFactory() ->getResolverForEntitySource( $entitySource ); return new PrefetchingItemTermLookup( $termIdsResolver ); }, - Def::URL_LOOKUP_CALLBACK => function () { + Def::URL_LOOKUP_CALLBACK => static function () { return new TitleLookupBasedEntityUrlLookup( WikibaseRepo::getEntityTitleLookup() ); }, - Def::EXISTENCE_CHECKER_CALLBACK => function () { + Def::EXISTENCE_CHECKER_CALLBACK => static function () { $services = MediaWikiServices::getInstance(); return new TitleLookupBasedEntityExistenceChecker( WikibaseRepo::getEntityTitleLookup( $services ), $services->getLinkBatchFactory() ); }, - Def::REDIRECT_CHECKER_CALLBACK => function () { + Def::REDIRECT_CHECKER_CALLBACK => static function () { return new TitleLookupBasedEntityRedirectChecker( WikibaseRepo::getEntityTitleLookup() ); }, - Def::TITLE_TEXT_LOOKUP_CALLBACK => function () { + Def::TITLE_TEXT_LOOKUP_CALLBACK => static function () { return new TitleLookupBasedEntityTitleTextLookup( WikibaseRepo::getEntityTitleLookup() ); }, ], 'property' => [ - Def::ARTICLE_ID_LOOKUP_CALLBACK => function () { + Def::ARTICLE_ID_LOOKUP_CALLBACK => static function () { return new TitleLookupBasedEntityArticleIdLookup( WikibaseRepo::getEntityTitleLookup() ); }, - Def::STORAGE_SERIALIZER_FACTORY_CALLBACK => function( SerializerFactory $serializerFactory ) { + Def::STORAGE_SERIALIZER_FACTORY_CALLBACK => static function( SerializerFactory $serializerFactory ) { return $serializerFactory->newPropertySerializer(); }, - Def::VIEW_FACTORY_CALLBACK => function( + Def::VIEW_FACTORY_CALLBACK => static function( Language $language, TermLanguageFallbackChain $fallbackChain, EntityDocument $entity @@ -319,24 +319,24 @@ return [ ) ); }, - Def::META_TAGS_CREATOR_CALLBACK => function ( Language $userLanguage ) { + Def::META_TAGS_CREATOR_CALLBACK => static function ( Language $userLanguage ) { $languageFallbackChainFactory = WikibaseRepo::getLanguageFallbackChainFactory(); $languageFallbackChain = $languageFallbackChainFactory->newFromLanguage( $userLanguage ); return new FingerprintableEntityMetaTagsCreator( $languageFallbackChain ); }, Def::CONTENT_MODEL_ID => PropertyContent::CONTENT_MODEL_ID, - Def::CONTENT_HANDLER_FACTORY_CALLBACK => function() { + Def::CONTENT_HANDLER_FACTORY_CALLBACK => static function() { return WikibaseRepo::getPropertyHandler(); }, - Def::ENTITY_FACTORY_CALLBACK => function() { + Def::ENTITY_FACTORY_CALLBACK => static function() { return Property::newFromType( '' ); }, - Def::CHANGEOP_DESERIALIZER_CALLBACK => function() { + Def::CHANGEOP_DESERIALIZER_CALLBACK => static function() { return new PropertyChangeOpDeserializer( WikibaseRepo::getChangeOpDeserializerFactory() ); }, - Def::RDF_BUILDER_FACTORY_CALLBACK => function( + Def::RDF_BUILDER_FACTORY_CALLBACK => static function( $flavorFlags, RdfVocabulary $vocabulary, RdfWriter $writer, @@ -391,7 +391,7 @@ return [ $propertySpecificRdfBuilder ); }, - Def::RDF_BUILDER_STUB_FACTORY_CALLBACK => function( + Def::RDF_BUILDER_STUB_FACTORY_CALLBACK => static function( RdfVocabulary $vocabulary, RdfWriter $writer ) { @@ -414,7 +414,7 @@ return [ $labelPredicates ); }, - Def::ENTITY_SEARCH_CALLBACK => function ( WebRequest $request ) { + Def::ENTITY_SEARCH_CALLBACK => static function ( WebRequest $request ) { $propertySource = WikibaseRepo::getEntitySourceDefinitions() ->getDatabaseSourceForEntityType( Property::ENTITY_TYPE ); if ( $propertySource === null ) { @@ -447,7 +447,7 @@ return [ WikibaseRepo::getPropertyDataTypeLookup() ); }, - Def::LINK_FORMATTER_CALLBACK => function( Language $language ) { + Def::LINK_FORMATTER_CALLBACK => static function( Language $language ) { $services = MediaWikiServices::getInstance(); return new DefaultEntityLinkFormatter( $language, @@ -455,7 +455,7 @@ return [ $services->getLanguageFactory() ); }, - Def::ENTITY_ID_HTML_LINK_FORMATTER_CALLBACK => function( Language $language ) { + Def::ENTITY_ID_HTML_LINK_FORMATTER_CALLBACK => static function( Language $language ) { $languageLabelLookup = WikibaseRepo::getFallbackLabelDescriptionLookupFactory() ->newLabelDescriptionLookup( $language ); return new LabelsProviderEntityIdHtmlLinkFormatter( @@ -467,10 +467,10 @@ return [ WikibaseRepo::getEntityRedirectChecker() ); }, - Def::ENTITY_REFERENCE_EXTRACTOR_CALLBACK => function() { + Def::ENTITY_REFERENCE_EXTRACTOR_CALLBACK => static function() { return new StatementEntityReferenceExtractor( WikibaseRepo::getItemUrlParser() ); }, - Def::PREFETCHING_TERM_LOOKUP_CALLBACK => function ( DatabaseEntitySource $entitySource ) { + Def::PREFETCHING_TERM_LOOKUP_CALLBACK => static function ( DatabaseEntitySource $entitySource ) { $mwServices = MediaWikiServices::getInstance(); $cacheSecret = hash( 'sha256', $mwServices->getMainConfig()->get( 'SecretKey' ) ); @@ -506,20 +506,20 @@ return [ WikibaseRepo::getTermsLanguages( $mwServices ) ); }, - Def::URL_LOOKUP_CALLBACK => function () { + Def::URL_LOOKUP_CALLBACK => static function () { return new TitleLookupBasedEntityUrlLookup( WikibaseRepo::getEntityTitleLookup() ); }, - Def::EXISTENCE_CHECKER_CALLBACK => function () { + Def::EXISTENCE_CHECKER_CALLBACK => static function () { $services = MediaWikiServices::getInstance(); return new TitleLookupBasedEntityExistenceChecker( WikibaseRepo::getEntityTitleLookup( $services ), $services->getLinkBatchFactory() ); }, - Def::REDIRECT_CHECKER_CALLBACK => function () { + Def::REDIRECT_CHECKER_CALLBACK => static function () { return new TitleLookupBasedEntityRedirectChecker( WikibaseRepo::getEntityTitleLookup() ); }, - Def::TITLE_TEXT_LOOKUP_CALLBACK => function () { + Def::TITLE_TEXT_LOOKUP_CALLBACK => static function () { return new TitleLookupBasedEntityTitleTextLookup( WikibaseRepo::getEntityTitleLookup() ); diff --git a/repo/config/Wikibase.default.php b/repo/config/Wikibase.default.php index 9dc9f81..e152ecb 100644 --- a/repo/config/Wikibase.default.php +++ b/repo/config/Wikibase.default.php @@ -99,7 +99,7 @@ return [ 'html', ], - 'entityDataCachePaths' => function() { + 'entityDataCachePaths' => static function() { return [ // JSON from entity page JS, compare wikibase.entityPage.entityLoaded.js wfAppendQuery( @@ -116,13 +116,13 @@ return [ 'enableEntitySearchUI' => true, - 'dataRightsUrl' => function() { + 'dataRightsUrl' => static function() { return $GLOBALS['wgRightsUrl'] ?? ''; }, 'rdfDataRightsUrl' => 'http://creativecommons.org/publicdomain/zero/1.0/', - 'dataRightsText' => function() { + 'dataRightsText' => static function() { return $GLOBALS['wgRightsText'] ?? ''; }, @@ -342,7 +342,7 @@ return [ 'defaultEntityNamespaces' => true, - 'entitySources' => function ( SettingsArray $settings ) { + 'entitySources' => static function ( SettingsArray $settings ) { if ( $settings->getSetting( 'defaultEntityNamespaces' ) ) { global $wgServer; diff --git a/repo/config/Wikibase.example.php b/repo/config/Wikibase.example.php index 05cd0e6..e005ba9 100644 --- a/repo/config/Wikibase.example.php +++ b/repo/config/Wikibase.example.php @@ -16,7 +16,7 @@ if ( !defined( 'MEDIAWIKI' ) ) { die( 'Not an entry point.' ); } -call_user_func( function() { +call_user_func( static function() { $baseNs = 120; // Define these constants immediately so they can be used in LocalSettings.php diff --git a/repo/config/Wikibase.searchindex.php b/repo/config/Wikibase.searchindex.php index 8406441..a9d5a75 100644 --- a/repo/config/Wikibase.searchindex.php +++ b/repo/config/Wikibase.searchindex.php @@ -24,7 +24,7 @@ if ( !defined( 'MEDIAWIKI' ) ) { } // @phan-suppress-next-line PhanUndeclaredVariableDim -$wgHooks['WikibaseTextForSearchIndex'][] = function( EntityContent $entityContent, &$text ) { +$wgHooks['WikibaseTextForSearchIndex'][] = static function( EntityContent $entityContent, &$text ) { if ( !( $entityContent instanceof ItemContent ) ) { return; } diff --git a/repo/includes/Api/CreateClaim.php b/repo/includes/Api/CreateClaim.php index 4b29320..641e3f6 100644 --- a/repo/includes/Api/CreateClaim.php +++ b/repo/includes/Api/CreateClaim.php @@ -108,10 +108,10 @@ class CreateClaim extends ApiBase { $changeOpFactoryProvider->getStatementChangeOpFactory(), $errorReporter, $modificationHelper, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getResultBuilder( $module ); }, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getEntitySavingHelper( $module ); }, $settings->getSetting( 'federatedPropertiesEnabled' ), diff --git a/repo/includes/Api/EditEntity.php b/repo/includes/Api/EditEntity.php index e90172f..cdabda5 100644 --- a/repo/includes/Api/EditEntity.php +++ b/repo/includes/Api/EditEntity.php @@ -180,10 +180,10 @@ class EditEntity extends ModifyEntity { LookupConstants::LATEST_FROM_MASTER ); - $returnFalse = function () { + $returnFalse = static function () { return false; }; - $latestRevision = $latestRevisionResult->onConcreteRevision( function ( $revId ) { + $latestRevision = $latestRevisionResult->onConcreteRevision( static function ( $revId ) { return $revId; } ) ->onRedirect( $returnFalse ) diff --git a/repo/includes/Api/EntityTerms.php b/repo/includes/Api/EntityTerms.php index cfa1b59..12ea50b 100644 --- a/repo/includes/Api/EntityTerms.php +++ b/repo/includes/Api/EntityTerms.php @@ -169,7 +169,7 @@ class EntityTerms extends ApiQueryBase { */ private function getEntityToPageMap( array $entityIds ): array { $entityIdsStrings = array_map( - function( EntityId $id ) { + static function( EntityId $id ) { return $id->getSerialization(); }, $entityIds diff --git a/repo/includes/Api/GetClaims.php b/repo/includes/Api/GetClaims.php index 830a5da..5a70d2b 100644 --- a/repo/includes/Api/GetClaims.php +++ b/repo/includes/Api/GetClaims.php @@ -103,10 +103,10 @@ class GetClaims extends ApiBase { $statementGuidParser, $entityIdParser, $apiHelperFactory->getErrorReporter( $mainModule ), - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getResultBuilder( $module ); }, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getEntityLoadingHelper( $module ); } ); diff --git a/repo/includes/Api/LinkTitles.php b/repo/includes/Api/LinkTitles.php index ebf7afc..b3e870f 100644 --- a/repo/includes/Api/LinkTitles.php +++ b/repo/includes/Api/LinkTitles.php @@ -117,10 +117,10 @@ class LinkTitles extends ApiBase { $apiHelperFactory->getErrorReporter( $mainModule ), $repoSettings->getSetting( 'siteLinkGroups' ), $store->getEntityRevisionLookup( Store::LOOKUP_CACHING_DISABLED ), - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getResultBuilder( $module ); }, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getEntitySavingHelper( $module ); } ); diff --git a/repo/includes/Api/ListSubscribers.php b/repo/includes/Api/ListSubscribers.php index 3bd6500..ed2ba3f 100644 --- a/repo/includes/Api/ListSubscribers.php +++ b/repo/includes/Api/ListSubscribers.php @@ -93,7 +93,7 @@ class ListSubscribers extends ApiQueryBase { } // Normalize entity ids - $idStrings = array_map( function( $entity ) { + $idStrings = array_map( static function( $entity ) { return $entity->getSerialization(); }, $entitiyIds ); diff --git a/repo/includes/Api/MergeItems.php b/repo/includes/Api/MergeItems.php index 37a9dbb..b862954 100644 --- a/repo/includes/Api/MergeItems.php +++ b/repo/includes/Api/MergeItems.php @@ -66,7 +66,7 @@ class MergeItems extends ApiBase { $moduleName, $interactor, $apiHelperFactory->getErrorReporter( $mainModule ), - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getResultBuilder( $module ); }, $settings->getSetting( 'sandboxEntityIds' ) diff --git a/repo/includes/Api/ParseValue.php b/repo/includes/Api/ParseValue.php index 198a708..cfd01c8 100644 --- a/repo/includes/Api/ParseValue.php +++ b/repo/includes/Api/ParseValue.php @@ -297,7 +297,7 @@ class ParseValue extends ApiBase { */ private function getValidatorErrorCodes( array $errors ): array { return array_map( - function ( Error $error ) { + static function ( Error $error ) { return $error->getCode(); }, $errors diff --git a/repo/includes/Api/RemoveClaims.php b/repo/includes/Api/RemoveClaims.php index 210e7fc..37eff86 100644 --- a/repo/includes/Api/RemoveClaims.php +++ b/repo/includes/Api/RemoveClaims.php @@ -120,10 +120,10 @@ class RemoveClaims extends ApiBase { $changeOpFactoryProvider->getStatementChangeOpFactory(), $modificationHelper, $statementGuidParser, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getResultBuilder( $module ); }, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getEntitySavingHelper( $module ); }, $settings->getSetting( 'federatedPropertiesEnabled' ), diff --git a/repo/includes/Api/RemoveQualifiers.php b/repo/includes/Api/RemoveQualifiers.php index 0b0aac7..5ac510d 100644 --- a/repo/includes/Api/RemoveQualifiers.php +++ b/repo/includes/Api/RemoveQualifiers.php @@ -117,10 +117,10 @@ class RemoveQualifiers extends ApiBase { $changeOpFactoryProvider->getStatementChangeOpFactory(), $modificationHelper, $statementGuidParser, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getResultBuilder( $module ); }, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getEntitySavingHelper( $module ); }, $repoSettings->getSetting( 'federatedPropertiesEnabled' ), diff --git a/repo/includes/Api/RemoveReferences.php b/repo/includes/Api/RemoveReferences.php index edcb34d..c9c6015 100644 --- a/repo/includes/Api/RemoveReferences.php +++ b/repo/includes/Api/RemoveReferences.php @@ -116,10 +116,10 @@ class RemoveReferences extends ApiBase { $changeOpFactoryProvider->getStatementChangeOpFactory(), $modificationHelper, $statementGuidParser, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getResultBuilder( $module ); }, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getEntitySavingHelper( $module ); }, $repoSettings->getSetting( 'federatedPropertiesEnabled' ), diff --git a/repo/includes/Api/ResultBuilder.php b/repo/includes/Api/ResultBuilder.php index 8ec61ef..b644739 100644 --- a/repo/includes/Api/ResultBuilder.php +++ b/repo/includes/Api/ResultBuilder.php @@ -584,7 +584,7 @@ class ResultBuilder { $modifications['*/*/claims'][] = $makeIdKvpCallback; } - $kvpMergeCallback = function( $array ) { + $kvpMergeCallback = static function( $array ) { if ( is_array( $array ) ) { $array[ApiResult::META_KVP_MERGE] = true; } @@ -783,7 +783,7 @@ class ResultBuilder { private function getSiteLinkListArrayWithUrls( array $array ) { $siteLookup = $this->siteLookup; - $addUrlCallback = function( $array ) use ( $siteLookup ) { + $addUrlCallback = static function( $array ) use ( $siteLookup ) { $site = $siteLookup->getSite( $array['site'] ); if ( $site !== null ) { $array['url'] = $site->getPageUrl( $array['title'] ); @@ -843,7 +843,7 @@ class ResultBuilder { if ( is_array( $props ) && !in_array( 'references', $props ) ) { $values = $this->modifier->modifyUsingCallbacks( $values, - [ '*/*' => function ( $array ) { + [ '*/*' => static function ( $array ) { unset( $array['references'] ); return $array; } ] @@ -989,11 +989,11 @@ class ResultBuilder { private function getReferenceArrayWithMetaData( array $array ) { return $this->modifier->modifyUsingCallbacks( $array, [ - 'snaks-order' => function ( $array ) { + 'snaks-order' => static function ( $array ) { ApiResult::setIndexedTagName( $array, 'property' ); return $array; }, - 'snaks' => function ( $array ) { + 'snaks' => static function ( $array ) { foreach ( $array as &$snakGroup ) { if ( is_array( $snakGroup ) ) { ApiResult::setArrayType( $array, 'array' ); diff --git a/repo/includes/Api/SetAliases.php b/repo/includes/Api/SetAliases.php index d6388ea..7ba2876 100644 --- a/repo/includes/Api/SetAliases.php +++ b/repo/includes/Api/SetAliases.php @@ -174,7 +174,7 @@ class SetAliases extends ModifyEntity { $stringNormalizer = $this->stringNormalizer; $aliases = array_map( - function( $str ) use ( $stringNormalizer ) { + static function( $str ) use ( $stringNormalizer ) { return $stringNormalizer->trimToNFC( $str ); }, $aliases @@ -182,7 +182,7 @@ class SetAliases extends ModifyEntity { $aliases = array_filter( $aliases, - function( $str ) { + static function( $str ) { return $str !== ''; } ); diff --git a/repo/includes/Api/SetClaim.php b/repo/includes/Api/SetClaim.php index f1ba90e..48be217 100644 --- a/repo/includes/Api/SetClaim.php +++ b/repo/includes/Api/SetClaim.php @@ -145,10 +145,10 @@ class SetClaim extends ApiBase { $changeOpFactoryProvider->getStatementChangeOpFactory(), $modificationHelper, $statementGuidParser, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getResultBuilder( $module ); }, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getEntitySavingHelper( $module ); }, $stats, diff --git a/repo/includes/Api/SetClaimValue.php b/repo/includes/Api/SetClaimValue.php index 6a81f2b..fcfa559 100644 --- a/repo/includes/Api/SetClaimValue.php +++ b/repo/includes/Api/SetClaimValue.php @@ -112,10 +112,10 @@ class SetClaimValue extends ApiBase { $changeOpFactoryProvider->getStatementChangeOpFactory(), $modificationHelper, $statementGuidParser, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getResultBuilder( $module ); }, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getEntitySavingHelper( $module ); }, $repoSettings->getSetting( 'federatedPropertiesEnabled' ), diff --git a/repo/includes/Api/SetQualifier.php b/repo/includes/Api/SetQualifier.php index 8fcf91f..c7e3194 100644 --- a/repo/includes/Api/SetQualifier.php +++ b/repo/includes/Api/SetQualifier.php @@ -125,16 +125,16 @@ class SetQualifier extends ApiBase { return new self( $mainModule, $moduleName, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getErrorReporter( $module ); }, $changeOpFactoryProvider->getStatementChangeOpFactory(), $modificationHelper, $statementGuidParser, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getResultBuilder( $module ); }, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getEntitySavingHelper( $module ); }, $repoSettings->getSetting( 'federatedPropertiesEnabled' ), diff --git a/repo/includes/Api/SetReference.php b/repo/includes/Api/SetReference.php index 0d827a2..6ed73ba 100644 --- a/repo/includes/Api/SetReference.php +++ b/repo/includes/Api/SetReference.php @@ -138,10 +138,10 @@ class SetReference extends ApiBase { $modificationHelper, $statementGuidParser, $logger, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getResultBuilder( $module ); }, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getEntitySavingHelper( $module ); }, $repoSettings->getSetting( 'federatedPropertiesEnabled' ), diff --git a/repo/includes/Api/SetSiteLink.php b/repo/includes/Api/SetSiteLink.php index 18fd2cd..bd72e31 100644 --- a/repo/includes/Api/SetSiteLink.php +++ b/repo/includes/Api/SetSiteLink.php @@ -236,7 +236,7 @@ class SetSiteLink extends ModifyEntity { } private function getBadgeItemIds( array $badges ): array { - return array_map( function( $badge ) { + return array_map( static function( $badge ) { return new ItemId( $badge ); }, $badges ); } diff --git a/repo/includes/ChangeModification/DispatchChangeModificationNotificationJob.php b/repo/includes/ChangeModification/DispatchChangeModificationNotificationJob.php index 2fccc6d..5ddcd86 100644 --- a/repo/includes/ChangeModification/DispatchChangeModificationNotificationJob.php +++ b/repo/includes/ChangeModification/DispatchChangeModificationNotificationJob.php @@ -83,7 +83,7 @@ abstract class DispatchChangeModificationNotificationJob extends Job { protected function revisionIdentifiersToJson( array $revisionIdentifiers ): string { return json_encode( array_map( - function ( RepoRevisionIdentifier $revisionIdentifier ) { + static function ( RepoRevisionIdentifier $revisionIdentifier ) { return $revisionIdentifier->toArray(); }, $revisionIdentifiers diff --git a/repo/includes/ChangeModification/DispatchChangesJob.php b/repo/includes/ChangeModification/DispatchChangesJob.php index f899d94..120454b 100644 --- a/repo/includes/ChangeModification/DispatchChangesJob.php +++ b/repo/includes/ChangeModification/DispatchChangesJob.php @@ -195,7 +195,7 @@ class DispatchChangesJob extends Job { private function getWikiIdsWithChangedSitelinks( array $changes ): array { return array_values( array_unique( array_reduce( $changes, - function ( $carry, ItemChange $change ) { + static function ( $carry, ItemChange $change ) { return array_merge( $carry, array_keys( $change->getSiteLinkDiff()->getOperations() ) ); }, [] @@ -207,7 +207,7 @@ class DispatchChangesJob extends Job { */ private function deleteChangeRows( array $changes ): void { $this->changeStore->deleteChangesByChangeIds( array_map( - function ( Change $change ): int { + static function ( Change $change ): int { return $change->getId(); }, $changes @@ -275,7 +275,7 @@ class DispatchChangesJob extends Job { */ private function getClientJobSpecification( array $changes ): IJobSpecification { $params = [ - 'changes' => array_map( function ( EntityChange $change ) { + 'changes' => array_map( static function ( EntityChange $change ) { $fields = $change->getFields(); $fields[ChangeRow::INFO] = $change->getSerializedInfo(); return $fields; diff --git a/repo/includes/ChangeOp/ChangeOpValidationException.php b/repo/includes/ChangeOp/ChangeOpValidationException.php index 696ae1c..f8cf10e 100644 --- a/repo/includes/ChangeOp/ChangeOpValidationException.php +++ b/repo/includes/ChangeOp/ChangeOpValidationException.php @@ -47,7 +47,7 @@ class ChangeOpValidationException extends ChangeOpException { * @return string */ private function composeErrorMessage( array $errors ) { - $text = implode( '; ', array_map( function( Error $error ) { + $text = implode( '; ', array_map( static function( Error $error ) { return $error->getText(); }, $errors ) ); diff --git a/repo/includes/ChangeOp/ChangeOps.php b/repo/includes/ChangeOp/ChangeOps.php index e363661..c4f3f03 100644 --- a/repo/includes/ChangeOp/ChangeOps.php +++ b/repo/includes/ChangeOp/ChangeOps.php @@ -119,7 +119,7 @@ class ChangeOps implements ChangeOp { public function getActions() { return array_unique( array_reduce( $this->changeOps, - function( array $actions, ChangeOp $changeOp ) { + static function( array $actions, ChangeOp $changeOp ) { return array_merge( $actions, $changeOp->getActions() ); }, [] diff --git a/repo/includes/Dumpers/DumpGenerator.php b/repo/includes/Dumpers/DumpGenerator.php index ef73b48..0a14823 100644 --- a/repo/includes/Dumpers/DumpGenerator.php +++ b/repo/includes/Dumpers/DumpGenerator.php @@ -82,7 +82,7 @@ abstract class DumpGenerator { $this->entityPrefetcher = $entityPrefetcher; $this->progressReporter = new NullMessageReporter(); $this->exceptionHandler = new RethrowingExceptionHandler(); - $this->batchCallback = function () { + $this->batchCallback = static function () { }; } diff --git a/repo/includes/EditEntity/MediaWikiEditEntity.php b/repo/includes/EditEntity/MediaWikiEditEntity.php index 239bd9c..5b6f5b8 100644 --- a/repo/includes/EditEntity/MediaWikiEditEntity.php +++ b/repo/includes/EditEntity/MediaWikiEditEntity.php @@ -197,7 +197,7 @@ class MediaWikiEditEntity implements EditEntity { }; $this->latestRevId = $result->onNonexistentEntity( $returnZero ) ->onRedirect( $returnZero ) - ->onConcreteRevision( function ( $revId ) { + ->onConcreteRevision( static function ( $revId ) { return $revId; } ) ->map(); diff --git a/repo/includes/FederatedProperties/ApiEntityLookup.php b/repo/includes/FederatedProperties/ApiEntityLookup.php index 1ace6bd..6f103f5 100644 --- a/repo/includes/FederatedProperties/ApiEntityLookup.php +++ b/repo/includes/FederatedProperties/ApiEntityLookup.php @@ -98,7 +98,7 @@ class ApiEntityLookup { * @return string[] */ public function getFederatedEntityIdsWithoutPrefix( array $federatedEntityIds ): array { - return array_map( function ( FederatedPropertyId $id ): string { + return array_map( static function ( FederatedPropertyId $id ): string { return $id->getRemoteIdSerialization(); }, $federatedEntityIds ); } diff --git a/repo/includes/FederatedProperties/FederatedPropertiesPrefetchingEntityParserOutputGeneratorDecorator.php b/repo/includes/FederatedProperties/FederatedPropertiesPrefetchingEntityParserOutputGeneratorDecorator.php index 9cb61a5..475e36a 100644 --- a/repo/includes/FederatedProperties/FederatedPropertiesPrefetchingEntityParserOutputGeneratorDecorator.php +++ b/repo/includes/FederatedProperties/FederatedPropertiesPrefetchingEntityParserOutputGeneratorDecorator.php @@ -56,13 +56,13 @@ class FederatedPropertiesPrefetchingEntityParserOutputGeneratorDecorator impleme return; } - $propertyIds = array_map( function( $snak ) { + $propertyIds = array_map( static function( $snak ) { return $snak->getPropertyId(); }, $entity->getStatements()->getAllSnaks() ); $federatedPropertyIds = array_filter( $propertyIds, - function ( $propId ) { + static function ( $propId ) { // TODO: after T288234 is resolved, consider more flexible filtering by type. return $propId instanceof FederatedPropertyId; } diff --git a/repo/includes/Hooks/Formatters/EntityLinkFormatterFactory.php b/repo/includes/Hooks/Formatters/EntityLinkFormatterFactory.php index 4ae0bf7..5c2fff2 100644 --- a/repo/includes/Hooks/Formatters/EntityLinkFormatterFactory.php +++ b/repo/includes/Hooks/Formatters/EntityLinkFormatterFactory.php @@ -36,7 +36,7 @@ class EntityLinkFormatterFactory { $this->callbacks = array_merge( $callbacks, - [ 'default' => function ( Language $language ) use ( $entityTitleTextLookup, $languageFactory ): EntityLinkFormatter { + [ 'default' => static function ( Language $language ) use ( $entityTitleTextLookup, $languageFactory ): EntityLinkFormatter { return new DefaultEntityLinkFormatter( $language, $entityTitleTextLookup, $languageFactory ); } ] ); diff --git a/repo/includes/Hooks/HtmlPageLinkRendererEndHookHandler.php b/repo/includes/Hooks/HtmlPageLinkRendererEndHookHandler.php index 4d085ed..cca9d95 100644 --- a/repo/includes/Hooks/HtmlPageLinkRendererEndHookHandler.php +++ b/repo/includes/Hooks/HtmlPageLinkRendererEndHookHandler.php @@ -345,7 +345,7 @@ class HtmlPageLinkRendererEndHookHandler implements HtmlPageLinkRendererEndHook private function removeNewClass( string $classes ): string { return implode( ' ', array_filter( preg_split( '/\s+/', $classes ), - function ( $class ) { + static function ( $class ) { return $class !== 'new'; } ) ); diff --git a/repo/includes/MediaWikiLocalizedTextProvider.php b/repo/includes/MediaWikiLocalizedTextProvider.php index fb9e170..3de7587 100644 --- a/repo/includes/MediaWikiLocalizedTextProvider.php +++ b/repo/includes/MediaWikiLocalizedTextProvider.php @@ -46,7 +46,7 @@ class MediaWikiLocalizedTextProvider implements LocalizedTextProvider { public function getEscaped( $key, array $params = [] ) { return ( new Message( $key, - array_map( function ( $param ) { + array_map( static function ( $param ) { return $param instanceof RawMessageParameter ? Message::rawParam( $param->getContents() ) : $param; }, $params ), $this->language diff --git a/repo/includes/Parsers/MwTimeIsoParser.php b/repo/includes/Parsers/MwTimeIsoParser.php index 6dbe798..261bf13 100644 --- a/repo/includes/Parsers/MwTimeIsoParser.php +++ b/repo/includes/Parsers/MwTimeIsoParser.php @@ -210,7 +210,7 @@ class MwTimeIsoParser extends StringValueParser { // Expand the PLURAL cases $regex = preg_replace_callback( $pluralRegex, - function ( $matches ) { + static function ( $matches ) { // Change "{{PLURAL:$1" to "(?:" and "}}" to ")" $replace = str_replace( '\{\{PLURAL\:\$1\|', '(?:', $matches[0] ); $replace = str_replace( '\}\}', ')', $replace ); diff --git a/repo/includes/PropertyServices.php b/repo/includes/PropertyServices.php index ec69b6c..defb08c 100644 --- a/repo/includes/PropertyServices.php +++ b/repo/includes/PropertyServices.php @@ -58,11 +58,11 @@ class PropertyServices { public static function getServiceDefinitions( MediaWikiServices $services ): array { return [ self::PROPERTY_DATA_TYPE_LOOKUP_CALLBACK => [ - ApiEntitySource::TYPE => function () use ( $services ) { + ApiEntitySource::TYPE => static function () use ( $services ) { return WikibaseRepo::getFederatedPropertiesServiceFactory( $services ) ->newApiPropertyDataTypeLookup(); }, - DatabaseEntitySource::TYPE => function () use ( $services ) { + DatabaseEntitySource::TYPE => static function () use ( $services ) { $infoLookup = WikibaseRepo::getPropertyInfoLookup( $services ); $entityLookup = WikibaseRepo::getEntityLookup( $services ); $retrievingLookup = new EntityRetrievingDataTypeLookup( $entityLookup ); diff --git a/repo/includes/Rdf/RdfBuilder.php b/repo/includes/Rdf/RdfBuilder.php index 1edc23f..595ad0c 100644 --- a/repo/includes/Rdf/RdfBuilder.php +++ b/repo/includes/Rdf/RdfBuilder.php @@ -347,15 +347,15 @@ class RdfBuilder implements EntityRdfBuilder, EntityStubRdfBuilder, EntityMentio $lookupResult = $this->entityRevisionLookup->getLatestRevisionId( $id ); $lookupStatus = $lookupResult->onNonexistentEntity( - function () { + static function () { return 'nonexistent'; } )->onConcreteRevision( - function () { + static function () { return 'concrete revision'; } )->onRedirect( - function ( $revisionId, $redirectsTo ) { + static function ( $revisionId, $redirectsTo ) { return $redirectsTo; } )->map(); diff --git a/repo/includes/Rdf/RdfVocabulary.php b/repo/includes/Rdf/RdfVocabulary.php index 1a18e14..3a33928 100644 --- a/repo/includes/Rdf/RdfVocabulary.php +++ b/repo/includes/Rdf/RdfVocabulary.php @@ -222,7 +222,7 @@ class RdfVocabulary { $this->propertyNamespaceNames[$repositoryOrSourceName] = array_combine( $propertyNamespaces, array_map( - function ( $ns ) use ( $predicateNamespacePrefix ) { + static function ( $ns ) use ( $predicateNamespacePrefix ) { return $predicateNamespacePrefix . $ns; }, $propertyNamespaces @@ -231,7 +231,7 @@ class RdfVocabulary { $this->propertyNamespaceNames[$repositoryOrSourceName] += array_combine( $propertyNamespacesUseNodePrefix, array_map( - function ( $ns ) use ( $nodeNamespacePrefix ) { + static function ( $ns ) use ( $nodeNamespacePrefix ) { return $nodeNamespacePrefix . $ns; }, $propertyNamespacesUseNodePrefix diff --git a/repo/includes/RepoHooks.php b/repo/includes/RepoHooks.php index 3d0df5f..4433422 100644 --- a/repo/includes/RepoHooks.php +++ b/repo/includes/RepoHooks.php @@ -147,7 +147,7 @@ final class RepoHooks { // Register callbacks for instantiating ContentHandlers for EntityContent. foreach ( $contentModelIds as $entityType => $model ) { - $wgContentHandlers[$model] = function () use ( $entityType ) { + $wgContentHandlers[$model] = static function () use ( $entityType ) { $entityContentFactory = WikibaseRepo::getEntityContentFactory(); return $entityContentFactory->getContentHandlerForType( $entityType ); }; @@ -933,7 +933,7 @@ final class RepoHooks { [ 'name' => 'resources/contentLanguages.json', - 'callback' => function () { + 'callback' => static function () { $contentLanguages = WikibaseRepo::getWikibaseContentLanguages(); return [ WikibaseContentLanguages::CONTEXT_MONOLINGUAL_TEXT => $contentLanguages @@ -1035,12 +1035,12 @@ final class RepoHooks { public static function onParserOptionsRegister( &$defaults, &$inCacheKey, &$lazyOptions ) { $defaults['wb'] = null; $inCacheKey['wb'] = true; - $lazyOptions['wb'] = function () { + $lazyOptions['wb'] = static function () { return EntityHandler::PARSER_VERSION; }; $defaults['termboxVersion'] = null; $inCacheKey['termboxVersion'] = true; - $lazyOptions['termboxVersion'] = function () { + $lazyOptions['termboxVersion'] = static function () { return TermboxFlag::getInstance()->shouldRenderTermbox() ? TermboxView::TERMBOX_VERSION . TermboxView::CACHE_VERSION : PlaceholderEmittingEntityTermsView::TERMBOX_VERSION . PlaceholderEmittingEntityTermsView::CACHE_VERSION; @@ -1059,12 +1059,12 @@ final class RepoHooks { 'meta', [ 'class' => MetaDataBridgeConfig::class, - 'factory' => function( ApiQuery $apiQuery, string $moduleName, SettingsArray $repoSettings ) { + 'factory' => static function( ApiQuery $apiQuery, string $moduleName, SettingsArray $repoSettings ) { return new MetaDataBridgeConfig( $repoSettings, $apiQuery, $moduleName, - function ( string $pagename ): ?string { + static function ( string $pagename ): ?string { $pageTitle = Title::newFromText( $pagename ); return $pageTitle ? $pageTitle->getFullURL() : null; } diff --git a/repo/includes/Specials/ParameterizedDescriptionTrait.php b/repo/includes/Specials/ParameterizedDescriptionTrait.php index 30ba14a..623d52b 100644 --- a/repo/includes/Specials/ParameterizedDescriptionTrait.php +++ b/repo/includes/Specials/ParameterizedDescriptionTrait.php @@ -52,7 +52,7 @@ trait ParameterizedDescriptionTrait { $this->descriptionParameters = implode( wfMessage( 'special-parameterized-description-separator' )->text(), array_map( - function( $item ) { + static function( $item ) { return wfMessage( 'wikibase-entity-' . $item )->text(); }, $this->editableEntities diff --git a/repo/includes/Specials/SpecialAvailableBadges.php b/repo/includes/Specials/SpecialAvailableBadges.php index bd0730d..76bc3e6 100644 --- a/repo/includes/Specials/SpecialAvailableBadges.php +++ b/repo/includes/Specials/SpecialAvailableBadges.php @@ -78,7 +78,7 @@ class SpecialAvailableBadges extends SpecialWikibasePage { } /** @var ItemId[] $itemIds */ - $itemIds = array_map( function( $idString ) { + $itemIds = array_map( static function( $idString ) { // XXX: Maybe we should use PrefixMappingEntityIdParser for federation? return new ItemId( $idString ); }, array_keys( $this->badgeItems ) ); diff --git a/repo/includes/Specials/SpecialGoToLinkedPage.php b/repo/includes/Specials/SpecialGoToLinkedPage.php index c1ea4fa..597c1e5 100644 --- a/repo/includes/Specials/SpecialGoToLinkedPage.php +++ b/repo/includes/Specials/SpecialGoToLinkedPage.php @@ -257,7 +257,7 @@ class SpecialGoToLinkedPage extends SpecialWikibasePage { ->setSubmitID( 'wb-gotolinkedpage-submit' ) ->setSubmitTextMsg( 'wikibase-gotolinkedpage-submit' ) ->setWrapperLegendMsg( 'wikibase-gotolinkedpage-lookup-fieldset' ) - ->setSubmitCallback( function () {// no-op + ->setSubmitCallback( static function () {// no-op } )->show(); } diff --git a/repo/includes/Specials/SpecialItemByTitle.php b/repo/includes/Specials/SpecialItemByTitle.php index 8b8ffc5..46feafc 100644 --- a/repo/includes/Specials/SpecialItemByTitle.php +++ b/repo/includes/Specials/SpecialItemByTitle.php @@ -242,7 +242,7 @@ class SpecialItemByTitle extends SpecialWikibasePage { ->setSubmitID( 'wb-itembytitle-submit' ) ->setSubmitTextMsg( 'wikibase-itembytitle-submit' ) ->setWrapperLegendMsg( 'wikibase-itembytitle-lookup-fieldset' ) - ->setSubmitCallback( function () {// no-op + ->setSubmitCallback( static function () {// no-op } )->show(); if ( $siteId && !$siteExists ) { diff --git a/repo/includes/Specials/SpecialItemDisambiguation.php b/repo/includes/Specials/SpecialItemDisambiguation.php index 1ab9375..dcaa27f 100644 --- a/repo/includes/Specials/SpecialItemDisambiguation.php +++ b/repo/includes/Specials/SpecialItemDisambiguation.php @@ -221,7 +221,7 @@ class SpecialItemDisambiguation extends SpecialWikibasePage { ) ) ->setWrapperLegendMsg( 'wikibase-itemdisambiguation-lookup-fieldset' ) ->suppressDefaultSubmit() - ->setSubmitCallback( function () {// no-op + ->setSubmitCallback( static function () {// no-op } )->show(); } diff --git a/repo/includes/Specials/SpecialListProperties.php b/repo/includes/Specials/SpecialListProperties.php index 539bff6..725c7a7 100644 --- a/repo/includes/Specials/SpecialListProperties.php +++ b/repo/includes/Specials/SpecialListProperties.php @@ -146,7 +146,7 @@ class SpecialListProperties extends SpecialWikibaseQueryPage { ->setMethod( 'get' ) ->setWrapperLegendMsg( 'wikibase-listproperties-legend' ) ->suppressDefaultSubmit() - ->setSubmitCallback( function () { + ->setSubmitCallback( static function () { } ) ->show(); } diff --git a/repo/includes/Specials/SpecialMergeItems.php b/repo/includes/Specials/SpecialMergeItems.php index 5121d87..6a90e15 100644 --- a/repo/includes/Specials/SpecialMergeItems.php +++ b/repo/includes/Specials/SpecialMergeItems.php @@ -245,7 +245,7 @@ class SpecialMergeItems extends SpecialWikibasePage { ->setSubmitName( 'wikibase-mergeitems-submit' ) ->setSubmitTextMsg( 'wikibase-mergeitems-submit' ) ->setWrapperLegendMsg( 'special-mergeitems' ) - ->setSubmitCallback( function () {// no-op + ->setSubmitCallback( static function () {// no-op } )->show(); } diff --git a/repo/includes/Specials/SpecialModifyEntity.php b/repo/includes/Specials/SpecialModifyEntity.php index 04e994d..775c093 100644 --- a/repo/includes/Specials/SpecialModifyEntity.php +++ b/repo/includes/Specials/SpecialModifyEntity.php @@ -299,7 +299,7 @@ abstract class SpecialModifyEntity extends SpecialWikibaseRepoPage { ->setSubmitName( $submitKey ) ->setSubmitTextMsg( $submitKey ) ->setWrapperLegendMsg( $this->getDescription() ) - ->setSubmitCallback( function () { + ->setSubmitCallback( static function () { // no-op } )->show(); } diff --git a/repo/includes/Specials/SpecialRedirectEntity.php b/repo/includes/Specials/SpecialRedirectEntity.php index efb2b49..21b6e23 100644 --- a/repo/includes/Specials/SpecialRedirectEntity.php +++ b/repo/includes/Specials/SpecialRedirectEntity.php @@ -172,7 +172,7 @@ class SpecialRedirectEntity extends SpecialWikibasePage { ->setSubmitName( 'wikibase-redirectentity-submit' ) ->setSubmitTextMsg( 'wikibase-redirectentity-submit' ) ->setWrapperLegendMsg( 'special-redirectentity' ) - ->setSubmitCallback( function () {// no-op + ->setSubmitCallback( static function () {// no-op } )->show(); } diff --git a/repo/includes/Specials/SpecialSetSiteLink.php b/repo/includes/Specials/SpecialSetSiteLink.php index fd6a1b1..9d40337 100644 --- a/repo/includes/Specials/SpecialSetSiteLink.php +++ b/repo/includes/Specials/SpecialSetSiteLink.php @@ -372,7 +372,7 @@ class SpecialSetSiteLink extends SpecialModifyEntity { /** @var ItemId[] $badgeItemIds */ $badgeItemIds = array_map( - function( $badgeId ) { + static function( $badgeId ) { return new ItemId( $badgeId ); }, array_keys( $this->badgeItems ) @@ -436,7 +436,7 @@ class SpecialSetSiteLink extends SpecialModifyEntity { } return array_map( - function( ItemId $badge ) { + static function( ItemId $badge ) { return $badge->getSerialization(); }, $item->getSiteLinkList()->getBySiteId( $siteId )->getBadges() diff --git a/repo/includes/Store/Sql/DatabaseSchemaUpdater.php b/repo/includes/Store/Sql/DatabaseSchemaUpdater.php index 8506b03..0b04b45 100644 --- a/repo/includes/Store/Sql/DatabaseSchemaUpdater.php +++ b/repo/includes/Store/Sql/DatabaseSchemaUpdater.php @@ -190,7 +190,7 @@ class DatabaseSchemaUpdater implements LoadExtensionSchemaUpdatesHook { ); $reporter = new ObservableMessageReporter(); $reporter->registerReporterCallback( - function ( $msg ) use ( $updater ) { + static function ( $msg ) use ( $updater ) { $updater->output( "..." . $msg . "\n" ); } ); @@ -225,7 +225,7 @@ class DatabaseSchemaUpdater implements LoadExtensionSchemaUpdatesHook { } $reporter = new ObservableMessageReporter(); $reporter->registerReporterCallback( - function ( $msg ) use ( $updater ) { + static function ( $msg ) use ( $updater ) { $updater->output( "..." . $msg . "\n" ); } ); @@ -306,7 +306,7 @@ class DatabaseSchemaUpdater implements LoadExtensionSchemaUpdatesHook { ); $reporter = new ObservableMessageReporter(); - $reporter->registerReporterCallback( function( $msg ) use ( $dbUpdater ) { + $reporter->registerReporterCallback( static function( $msg ) use ( $dbUpdater ) { $dbUpdater->output( "\t$msg\n" ); } ); $primer->setProgressReporter( $reporter ); diff --git a/repo/includes/SummaryFormatter.php b/repo/includes/SummaryFormatter.php index 5049581..344d00c 100644 --- a/repo/includes/SummaryFormatter.php +++ b/repo/includes/SummaryFormatter.php @@ -133,7 +133,7 @@ class SummaryFormatter { } else { $parts = array_filter( $parts, - function ( $arg ) { + static function ( $arg ) { return $arg !== ''; } ); diff --git a/repo/includes/WikibasePingback.php b/repo/includes/WikibasePingback.php index 6273493..84ed55b 100644 --- a/repo/includes/WikibasePingback.php +++ b/repo/includes/WikibasePingback.php @@ -218,7 +218,7 @@ class WikibasePingback { $currentExtensions = array_keys( $this->extensionRegistry->getAllThings() ); - return array_reduce( $currentExtensions, function ( $tracked, $current ) use ( $extensions ) { + return array_reduce( $currentExtensions, static function ( $tracked, $current ) use ( $extensions ) { return array_key_exists( $current, $extensions ) ? array_merge( $tracked, [ $extensions[ $current ] ] ) : $tracked; @@ -368,7 +368,7 @@ class WikibasePingback { * sent and (if so) proceed to send it. */ public static function schedulePingback() { - DeferredUpdates::addCallableUpdate( function () { + DeferredUpdates::addCallableUpdate( static function () { WikibasePingback::doSchedule(); } ); } diff --git a/repo/maintenance/DumpEntities.php b/repo/maintenance/DumpEntities.php index 6581005..9902ed9 100644 --- a/repo/maintenance/DumpEntities.php +++ b/repo/maintenance/DumpEntities.php @@ -252,7 +252,7 @@ abstract class DumpEntities extends Maintenance { return; } - $settingsBuilder->registerHookHandlers( [ 'MediaWikiServices' => [ function() { + $settingsBuilder->registerHookHandlers( [ 'MediaWikiServices' => [ static function() { global $wgDBDefaultGroup; if ( !ExtensionRegistry::getInstance()->isLoaded( 'WikibaseRepository' ) ) { // Something instantiates the MediaWikiServices before Wikibase diff --git a/repo/maintenance/ResubmitChanges.php b/repo/maintenance/ResubmitChanges.php index 53b2c25..e10f7fa 100644 --- a/repo/maintenance/ResubmitChanges.php +++ b/repo/maintenance/ResubmitChanges.php @@ -59,7 +59,7 @@ class ResubmitChanges extends Maintenance { } private function makeChangesIntoJobs( array $changes ): array { - return array_map( function ( EntityChange $change ): IJobSpecification { + return array_map( static function ( EntityChange $change ): IJobSpecification { return DispatchChangesJob::makeJobSpecification( $change->getEntityId()->getSerialization() ); }, $changes ); } diff --git a/repo/maintenance/addUnitConversions.php b/repo/maintenance/addUnitConversions.php index 05b513a..271fd06 100644 --- a/repo/maintenance/addUnitConversions.php +++ b/repo/maintenance/addUnitConversions.php @@ -278,7 +278,7 @@ QUERY; * @param string[] $map Map old id -> normalized id */ private function processStatements( $values, $map ) { - $shortValues = array_map( function ( $str ) { + $shortValues = array_map( static function ( $str ) { return 'wdv:' . $str; }, $values ); $valuesStr = implode( ' ', $shortValues ); diff --git a/repo/maintenance/searchEntities.php b/repo/maintenance/searchEntities.php index 981003b..1d35d74 100644 --- a/repo/maintenance/searchEntities.php +++ b/repo/maintenance/searchEntities.php @@ -140,7 +140,7 @@ class SearchEntities extends Maintenance { */ private function getSearchHelper( $engine ) { $engines = [ - 'sql' => function() { + 'sql' => static function() { return WikibaseRepo::getEntitySearchHelper(); }, ]; diff --git a/repo/maintenance/updateUnits.php b/repo/maintenance/updateUnits.php index 1749223..ceeb27c 100644 --- a/repo/maintenance/updateUnits.php +++ b/repo/maintenance/updateUnits.php @@ -131,7 +131,7 @@ class UpdateUnits extends Maintenance { // Sort units by Q-id, as number, to have predictable order uksort( $convertUnits, - function ( $x, $y ) { + static function ( $x, $y ) { return (int)substr( $x, 1 ) - (int)substr( $y, 1 ); } ); diff --git a/repo/resources/Resources.php b/repo/resources/Resources.php index 9b4d57c..c5cb68b 100644 --- a/repo/resources/Resources.php +++ b/repo/resources/Resources.php @@ -17,7 +17,7 @@ use Wikibase\Repo\WikibaseRepo; * * @codeCoverageIgnoreStart */ -return call_user_func( function() { +return call_user_func( static function() { $moduleTemplate = [ 'localBasePath' => __DIR__, 'remoteExtPath' => 'Wikibase/repo/resources', @@ -93,7 +93,7 @@ return call_user_func( function() { 'mw.config.values.wbDataTypes' => $moduleTemplate + [ 'class' => DataTypesModule::class, - 'datatypefactory' => function() { + 'datatypefactory' => static function() { return WikibaseRepo::getDataTypeFactory(); }, 'datatypesconfigvarname' => 'wbDataTypes', @@ -102,7 +102,7 @@ return call_user_func( function() { // Temporary, see: T199197 'mw.config.values.wbRefTabsEnabled' => $moduleTemplate + [ 'class' => MediaWikiConfigModule::class, - 'getconfigvalueprovider' => function () { + 'getconfigvalueprovider' => static function () { return new SettingsValueProvider( WikibaseRepo::getSettings(), 'wbRefTabsEnabled', @@ -113,7 +113,7 @@ return call_user_func( function() { 'mw.config.values.wbEnableMulLanguageCode' => $moduleTemplate + [ 'class' => MediaWikiConfigModule::class, - 'getconfigvalueprovider' => function () { + 'getconfigvalueprovider' => static function () { return new SettingsValueProvider( WikibaseRepo::getSettings(), 'wbEnableMulLanguageCode', @@ -125,7 +125,7 @@ return call_user_func( function() { // Temporary, see: T339104, to be removed in T330217 'mw.config.values.wbTmpAlwaysShowMulLanguageCode' => $moduleTemplate + [ 'class' => MediaWikiConfigModule::class, - 'getconfigvalueprovider' => function () { + 'getconfigvalueprovider' => static function () { return new SettingsValueProvider( WikibaseRepo::getSettings(), 'wbTmpAlwaysShowMulLanguageCode', @@ -150,7 +150,7 @@ return call_user_func( function() { [ "name" => "config.json", - "callback" => function () { + "callback" => static function () { return [ 'entityTypes' => WikibaseRepo::getEntityTypesConfigValue(), ]; @@ -168,7 +168,7 @@ return call_user_func( function() { 'wikibase.getUserLanguages.js', [ 'name' => 'termLanguages.json', - 'callback' => function () { + 'callback' => static function () { return WikibaseRepo::getTermsLanguages()->getLanguages(); }, ], @@ -213,7 +213,7 @@ return call_user_func( function() { 'repo/resources/wikibase.PropertyDataTypeStore.js', [ "name" => "repo/resources/config.json", - "callback" => function () { + "callback" => static function () { $settings = WikibaseRepo::getSettings(); $tempUserEnabled = MediaWikiServices::getInstance()->getTempUserConfig()->isEnabled(); $dataTypeDefinitions = WikibaseRepo::getDataTypeDefinitions(); @@ -326,7 +326,7 @@ return call_user_func( function() { ], 'wikibase.experts.modules' => $moduleTemplate + [ - 'factory' => function () { + 'factory' => static function () { return WikibaseRepo::getPropertyValueExpertsModule(); }, ], @@ -347,7 +347,7 @@ return call_user_func( function() { 'wikibase.federatedPropertiesLeavingSiteNotice.js', [ 'name' => 'federatedPropertiesHostWikibase.json', - 'callback' => function () { + 'callback' => static function () { return parse_url( WikibaseRepo::getSettings()->getSetting( 'federatedPropertiesSourceScriptUrl' ), PHP_URL_HOST diff --git a/repo/rest-api/src/Application/UseCases/PatchItem/PatchedItemValidator.php b/repo/rest-api/src/Application/UseCases/PatchItem/PatchedItemValidator.php index 3078db4..f5d9d9e 100644 --- a/repo/rest-api/src/Application/UseCases/PatchItem/PatchedItemValidator.php +++ b/repo/rest-api/src/Application/UseCases/PatchItem/PatchedItemValidator.php @@ -286,7 +286,7 @@ class PatchedItemValidator { private function getModifiedSitelinksSites( Sitelinks $originalSitelinks, array $patchedSitelinks ): array { return array_filter( array_keys( $patchedSitelinks ), - function( string $siteId ) use ( $patchedSitelinks, $originalSitelinks ) { + static function( string $siteId ) use ( $patchedSitelinks, $originalSitelinks ) { $originalBadges = fn() => array_map( fn( ItemId $i ) => (string)$i, $originalSitelinks[$siteId]->getBadges() ); return !isset( $originalSitelinks[$siteId] ) diff --git a/repo/rest-api/src/Infrastructure/DataAccess/WikibaseEntityRevisionLookupPropertyRevisionMetadataRetriever.php b/repo/rest-api/src/Infrastructure/DataAccess/WikibaseEntityRevisionLookupPropertyRevisionMetadataRetriever.php index 5d93f29..ad45d58 100644 --- a/repo/rest-api/src/Infrastructure/DataAccess/WikibaseEntityRevisionLookupPropertyRevisionMetadataRetriever.php +++ b/repo/rest-api/src/Infrastructure/DataAccess/WikibaseEntityRevisionLookupPropertyRevisionMetadataRetriever.php @@ -24,7 +24,7 @@ class WikibaseEntityRevisionLookupPropertyRevisionMetadataRetriever implements P ->onConcreteRevision( fn( $id, $timestamp ) => MetadataResult::concreteRevision( $id, $timestamp ) ) ->onRedirect( /** @return never */ - function (): void { + static function (): void { throw new LogicException( 'Properties cannot be redirected' ); } )->onNonexistentEntity( fn() => MetadataResult::propertyNotFound() ) diff --git a/repo/rest-api/src/WbRestApi.ServiceWiring.php b/repo/rest-api/src/WbRestApi.ServiceWiring.php index 49235fe..d8ea4f4 100644 --- a/repo/rest-api/src/WbRestApi.ServiceWiring.php +++ b/repo/rest-api/src/WbRestApi.ServiceWiring.php @@ -199,17 +199,17 @@ use Wikibase\Repo\WikibaseRepo; return [ VRD::ALIAS_LANGUAGE_CODE_REQUEST_VALIDATING_DESERIALIZER => - function ( MediaWikiServices $services ): LanguageCodeRequestValidatingDeserializer { + static function ( MediaWikiServices $services ): LanguageCodeRequestValidatingDeserializer { return new LanguageCodeRequestValidatingDeserializer( WbRestApi::getAliasLanguageCodeValidator( $services ) ); }, VRD::DESCRIPTION_LANGUAGE_CODE_REQUEST_VALIDATING_DESERIALIZER => - function ( MediaWikiServices $services ): LanguageCodeRequestValidatingDeserializer { + static function ( MediaWikiServices $services ): LanguageCodeRequestValidatingDeserializer { return new LanguageCodeRequestValidatingDeserializer( WbRestApi::getDescriptionLanguageCodeValidator( $services ) ); }, VRD::EDIT_METADATA_REQUEST_VALIDATING_DESERIALIZER => - function ( MediaWikiServices $services ): EditMetadataRequestValidatingDeserializer { + static function ( MediaWikiServices $services ): EditMetadataRequestValidatingDeserializer { return new EditMetadataRequestValidatingDeserializer( new EditMetadataValidator( CommentStore::COMMENT_CHARACTER_LIMIT, @@ -219,7 +219,7 @@ return [ }, VRD::ITEM_ALIASES_IN_LANGUAGE_EDIT_REQUEST_VALIDATING_DESERIALIZER => - function ( MediaWikiServices $services ): ItemAliasesInLanguageEditRequestValidatingDeserializer { + static function ( MediaWikiServices $services ): ItemAliasesInLanguageEditRequestValidatingDeserializer { return new ItemAliasesInLanguageEditRequestValidatingDeserializer( new AliasesInLanguageDeserializer(), new TermValidatorFactoryAliasesInLanguageValidator( WikibaseRepo::getTermValidatorFactory( $services ) ) @@ -227,7 +227,7 @@ return [ }, VRD::ITEM_DESCRIPTION_EDIT_REQUEST_VALIDATING_DESERIALIZER => - function ( MediaWikiServices $services ): ItemDescriptionEditRequestValidatingDeserializer { + static function ( MediaWikiServices $services ): ItemDescriptionEditRequestValidatingDeserializer { return new ItemDescriptionEditRequestValidatingDeserializer( new TermValidatorFactoryItemDescriptionValidator( WikibaseRepo::getTermValidatorFactory( $services ), @@ -237,19 +237,19 @@ return [ ); }, - VRD::ITEM_FIELDS_REQUEST_VALIDATING_DESERIALIZER => function (): MappedRequestValidatingDeserializer { + VRD::ITEM_FIELDS_REQUEST_VALIDATING_DESERIALIZER => static function (): MappedRequestValidatingDeserializer { $fieldsValidator = new FieldsFilterValidatingDeserializer( ItemParts::VALID_FIELDS ); return new MappedRequestValidatingDeserializer( fn( ItemFieldsRequest $r ) => $fieldsValidator->validateAndDeserialize( $r->getItemFields() ) ); }, - VRD::ITEM_ID_REQUEST_VALIDATING_DESERIALIZER => function(): ItemIdRequestValidatingDeserializer { + VRD::ITEM_ID_REQUEST_VALIDATING_DESERIALIZER => static function(): ItemIdRequestValidatingDeserializer { return new ItemIdRequestValidatingDeserializer(); }, VRD::ITEM_LABEL_EDIT_REQUEST_VALIDATING_DESERIALIZER => - function ( MediaWikiServices $services ): ItemLabelEditRequestValidatingDeserializer { + static function ( MediaWikiServices $services ): ItemLabelEditRequestValidatingDeserializer { return new ItemLabelEditRequestValidatingDeserializer( new TermValidatorFactoryItemLabelValidator( WikibaseRepo::getTermValidatorFactory( $services ), @@ -260,7 +260,7 @@ return [ }, VRD::ITEM_SERIALIZATION_REQUEST_VALIDATING_DESERIALIZER => - function( MediaWikiServices $services ): ItemSerializationRequestValidatingDeserializer { + static function( MediaWikiServices $services ): ItemSerializationRequestValidatingDeserializer { return new ItemSerializationRequestValidatingDeserializer( new ItemValidator( new LabelsSyntaxValidator( @@ -302,21 +302,21 @@ return [ ); }, - VRD::ITEM_STATEMENT_ID_REQUEST_VALIDATOR => function (): ItemStatementIdRequestValidator { + VRD::ITEM_STATEMENT_ID_REQUEST_VALIDATOR => static function (): ItemStatementIdRequestValidator { return new ItemStatementIdRequestValidator(); }, VRD::LABEL_LANGUAGE_CODE_REQUEST_VALIDATING_DESERIALIZER => - function ( MediaWikiServices $services ): LanguageCodeRequestValidatingDeserializer { + static function ( MediaWikiServices $services ): LanguageCodeRequestValidatingDeserializer { return new LanguageCodeRequestValidatingDeserializer( WbRestApi::getLabelLanguageCodeValidator( $services ) ); }, - VRD::PATCH_REQUEST_VALIDATING_DESERIALIZER => function (): PatchRequestValidatingDeserializer { + VRD::PATCH_REQUEST_VALIDATING_DESERIALIZER => static function (): PatchRequestValidatingDeserializer { return new PatchRequestValidatingDeserializer( new JsonDiffJsonPatchValidator() ); }, VRD::PROPERTY_ALIASES_IN_LANGUAGE_EDIT_REQUEST_VALIDATING_DESERIALIZER => - function ( MediaWikiServices $services ): PropertyAliasesInLanguageEditRequestValidatingDeserializer { + static function ( MediaWikiServices $services ): PropertyAliasesInLanguageEditRequestValidatingDeserializer { return new PropertyAliasesInLanguageEditRequestValidatingDeserializer( new AliasesInLanguageDeserializer(), new TermValidatorFactoryAliasesInLanguageValidator( WikibaseRepo::getTermValidatorFactory( $services ) ) @@ -324,21 +324,21 @@ return [ }, VRD::PROPERTY_DESCRIPTION_EDIT_REQUEST_VALIDATING_DESERIALIZER => - function ( MediaWikiServices $services ): PropertyDescriptionEditRequestValidatingDeserializer { + static function ( MediaWikiServices $services ): PropertyDescriptionEditRequestValidatingDeserializer { return new PropertyDescriptionEditRequestValidatingDeserializer( new TermValidatorFactoryPropertyDescriptionValidator( WikibaseRepo::getTermValidatorFactory( $services ) ), WbRestApi::getPropertyDataRetriever( $services ) ); }, - VRD::PROPERTY_FIELDS_REQUEST_VALIDATING_DESERIALIZER => function (): MappedRequestValidatingDeserializer { + VRD::PROPERTY_FIELDS_REQUEST_VALIDATING_DESERIALIZER => static function (): MappedRequestValidatingDeserializer { $fieldsValidator = new FieldsFilterValidatingDeserializer( PropertyParts::VALID_FIELDS ); return new MappedRequestValidatingDeserializer( fn( PropertyFieldsRequest $r ) => $fieldsValidator->validateAndDeserialize( $r->getPropertyFields() ) ); }, - VRD::PROPERTY_ID_FILTER_REQUEST_VALIDATING_DESERIALIZER => function(): MappedRequestValidatingDeserializer { + VRD::PROPERTY_ID_FILTER_REQUEST_VALIDATING_DESERIALIZER => static function(): MappedRequestValidatingDeserializer { $propertyIdFilterValidatingDeserializer = new PropertyIdFilterValidatingDeserializer( new PropertyIdValidator() ); return new MappedRequestValidatingDeserializer( fn( PropertyIdFilterRequest $r ) => $r->getPropertyIdFilter() === null @@ -348,7 +348,7 @@ return [ ); }, - VRD::PROPERTY_ID_REQUEST_VALIDATING_DESERIALIZER => function(): MappedRequestValidatingDeserializer { + VRD::PROPERTY_ID_REQUEST_VALIDATING_DESERIALIZER => static function(): MappedRequestValidatingDeserializer { $propertyIdValidatingDeserializer = new PropertyIdValidatingDeserializer( new PropertyIdValidator() ); return new MappedRequestValidatingDeserializer( fn( PropertyIdRequest $r ) => $propertyIdValidatingDeserializer->validateAndDeserialize( $r->getPropertyId() ) @@ -356,7 +356,7 @@ return [ }, VRD::PROPERTY_LABEL_EDIT_REQUEST_VALIDATING_DESERIALIZER => - function ( MediaWikiServices $services ): PropertyLabelEditRequestValidatingDeserializer { + static function ( MediaWikiServices $services ): PropertyLabelEditRequestValidatingDeserializer { return new PropertyLabelEditRequestValidatingDeserializer( new TermValidatorFactoryPropertyLabelValidator( WikibaseRepo::getTermValidatorFactory( $services ), @@ -366,12 +366,12 @@ return [ ); }, - VRD::PROPERTY_STATEMENT_ID_REQUEST_VALIDATOR => function (): PropertyStatementIdRequestValidator { + VRD::PROPERTY_STATEMENT_ID_REQUEST_VALIDATOR => static function (): PropertyStatementIdRequestValidator { return new PropertyStatementIdRequestValidator(); }, VRD::SITELINK_EDIT_REQUEST_VALIDATING_DESERIALIZER => - function( MediaWikiServices $services ): SitelinkEditRequestValidatingDeserializer { + static function( MediaWikiServices $services ): SitelinkEditRequestValidatingDeserializer { return new SitelinkEditRequestValidatingDeserializer( new SiteLinkLookupSitelinkValidator( WbRestApi::getSitelinkDeserializer( $services ), @@ -381,7 +381,7 @@ return [ }, VRD::SITE_ID_REQUEST_VALIDATING_DESERIALIZER => - function ( MediaWikiServices $services ): SiteIdRequestValidatingDeserializer { + static function ( MediaWikiServices $services ): SiteIdRequestValidatingDeserializer { return new SiteIdRequestValidatingDeserializer( new SiteIdValidator( WikibaseRepo::getSiteLinkGlobalIdentifiersProvider( $services )->getList( WikibaseRepo::getSettings( $services )->getSetting( 'siteLinkGroups' ) @@ -389,7 +389,7 @@ return [ ); }, - VRD::STATEMENT_ID_REQUEST_VALIDATING_DESERIALIZER => function(): StatementIdRequestValidatingDeserializer { + VRD::STATEMENT_ID_REQUEST_VALIDATING_DESERIALIZER => static function(): StatementIdRequestValidatingDeserializer { $entityIdParser = new BasicEntityIdParser(); return new StatementIdRequestValidatingDeserializer( @@ -399,13 +399,13 @@ return [ }, VRD::STATEMENT_SERIALIZATION_REQUEST_VALIDATING_DESERIALIZER => - function ( MediaWikiServices $services ): StatementSerializationRequestValidatingDeserializer { + static function ( MediaWikiServices $services ): StatementSerializationRequestValidatingDeserializer { return new StatementSerializationRequestValidatingDeserializer( new StatementValidator( WbRestApi::getStatementDeserializer( $services ) ) ); }, - 'WbRestApi.AddItemAliasesInLanguage' => function( MediaWikiServices $services ): AddItemAliasesInLanguage { + 'WbRestApi.AddItemAliasesInLanguage' => static function( MediaWikiServices $services ): AddItemAliasesInLanguage { return new AddItemAliasesInLanguage( WbRestApi::getItemDataRetriever( $services ), WbRestApi::getAssertItemExists( $services ), @@ -415,7 +415,7 @@ return [ ); }, - 'WbRestApi.AddItemStatement' => function( MediaWikiServices $services ): AddItemStatement { + 'WbRestApi.AddItemStatement' => static function( MediaWikiServices $services ): AddItemStatement { return new AddItemStatement( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertItemExists( $services ), @@ -426,7 +426,7 @@ return [ ); }, - 'WbRestApi.AddPropertyAliasesInLanguage' => function( MediaWikiServices $services ): AddPropertyAliasesInLanguage { + 'WbRestApi.AddPropertyAliasesInLanguage' => static function( MediaWikiServices $services ): AddPropertyAliasesInLanguage { return new AddPropertyAliasesInLanguage( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertPropertyExists( $services ), @@ -436,7 +436,7 @@ return [ ); }, - 'WbRestApi.AddPropertyStatement' => function( MediaWikiServices $services ): AddPropertyStatement { + 'WbRestApi.AddPropertyStatement' => static function( MediaWikiServices $services ): AddPropertyStatement { $statementReadModelConverter = new StatementReadModelConverter( WikibaseRepo::getStatementGuidParser( $services ), WikibaseRepo::getPropertyDataTypeLookup( $services ) @@ -459,23 +459,23 @@ return [ ); }, - 'WbRestApi.AliasLanguageCodeValidator' => function( MediaWikiServices $services ): AliasLanguageCodeValidator { + 'WbRestApi.AliasLanguageCodeValidator' => static function( MediaWikiServices $services ): AliasLanguageCodeValidator { return new ValueValidatorLanguageCodeValidator( WikibaseRepo::getTermValidatorFactory( $services )->getAliasLanguageValidator() ); }, - 'WbRestApi.AssertItemExists' => function( MediaWikiServices $services ): AssertItemExists { + 'WbRestApi.AssertItemExists' => static function( MediaWikiServices $services ): AssertItemExists { return new AssertItemExists( WbRestApi::getGetLatestItemRevisionMetadata( $services ) ); }, - 'WbRestApi.AssertPropertyExists' => function( MediaWikiServices $services ): AssertPropertyExists { + 'WbRestApi.AssertPropertyExists' => static function( MediaWikiServices $services ): AssertPropertyExists { return new AssertPropertyExists( WbRestApi::getGetLatestPropertyRevisionMetadata( $services ) ); }, - 'WbRestApi.AssertStatementSubjectExists' => function( MediaWikiServices $services ): AssertStatementSubjectExists { + 'WbRestApi.AssertStatementSubjectExists' => static function( MediaWikiServices $services ): AssertStatementSubjectExists { return new AssertStatementSubjectExists( WbRestApi::getGetLatestStatementSubjectRevisionMetadata( $services ) ); }, - 'WbRestApi.AssertUserIsAuthorized' => function( MediaWikiServices $services ): AssertUserIsAuthorized { + 'WbRestApi.AssertUserIsAuthorized' => static function( MediaWikiServices $services ): AssertUserIsAuthorized { return new AssertUserIsAuthorized( new WikibaseEntityPermissionChecker( WikibaseRepo::getEntityPermissionChecker( $services ), @@ -484,7 +484,7 @@ return [ ); }, - 'WbRestApi.CreateItem' => function( MediaWikiServices $services ): CreateItem { + 'WbRestApi.CreateItem' => static function( MediaWikiServices $services ): CreateItem { return new CreateItem( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getItemUpdater( $services ), @@ -492,7 +492,7 @@ return [ ); }, - 'WbRestApi.CreateProperty' => function( MediaWikiServices $services ): CreateProperty { + 'WbRestApi.CreateProperty' => static function( MediaWikiServices $services ): CreateProperty { return new CreateProperty( new CreatePropertyValidator( WbRestApi::getEditMetadataRequestValidatingDeserializer( $services ), @@ -526,13 +526,13 @@ return [ ); }, - 'WbRestApi.DescriptionLanguageCodeValidator' => function( MediaWikiServices $services ): DescriptionLanguageCodeValidator { + 'WbRestApi.DescriptionLanguageCodeValidator' => static function( MediaWikiServices $services ): DescriptionLanguageCodeValidator { return new ValueValidatorLanguageCodeValidator( WikibaseRepo::getTermValidatorFactory( $services )->getDescriptionLanguageValidator() ); }, - 'WbRestApi.EntityUpdater' => function( MediaWikiServices $services ): EntityUpdater { + 'WbRestApi.EntityUpdater' => static function( MediaWikiServices $services ): EntityUpdater { return new EntityUpdater( RequestContext::getMain(), WikibaseRepo::getEditEntityFactory( $services ), @@ -549,11 +549,11 @@ return [ ); }, - 'WbRestApi.ErrorReporter' => function( MediaWikiServices $services ): ErrorReporter { + 'WbRestApi.ErrorReporter' => static function( MediaWikiServices $services ): ErrorReporter { return new MWErrorReporter(); }, - 'WbRestApi.GetItem' => function( MediaWikiServices $services ): GetItem { + 'WbRestApi.GetItem' => static function( MediaWikiServices $services ): GetItem { return new GetItem( WbRestApi::getGetLatestItemRevisionMetadata( $services ), WbRestApi::getItemDataRetriever( $services ), @@ -561,7 +561,7 @@ return [ ); }, - 'WbRestApi.GetItemAliases' => function( MediaWikiServices $services ): GetItemAliases { + 'WbRestApi.GetItemAliases' => static function( MediaWikiServices $services ): GetItemAliases { return new GetItemAliases( WbRestApi::getGetLatestItemRevisionMetadata( $services ), new PrefetchingTermLookupAliasesRetriever( @@ -572,7 +572,7 @@ return [ ); }, - 'WbRestApi.GetItemAliasesInLanguage' => function( MediaWikiServices $services ): GetItemAliasesInLanguage { + 'WbRestApi.GetItemAliasesInLanguage' => static function( MediaWikiServices $services ): GetItemAliasesInLanguage { return new GetItemAliasesInLanguage( WbRestApi::getGetLatestItemRevisionMetadata( $services ), new PrefetchingTermLookupAliasesRetriever( @@ -583,7 +583,7 @@ return [ ); }, - 'WbRestApi.GetItemDescription' => function( MediaWikiServices $services ): GetItemDescription { + 'WbRestApi.GetItemDescription' => static function( MediaWikiServices $services ): GetItemDescription { return new GetItemDescription( WbRestApi::getGetLatestItemRevisionMetadata( $services ), WbRestApi::getTermLookupEntityTermsRetriever( $services ), @@ -591,7 +591,7 @@ return [ ); }, - 'WbRestApi.GetItemDescriptions' => function( MediaWikiServices $services ): GetItemDescriptions { + 'WbRestApi.GetItemDescriptions' => static function( MediaWikiServices $services ): GetItemDescriptions { return new GetItemDescriptions( WbRestApi::getGetLatestItemRevisionMetadata( $services ), WbRestApi::getTermLookupEntityTermsRetriever( $services ), @@ -599,7 +599,7 @@ return [ ); }, - 'WbRestApi.GetItemDescriptionWithFallback' => function( MediaWikiServices $services ): GetItemDescriptionWithFallback { + 'WbRestApi.GetItemDescriptionWithFallback' => static function( MediaWikiServices $services ): GetItemDescriptionWithFallback { return new GetItemDescriptionWithFallback( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getGetLatestItemRevisionMetadata( $services ), @@ -610,7 +610,7 @@ return [ ); }, - 'WbRestApi.GetItemLabel' => function( MediaWikiServices $services ): GetItemLabel { + 'WbRestApi.GetItemLabel' => static function( MediaWikiServices $services ): GetItemLabel { return new GetItemLabel( WbRestApi::getGetLatestItemRevisionMetadata( $services ), WbRestApi::getTermLookupEntityTermsRetriever( $services ), @@ -618,7 +618,7 @@ return [ ); }, - 'WbRestApi.GetItemLabels' => function( MediaWikiServices $services ): GetItemLabels { + 'WbRestApi.GetItemLabels' => static function( MediaWikiServices $services ): GetItemLabels { return new GetItemLabels( WbRestApi::getGetLatestItemRevisionMetadata( $services ), WbRestApi::getTermLookupEntityTermsRetriever( $services ), @@ -626,7 +626,7 @@ return [ ); }, - 'WbRestApi.GetItemLabelWithFallback' => function( MediaWikiServices $services ): GetItemLabelWithFallback { + 'WbRestApi.GetItemLabelWithFallback' => static function( MediaWikiServices $services ): GetItemLabelWithFallback { return new GetItemLabelWithFallback( WbRestApi::getGetLatestItemRevisionMetadata( $services ), new FallbackLookupFactoryTermsRetriever( @@ -637,7 +637,7 @@ return [ ); }, - 'WbRestApi.GetItemStatement' => function( MediaWikiServices $services ): GetItemStatement { + 'WbRestApi.GetItemStatement' => static function( MediaWikiServices $services ): GetItemStatement { return new GetItemStatement( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertItemExists( $services ), @@ -645,7 +645,7 @@ return [ ); }, - 'WbRestApi.GetItemStatements' => function( MediaWikiServices $services ): GetItemStatements { + 'WbRestApi.GetItemStatements' => static function( MediaWikiServices $services ): GetItemStatements { return new GetItemStatements( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getItemDataRetriever( $services ), @@ -653,19 +653,19 @@ return [ ); }, - 'WbRestApi.GetLatestItemRevisionMetadata' => function( MediaWikiServices $services ): GetLatestItemRevisionMetadata { + 'WbRestApi.GetLatestItemRevisionMetadata' => static function( MediaWikiServices $services ): GetLatestItemRevisionMetadata { return new GetLatestItemRevisionMetadata( new WikibaseEntityRevisionLookupItemRevisionMetadataRetriever( WikibaseRepo::getEntityRevisionLookup( $services ) ) ); }, - 'WbRestApi.GetLatestPropertyRevisionMetadata' => function( MediaWikiServices $services ): GetLatestPropertyRevisionMetadata { + 'WbRestApi.GetLatestPropertyRevisionMetadata' => static function( MediaWikiServices $services ): GetLatestPropertyRevisionMetadata { return new GetLatestPropertyRevisionMetadata( new WikibaseEntityRevisionLookupPropertyRevisionMetadataRetriever( WikibaseRepo::getEntityRevisionLookup( $services ) ) ); }, - 'WbRestApi.GetLatestStatementSubjectRevisionMetadata' => function( + 'WbRestApi.GetLatestStatementSubjectRevisionMetadata' => static function( MediaWikiServices $services ): GetLatestStatementSubjectRevisionMetadata { return new GetLatestStatementSubjectRevisionMetadata( new WikibaseEntityRevisionLookupStatementSubjectRevisionMetadataRetriever( @@ -673,7 +673,7 @@ return [ ) ); }, - 'WbRestApi.GetProperty' => function( MediaWikiServices $services ): GetProperty { + 'WbRestApi.GetProperty' => static function( MediaWikiServices $services ): GetProperty { return new GetProperty( WbRestApi::getGetLatestPropertyRevisionMetadata( $services ), WbRestApi::getPropertyDataRetriever( $services ), @@ -681,7 +681,7 @@ return [ ); }, - 'WbRestApi.GetPropertyAliases' => function( MediaWikiServices $services ): GetPropertyAliases { + 'WbRestApi.GetPropertyAliases' => static function( MediaWikiServices $services ): GetPropertyAliases { return new GetPropertyAliases( WbRestApi::getGetLatestPropertyRevisionMetadata( $services ), new PrefetchingTermLookupAliasesRetriever( @@ -692,7 +692,7 @@ return [ ); }, - 'WbRestApi.GetPropertyAliasesInLanguage' => function( MediaWikiServices $services ): GetPropertyAliasesInLanguage { + 'WbRestApi.GetPropertyAliasesInLanguage' => static function( MediaWikiServices $services ): GetPropertyAliasesInLanguage { return new GetPropertyAliasesInLanguage( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getGetLatestPropertyRevisionMetadata( $services ), @@ -703,7 +703,7 @@ return [ ); }, - 'WbRestApi.GetPropertyDescription' => function( MediaWikiServices $services ): GetPropertyDescription { + 'WbRestApi.GetPropertyDescription' => static function( MediaWikiServices $services ): GetPropertyDescription { return new GetPropertyDescription( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getGetLatestPropertyRevisionMetadata( $services ), @@ -711,7 +711,7 @@ return [ ); }, - 'WbRestApi.GetPropertyDescriptions' => function( MediaWikiServices $services ): GetPropertyDescriptions { + 'WbRestApi.GetPropertyDescriptions' => static function( MediaWikiServices $services ): GetPropertyDescriptions { return new GetPropertyDescriptions( WbRestApi::getGetLatestPropertyRevisionMetadata( $services ), WbRestApi::getTermLookupEntityTermsRetriever( $services ), @@ -719,7 +719,7 @@ return [ ); }, - 'WbRestApi.GetPropertyDescriptionWithFallback' => function( MediaWikiServices $services ): GetPropertyDescriptionWithFallback { + 'WbRestApi.GetPropertyDescriptionWithFallback' => static function( MediaWikiServices $services ): GetPropertyDescriptionWithFallback { return new GetPropertyDescriptionWithFallback( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getGetLatestPropertyRevisionMetadata( $services ), @@ -730,7 +730,7 @@ return [ ); }, - 'WbRestApi.GetPropertyLabel' => function( MediaWikiServices $services ): GetPropertyLabel { + 'WbRestApi.GetPropertyLabel' => static function( MediaWikiServices $services ): GetPropertyLabel { return new GetPropertyLabel( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getGetLatestPropertyRevisionMetadata( $services ), @@ -738,7 +738,7 @@ return [ ); }, - 'WbRestApi.GetPropertyLabels' => function( MediaWikiServices $services ): GetPropertyLabels { + 'WbRestApi.GetPropertyLabels' => static function( MediaWikiServices $services ): GetPropertyLabels { return new GetPropertyLabels( WbRestApi::getGetLatestPropertyRevisionMetadata( $services ), WbRestApi::getTermLookupEntityTermsRetriever( $services ), @@ -746,7 +746,7 @@ return [ ); }, - 'WbRestApi.GetPropertyLabelWithFallback' => function( MediaWikiServices $services ): GetPropertyLabelWithFallback { + 'WbRestApi.GetPropertyLabelWithFallback' => static function( MediaWikiServices $services ): GetPropertyLabelWithFallback { return new GetPropertyLabelWithFallback( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getGetLatestPropertyRevisionMetadata( $services ), @@ -757,7 +757,7 @@ return [ ); }, - 'WbRestApi.GetPropertyStatement' => function( MediaWikiServices $services ): GetPropertyStatement { + 'WbRestApi.GetPropertyStatement' => static function( MediaWikiServices $services ): GetPropertyStatement { return new GetPropertyStatement( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertPropertyExists( $services ), @@ -765,7 +765,7 @@ return [ ); }, - 'WbRestApi.GetPropertyStatements' => function( MediaWikiServices $services ): GetPropertyStatements { + 'WbRestApi.GetPropertyStatements' => static function( MediaWikiServices $services ): GetPropertyStatements { return new GetPropertyStatements( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getPropertyDataRetriever( $services ), @@ -773,7 +773,7 @@ return [ ); }, - 'WbRestApi.GetSitelink' => function( MediaWikiServices $services ): GetSitelink { + 'WbRestApi.GetSitelink' => static function( MediaWikiServices $services ): GetSitelink { return new GetSitelink( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getGetLatestItemRevisionMetadata( $services ), @@ -781,7 +781,7 @@ return [ ); }, - 'WbRestApi.GetSitelinks' => function( MediaWikiServices $services ): GetSitelinks { + 'WbRestApi.GetSitelinks' => static function( MediaWikiServices $services ): GetSitelinks { return new GetSitelinks( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getGetLatestItemRevisionMetadata( $services ), @@ -789,7 +789,7 @@ return [ ); }, - 'WbRestApi.GetStatement' => function( MediaWikiServices $services ): GetStatement { + 'WbRestApi.GetStatement' => static function( MediaWikiServices $services ): GetStatement { return new GetStatement( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getStatementRetriever( $services ), @@ -797,7 +797,7 @@ return [ ); }, - 'WbRestApi.ItemDataRetriever' => function( MediaWikiServices $services ): EntityRevisionLookupItemDataRetriever { + 'WbRestApi.ItemDataRetriever' => static function( MediaWikiServices $services ): EntityRevisionLookupItemDataRetriever { return new EntityRevisionLookupItemDataRetriever( WikibaseRepo::getEntityRevisionLookup( $services ), new StatementReadModelConverter( @@ -808,7 +808,7 @@ return [ ); }, - 'WbRestApi.ItemUpdater' => function( MediaWikiServices $services ): EntityUpdaterItemUpdater { + 'WbRestApi.ItemUpdater' => static function( MediaWikiServices $services ): EntityUpdaterItemUpdater { return new EntityUpdaterItemUpdater( WbRestApi::getEntityUpdater( $services ), new SitelinksReadModelConverter( $services->getSiteLookup() ), @@ -819,11 +819,11 @@ return [ ); }, - 'WbRestApi.LabelLanguageCodeValidator' => function( MediaWikiServices $services ): LabelLanguageCodeValidator { + 'WbRestApi.LabelLanguageCodeValidator' => static function( MediaWikiServices $services ): LabelLanguageCodeValidator { return new ValueValidatorLanguageCodeValidator( WikibaseRepo::getTermValidatorFactory( $services )->getLabelLanguageValidator() ); }, - 'WbRestApi.PatchItem' => function( MediaWikiServices $services ): PatchItem { + 'WbRestApi.PatchItem' => static function( MediaWikiServices $services ): PatchItem { return new PatchItem( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertItemExists(), @@ -879,7 +879,7 @@ return [ ); }, - 'WbRestApi.PatchItemAliases' => function( MediaWikiServices $services ): PatchItemAliases { + 'WbRestApi.PatchItemAliases' => static function( MediaWikiServices $services ): PatchItemAliases { return new PatchItemAliases( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertItemExists( $services ), @@ -900,7 +900,7 @@ return [ ); }, - 'WbRestApi.PatchItemDescriptions' => function( MediaWikiServices $services ): PatchItemDescriptions { + 'WbRestApi.PatchItemDescriptions' => static function( MediaWikiServices $services ): PatchItemDescriptions { return new PatchItemDescriptions( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertItemExists( $services ), @@ -923,7 +923,7 @@ return [ ); }, - 'WbRestApi.PatchItemLabels' => function( MediaWikiServices $services ): PatchItemLabels { + 'WbRestApi.PatchItemLabels' => static function( MediaWikiServices $services ): PatchItemLabels { return new PatchItemLabels( WbRestApi::getAssertItemExists( $services ), WbRestApi::getTermLookupEntityTermsRetriever( $services ), @@ -948,7 +948,7 @@ return [ ); }, - 'WbRestApi.PatchItemStatement' => function( MediaWikiServices $services ): PatchItemStatement { + 'WbRestApi.PatchItemStatement' => static function( MediaWikiServices $services ): PatchItemStatement { return new PatchItemStatement( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertItemExists( $services ), @@ -956,7 +956,7 @@ return [ ); }, - 'WbRestApi.PatchProperty' => function( MediaWikiServices $services ): PatchProperty { + 'WbRestApi.PatchProperty' => static function( MediaWikiServices $services ): PatchProperty { return new PatchProperty( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertPropertyExists( $services ), @@ -999,7 +999,7 @@ return [ ); }, - 'WbRestApi.PatchPropertyAliases' => function( MediaWikiServices $services ): PatchPropertyAliases { + 'WbRestApi.PatchPropertyAliases' => static function( MediaWikiServices $services ): PatchPropertyAliases { $termLanguages = WikibaseRepo::getTermsLanguages( $services ); return new PatchPropertyAliases( @@ -1022,7 +1022,7 @@ return [ ); }, - 'WbRestApi.PatchPropertyDescriptions' => function( MediaWikiServices $services ): PatchPropertyDescriptions { + 'WbRestApi.PatchPropertyDescriptions' => static function( MediaWikiServices $services ): PatchPropertyDescriptions { return new PatchPropertyDescriptions( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertPropertyExists( $services ), @@ -1047,7 +1047,7 @@ return [ ); }, - 'WbRestApi.PatchPropertyLabels' => function( MediaWikiServices $services ): PatchPropertyLabels { + 'WbRestApi.PatchPropertyLabels' => static function( MediaWikiServices $services ): PatchPropertyLabels { return new PatchPropertyLabels( new TermLookupEntityTermsRetriever( WikibaseRepo::getTermLookup( $services ), @@ -1073,7 +1073,7 @@ return [ ); }, - 'WbRestApi.PatchPropertyStatement' => function( MediaWikiServices $services ): PatchPropertyStatement { + 'WbRestApi.PatchPropertyStatement' => static function( MediaWikiServices $services ): PatchPropertyStatement { return new PatchPropertyStatement( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertPropertyExists( $services ), @@ -1081,7 +1081,7 @@ return [ ); }, - 'WbRestApi.PatchSitelinks' => function( MediaWikiServices $services ): PatchSitelinks { + 'WbRestApi.PatchSitelinks' => static function( MediaWikiServices $services ): PatchSitelinks { return new PatchSitelinks( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertItemExists( $services ), @@ -1103,7 +1103,7 @@ return [ ); }, - 'WbRestApi.PatchStatement' => function( MediaWikiServices $services ): PatchStatement { + 'WbRestApi.PatchStatement' => static function( MediaWikiServices $services ): PatchStatement { return new PatchStatement( WbRestApi::getValidatingRequestDeserializer( $services ), new PatchedStatementValidator( new StatementValidator( WbRestApi::getStatementDeserializer( $services ) ) ), @@ -1116,7 +1116,7 @@ return [ ); }, - 'WbRestApi.PreconditionMiddlewareFactory' => function( MediaWikiServices $services ): PreconditionMiddlewareFactory { + 'WbRestApi.PreconditionMiddlewareFactory' => static function( MediaWikiServices $services ): PreconditionMiddlewareFactory { return new PreconditionMiddlewareFactory( WikibaseRepo::getEntityRevisionLookup( $services ), WikibaseRepo::getEntityIdParser( $services ), @@ -1124,7 +1124,7 @@ return [ ); }, - 'WbRestApi.PropertyDataRetriever' => function( MediaWikiServices $services ): EntityRevisionLookupPropertyDataRetriever { + 'WbRestApi.PropertyDataRetriever' => static function( MediaWikiServices $services ): EntityRevisionLookupPropertyDataRetriever { return new EntityRevisionLookupPropertyDataRetriever( WikibaseRepo::getEntityRevisionLookup( $services ), new StatementReadModelConverter( @@ -1134,7 +1134,7 @@ return [ ); }, - 'WbRestApi.PropertyUpdater' => function( MediaWikiServices $services ): EntityUpdaterPropertyUpdater { + 'WbRestApi.PropertyUpdater' => static function( MediaWikiServices $services ): EntityUpdaterPropertyUpdater { return new EntityUpdaterPropertyUpdater( WbRestApi::getEntityUpdater( $services ), new StatementReadModelConverter( @@ -1144,7 +1144,7 @@ return [ ); }, - 'WbRestApi.RemoveItemDescription' => function( MediaWikiServices $services ): RemoveItemDescription { + 'WbRestApi.RemoveItemDescription' => static function( MediaWikiServices $services ): RemoveItemDescription { return new RemoveItemDescription( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertItemExists( $services ), @@ -1154,7 +1154,7 @@ return [ ); }, - 'WbRestApi.RemoveItemLabel' => function( MediaWikiServices $services ): RemoveItemLabel { + 'WbRestApi.RemoveItemLabel' => static function( MediaWikiServices $services ): RemoveItemLabel { return new RemoveItemLabel( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertItemExists( $services ), @@ -1164,7 +1164,7 @@ return [ ); }, - 'WbRestApi.RemoveItemStatement' => function( MediaWikiServices $services ): RemoveItemStatement { + 'WbRestApi.RemoveItemStatement' => static function( MediaWikiServices $services ): RemoveItemStatement { return new RemoveItemStatement( WbRestApi::getAssertItemExists( $services ), WbRestApi::getRemoveStatement( $services ), @@ -1172,7 +1172,7 @@ return [ ); }, - 'WbRestApi.RemovePropertyDescription' => function( MediaWikiServices $services ): RemovePropertyDescription { + 'WbRestApi.RemovePropertyDescription' => static function( MediaWikiServices $services ): RemovePropertyDescription { return new RemovePropertyDescription( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertPropertyExists( $services ), @@ -1182,7 +1182,7 @@ return [ ); }, - 'WbRestApi.RemovePropertyLabel' => function( MediaWikiServices $services ): RemovePropertyLabel { + 'WbRestApi.RemovePropertyLabel' => static function( MediaWikiServices $services ): RemovePropertyLabel { return new RemovePropertyLabel( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertPropertyExists( $services ), @@ -1192,7 +1192,7 @@ return [ ); }, - 'WbRestApi.RemovePropertyStatement' => function( MediaWikiServices $services ): RemovePropertyStatement { + 'WbRestApi.RemovePropertyStatement' => static function( MediaWikiServices $services ): RemovePropertyStatement { return new RemovePropertyStatement( WbRestApi::getAssertPropertyExists( $services ), WbRestApi::getRemoveStatement( $services ), @@ -1200,7 +1200,7 @@ return [ ); }, - 'WbRestApi.RemoveSitelink' => function( MediaWikiServices $services ): RemoveSitelink { + 'WbRestApi.RemoveSitelink' => static function( MediaWikiServices $services ): RemoveSitelink { return new RemoveSitelink( WbRestApi::getItemDataRetriever( $services ), WbRestApi::getItemUpdater( $services ), @@ -1210,7 +1210,7 @@ return [ ); }, - 'WbRestApi.RemoveStatement' => function( MediaWikiServices $services ): RemoveStatement { + 'WbRestApi.RemoveStatement' => static function( MediaWikiServices $services ): RemoveStatement { return new RemoveStatement( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertUserIsAuthorized( $services ), @@ -1220,7 +1220,7 @@ return [ ); }, - 'WbRestApi.ReplaceItemStatement' => function( MediaWikiServices $services ): ReplaceItemStatement { + 'WbRestApi.ReplaceItemStatement' => static function( MediaWikiServices $services ): ReplaceItemStatement { return new ReplaceItemStatement( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertItemExists( $services ), @@ -1228,7 +1228,7 @@ return [ ); }, - 'WbRestApi.ReplacePropertyStatement' => function( MediaWikiServices $services ): ReplacePropertyStatement { + 'WbRestApi.ReplacePropertyStatement' => static function( MediaWikiServices $services ): ReplacePropertyStatement { return new ReplacePropertyStatement( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertPropertyExists( $services ), @@ -1236,7 +1236,7 @@ return [ ); }, - 'WbRestApi.ReplaceStatement' => function( MediaWikiServices $services ): ReplaceStatement { + 'WbRestApi.ReplaceStatement' => static function( MediaWikiServices $services ): ReplaceStatement { return new ReplaceStatement( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertStatementSubjectExists( $services ), @@ -1245,7 +1245,7 @@ return [ ); }, - 'WbRestApi.SetItemDescription' => function( MediaWikiServices $services ): SetItemDescription { + 'WbRestApi.SetItemDescription' => static function( MediaWikiServices $services ): SetItemDescription { return new SetItemDescription( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertItemExists( $services ), @@ -1255,7 +1255,7 @@ return [ ); }, - 'WbRestApi.SetItemLabel' => function( MediaWikiServices $services ): SetItemLabel { + 'WbRestApi.SetItemLabel' => static function( MediaWikiServices $services ): SetItemLabel { return new SetItemLabel( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertItemExists( $services ), @@ -1265,7 +1265,7 @@ return [ ); }, - 'WbRestApi.SetPropertyDescription' => function( MediaWikiServices $services ): SetPropertyDescription { + 'WbRestApi.SetPropertyDescription' => static function( MediaWikiServices $services ): SetPropertyDescription { return new SetPropertyDescription( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getPropertyDataRetriever( $services ), @@ -1275,7 +1275,7 @@ return [ ); }, - 'WbRestApi.SetPropertyLabel' => function( MediaWikiServices $services ): SetPropertyLabel { + 'WbRestApi.SetPropertyLabel' => static function( MediaWikiServices $services ): SetPropertyLabel { return new SetPropertyLabel( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getPropertyDataRetriever( $services ), @@ -1285,7 +1285,7 @@ return [ ); }, - 'WbRestApi.SetSitelink' => function( MediaWikiServices $services ): SetSitelink { + 'WbRestApi.SetSitelink' => static function( MediaWikiServices $services ): SetSitelink { return new SetSitelink( WbRestApi::getValidatingRequestDeserializer( $services ), WbRestApi::getAssertItemExists( $services ), @@ -1295,7 +1295,7 @@ return [ ); }, - 'WbRestApi.SitelinkDeserializer' => function( MediaWikiServices $services ): SitelinkDeserializer { + 'WbRestApi.SitelinkDeserializer' => static function( MediaWikiServices $services ): SitelinkDeserializer { return new SitelinkDeserializer( MediaWikiTitleCodec::getTitleInvalidRegex(), array_keys( WikibaseRepo::getSettings( $services )->getSetting( 'badgeItems' ) ), @@ -1307,7 +1307,7 @@ return [ ); }, - 'WbRestApi.StatementDeserializer' => function( MediaWikiServices $services ): StatementDeserializer { + 'WbRestApi.StatementDeserializer' => static function( MediaWikiServices $services ): StatementDeserializer { $propertyValuePairDeserializer = new PropertyValuePairDeserializer( WikibaseRepo::getEntityIdParser( $services ), WikibaseRepo::getPropertyDataTypeLookup( $services ), @@ -1323,21 +1323,21 @@ return [ ); }, - 'WbRestApi.StatementRedirectMiddlewareFactory' => function( MediaWikiServices $services ): StatementRedirectMiddlewareFactory { + 'WbRestApi.StatementRedirectMiddlewareFactory' => static function( MediaWikiServices $services ): StatementRedirectMiddlewareFactory { return new StatementRedirectMiddlewareFactory( WikibaseRepo::getEntityIdParser( $services ), new StatementSubjectRetriever( WikibaseRepo::getEntityRevisionLookup( $services ) ) ); }, - 'WbRestApi.StatementRemover' => function( MediaWikiServices $services ): StatementRemover { + 'WbRestApi.StatementRemover' => static function( MediaWikiServices $services ): StatementRemover { return new EntityUpdaterStatementRemover( new StatementSubjectRetriever( WikibaseRepo::getEntityRevisionLookup( $services ) ), WbRestApi::getEntityUpdater( $services ), ); }, - 'WbRestApi.StatementRetriever' => function( MediaWikiServices $services ): EntityRevisionLookupStatementRetriever { + 'WbRestApi.StatementRetriever' => static function( MediaWikiServices $services ): EntityRevisionLookupStatementRetriever { return new EntityRevisionLookupStatementRetriever( new StatementSubjectRetriever( WikibaseRepo::getEntityRevisionLookup( $services ) ), new StatementReadModelConverter( @@ -1347,13 +1347,13 @@ return [ ); }, - 'WbRestApi.StatementSerializer' => function( MediaWikiServices $services ): StatementSerializer { + 'WbRestApi.StatementSerializer' => static function( MediaWikiServices $services ): StatementSerializer { $propertyValuePairSerializer = new PropertyValuePairSerializer(); $referenceSerializer = new ReferenceSerializer( $propertyValuePairSerializer ); return new StatementSerializer( $propertyValuePairSerializer, $referenceSerializer ); }, - 'WbRestApi.StatementUpdater' => function( MediaWikiServices $services ): StatementUpdater { + 'WbRestApi.StatementUpdater' => static function( MediaWikiServices $services ): StatementUpdater { return new EntityUpdaterStatementUpdater( WikibaseRepo::getStatementGuidParser( $services ), new StatementSubjectRetriever( WikibaseRepo::getEntityRevisionLookup( $services ) ), @@ -1365,21 +1365,21 @@ return [ ); }, - 'WbRestApi.TermLookupEntityTermsRetriever' => function( MediaWikiServices $services ): TermLookupEntityTermsRetriever { + 'WbRestApi.TermLookupEntityTermsRetriever' => static function( MediaWikiServices $services ): TermLookupEntityTermsRetriever { return new TermLookupEntityTermsRetriever( WikibaseRepo::getTermLookup( $services ), WikibaseRepo::getTermsLanguages( $services ) ); }, - 'WbRestApi.UnexpectedErrorHandlerMiddleware' => function( MediaWikiServices $services ): UnexpectedErrorHandlerMiddleware { + 'WbRestApi.UnexpectedErrorHandlerMiddleware' => static function( MediaWikiServices $services ): UnexpectedErrorHandlerMiddleware { return new UnexpectedErrorHandlerMiddleware( new ResponseFactory(), $services->get( 'WbRestApi.ErrorReporter' ) ); }, - 'WbRestApi.ValidatingRequestDeserializer' => function( MediaWikiServices $services ): VRD { + 'WbRestApi.ValidatingRequestDeserializer' => static function( MediaWikiServices $services ): VRD { return new VRD( $services ); }, diff --git a/repo/rest-api/tests/phpunit/Application/UseCases/CreateProperty/CreatePropertyValidatorTest.php b/repo/rest-api/tests/phpunit/Application/UseCases/CreateProperty/CreatePropertyValidatorTest.php index 058100d..4992092 100644 --- a/repo/rest-api/tests/phpunit/Application/UseCases/CreateProperty/CreatePropertyValidatorTest.php +++ b/repo/rest-api/tests/phpunit/Application/UseCases/CreateProperty/CreatePropertyValidatorTest.php @@ -171,11 +171,11 @@ class CreatePropertyValidatorTest extends TestCase { } public static function labelsValidationErrorProvider(): Generator { - $mockSyntaxValidator = function( self $test ) { + $mockSyntaxValidator = static function( self $test ) { $test->labelsSyntaxValidator = $test->createMock( LabelsSyntaxValidator::class ); return $test->labelsSyntaxValidator; }; - $mockContentsValidator = function( self $test ) { + $mockContentsValidator = static function( self $test ) { $test->labelsContentsValidator = $test->createMock( PropertyLabelsContentsValidator::class ); return $test->labelsContentsValidator; }; @@ -282,11 +282,11 @@ class CreatePropertyValidatorTest extends TestCase { } public static function descriptionsValidationErrorProvider(): Generator { - $mockSyntaxValidator = function( self $test ) { + $mockSyntaxValidator = static function( self $test ) { $test->descriptionsSyntaxValidator = $test->createMock( DescriptionsSyntaxValidator::class ); return $test->descriptionsSyntaxValidator; }; - $mockContentsValidator = function( self $test ) { + $mockContentsValidator = static function( self $test ) { $test->descriptionsContentsValidator = $test->createMock( PropertyDescriptionsContentsValidator::class ); return $test->descriptionsContentsValidator; }; diff --git a/repo/rest-api/tests/phpunit/Application/UseCases/PatchItem/PatchedItemValidatorTest.php b/repo/rest-api/tests/phpunit/Application/UseCases/PatchItem/PatchedItemValidatorTest.php index ebe04b9..34a74f0 100644 --- a/repo/rest-api/tests/phpunit/Application/UseCases/PatchItem/PatchedItemValidatorTest.php +++ b/repo/rest-api/tests/phpunit/Application/UseCases/PatchItem/PatchedItemValidatorTest.php @@ -342,11 +342,11 @@ class PatchedItemValidatorTest extends TestCase { } public static function labelsValidationErrorProvider(): Generator { - $mockSyntaxValidator = function( self $test ) { + $mockSyntaxValidator = static function( self $test ) { $test->labelsSyntaxValidator = $test->createMock( LabelsSyntaxValidator::class ); return $test->labelsSyntaxValidator; }; - $mockContentsValidator = function( self $test ) { + $mockContentsValidator = static function( self $test ) { $test->labelsContentsValidator = $test->createMock( ItemLabelsContentsValidator::class ); return $test->labelsContentsValidator; }; @@ -459,11 +459,11 @@ class PatchedItemValidatorTest extends TestCase { } public static function descriptionsValidationErrorProvider(): Generator { - $mockSyntaxValidator = function ( self $test ) { + $mockSyntaxValidator = static function ( self $test ) { $test->descriptionsSyntaxValidator = $test->createMock( DescriptionsSyntaxValidator::class ); return $test->descriptionsSyntaxValidator; }; - $mockContentsValidator = function ( self $test ) { + $mockContentsValidator = static function ( self $test ) { $test->descriptionsContentsValidator = $test->createMock( ItemDescriptionsContentsValidator::class ); return $test->descriptionsContentsValidator; }; diff --git a/repo/rest-api/tests/phpunit/Application/UseCases/PatchProperty/PatchedPropertyValidatorTest.php b/repo/rest-api/tests/phpunit/Application/UseCases/PatchProperty/PatchedPropertyValidatorTest.php index 5e21fba..579bf97 100644 --- a/repo/rest-api/tests/phpunit/Application/UseCases/PatchProperty/PatchedPropertyValidatorTest.php +++ b/repo/rest-api/tests/phpunit/Application/UseCases/PatchProperty/PatchedPropertyValidatorTest.php @@ -364,11 +364,11 @@ class PatchedPropertyValidatorTest extends TestCase { } public static function labelsValidationErrorProvider(): Generator { - $mockSyntaxValidator = function ( self $test ) { + $mockSyntaxValidator = static function ( self $test ) { $test->labelsSyntaxValidator = $test->createMock( LabelsSyntaxValidator::class ); return $test->labelsSyntaxValidator; }; - $mockContentsValidator = function ( self $test ) { + $mockContentsValidator = static function ( self $test ) { $test->labelsContentsValidator = $test->createMock( PropertyLabelsContentsValidator::class ); return $test->labelsContentsValidator; }; @@ -476,11 +476,11 @@ class PatchedPropertyValidatorTest extends TestCase { } public static function descriptionsValidationErrorProvider(): Generator { - $mockSyntaxValidator = function ( self $test ) { + $mockSyntaxValidator = static function ( self $test ) { $test->descriptionsSyntaxValidator = $test->createMock( DescriptionsSyntaxValidator::class ); return $test->descriptionsSyntaxValidator; }; - $mockContentsValidator = function ( self $test ) { + $mockContentsValidator = static function ( self $test ) { $test->descriptionsContentsValidator = $test->createMock( PropertyDescriptionsContentsValidator::class ); return $test->descriptionsContentsValidator; }; diff --git a/repo/rest-api/tests/phpunit/Application/Validation/LabelsAndDescriptionsContentsValidatorTest.php b/repo/rest-api/tests/phpunit/Application/Validation/LabelsAndDescriptionsContentsValidatorTest.php index f9cd538..36764db 100644 --- a/repo/rest-api/tests/phpunit/Application/Validation/LabelsAndDescriptionsContentsValidatorTest.php +++ b/repo/rest-api/tests/phpunit/Application/Validation/LabelsAndDescriptionsContentsValidatorTest.php @@ -122,7 +122,7 @@ class LabelsAndDescriptionsContentsValidatorTest extends TestCase { public static function validatorProvider(): Generator { yield PropertyLabelsContentsValidator::class => [ - function ( self $self ) { + static function ( self $self ) { $propertyLabelValidator = $self->createMock( PropertyLabelValidator::class ); $propertyLabelsContentsValidator = new PropertyLabelsContentsValidator( $propertyLabelValidator ); return [ @@ -135,7 +135,7 @@ class LabelsAndDescriptionsContentsValidatorTest extends TestCase { ]; yield PropertyDescriptionsContentsValidator::class => [ - function ( self $self ) { + static function ( self $self ) { $propertyDescriptionValidator = $self->createMock( PropertyDescriptionValidator::class ); $propertyDescriptionsContentsValidator = new PropertyDescriptionsContentsValidator( $propertyDescriptionValidator ); return [ @@ -148,7 +148,7 @@ class LabelsAndDescriptionsContentsValidatorTest extends TestCase { ]; yield ItemLabelsContentsValidator::class => [ - function ( self $self ) { + static function ( self $self ) { $itemLabelValidator = $self->createMock( ItemLabelValidator::class ); $itemLabelsContentsValidator = new ItemLabelsContentsValidator( $itemLabelValidator ); return [ @@ -161,7 +161,7 @@ class LabelsAndDescriptionsContentsValidatorTest extends TestCase { ]; yield ItemDescriptionsContentsValidator::class => [ - function ( self $self ) { + static function ( self $self ) { $itemDescriptionValidator = $self->createMock( ItemDescriptionValidator::class ); $itemDescriptionsContentsValidator = new ItemDescriptionsContentsValidator( $itemDescriptionValidator ); return [ diff --git a/repo/rest-api/tests/phpunit/Application/Validation/StatementsValidatorTest.php b/repo/rest-api/tests/phpunit/Application/Validation/StatementsValidatorTest.php index b52f25c..15d06d4 100644 --- a/repo/rest-api/tests/phpunit/Application/Validation/StatementsValidatorTest.php +++ b/repo/rest-api/tests/phpunit/Application/Validation/StatementsValidatorTest.php @@ -66,7 +66,7 @@ class StatementsValidatorTest extends TestCase { public function testMissingStatementValue_returnsValidationError(): void { $this->propValPairDeserializer = $this->createStub( PropertyValuePairDeserializer::class ); - $this->propValPairDeserializer->method( 'deserialize' )->willReturnCallback( function( $_, $basePath ): void { + $this->propValPairDeserializer->method( 'deserialize' )->willReturnCallback( static function( $_, $basePath ): void { throw new MissingFieldException( 'value', $basePath ); } ); diff --git a/repo/rest-api/tests/phpunit/Infrastructure/DataAccess/EntityUpdaterItemUpdaterTest.php b/repo/rest-api/tests/phpunit/Infrastructure/DataAccess/EntityUpdaterItemUpdaterTest.php index a23f117..87a9f9a 100644 --- a/repo/rest-api/tests/phpunit/Infrastructure/DataAccess/EntityUpdaterItemUpdaterTest.php +++ b/repo/rest-api/tests/phpunit/Infrastructure/DataAccess/EntityUpdaterItemUpdaterTest.php @@ -66,7 +66,7 @@ class EntityUpdaterItemUpdaterTest extends TestCase { $this->entityUpdater->expects( $this->once() ) ->method( 'create' ) ->with( $itemToCreate, $editMetaData ) - ->willReturnCallback( function () use ( $itemToCreate, $expectedRevisionId, $expectedRevisionTimestamp ) { + ->willReturnCallback( static function () use ( $itemToCreate, $expectedRevisionId, $expectedRevisionTimestamp ) { $itemToCreate->setId( new ItemId( 'Q123' ) ); return new EntityRevision( $itemToCreate, $expectedRevisionId, $expectedRevisionTimestamp ); } ); diff --git a/repo/rest-api/tests/phpunit/Infrastructure/DataAccess/EntityUpdaterPropertyUpdaterTest.php b/repo/rest-api/tests/phpunit/Infrastructure/DataAccess/EntityUpdaterPropertyUpdaterTest.php index c556c6a..8e6f46f 100644 --- a/repo/rest-api/tests/phpunit/Infrastructure/DataAccess/EntityUpdaterPropertyUpdaterTest.php +++ b/repo/rest-api/tests/phpunit/Infrastructure/DataAccess/EntityUpdaterPropertyUpdaterTest.php @@ -57,7 +57,7 @@ class EntityUpdaterPropertyUpdaterTest extends TestCase { $this->entityUpdater->expects( $this->once() ) ->method( 'create' ) ->with( $propertyToCreate, $editMetaData ) - ->willReturnCallback( function () use ( $propertyToCreate, $expectedRevisionId, $expectedRevisionTimestamp ) { + ->willReturnCallback( static function () use ( $propertyToCreate, $expectedRevisionId, $expectedRevisionTimestamp ) { $propertyToCreate->setId( new NumericPropertyId( 'P123' ) ); return new EntityRevision( $propertyToCreate, $expectedRevisionId, $expectedRevisionTimestamp ); } ); diff --git a/repo/rest-api/tests/phpunit/RouteHandlers/Middleware/TempUserCreationResponseHeaderMiddlewareTest.php b/repo/rest-api/tests/phpunit/RouteHandlers/Middleware/TempUserCreationResponseHeaderMiddlewareTest.php index 4e5980e..2bc3387 100644 --- a/repo/rest-api/tests/phpunit/RouteHandlers/Middleware/TempUserCreationResponseHeaderMiddlewareTest.php +++ b/repo/rest-api/tests/phpunit/RouteHandlers/Middleware/TempUserCreationResponseHeaderMiddlewareTest.php @@ -37,7 +37,7 @@ class TempUserCreationResponseHeaderMiddlewareTest extends TestCase { $hookRunner = $this->createMock( HookRunner::class ); $hookRunner->method( 'onTempUserCreatedRedirect' )->willReturnCallback( - function( $session, $user, $returnTo, $returnToQuery, $returnToAnchor, &$redirectUrl ): void { + static function( $session, $user, $returnTo, $returnToQuery, $returnToAnchor, &$redirectUrl ): void { $redirectUrl = 'https://en.wikipedia.org/wiki/Test'; } ); @@ -73,7 +73,7 @@ class TempUserCreationResponseHeaderMiddlewareTest extends TestCase { $hookRunner = $this->createMock( HookRunner::class ); $hookRunner->method( 'onTempUserCreatedRedirect' )->willReturnCallback( - function( $session, $user, $returnTo, $returnToQuery, $returnToAnchor, &$redirectUrl ): void { + static function( $session, $user, $returnTo, $returnToQuery, $returnToAnchor, &$redirectUrl ): void { $redirectUrl = ''; } ); diff --git a/repo/rest-api/tests/phpunit/RouteHandlers/Middleware/UnexpectedErrorHandlerMiddlewareTest.php b/repo/rest-api/tests/phpunit/RouteHandlers/Middleware/UnexpectedErrorHandlerMiddlewareTest.php index 1b717ec..43e919f 100644 --- a/repo/rest-api/tests/phpunit/RouteHandlers/Middleware/UnexpectedErrorHandlerMiddlewareTest.php +++ b/repo/rest-api/tests/phpunit/RouteHandlers/Middleware/UnexpectedErrorHandlerMiddlewareTest.php @@ -37,7 +37,7 @@ class UnexpectedErrorHandlerMiddlewareTest extends TestCase { public function testHandlesError( Throwable $throwable ): void { $response = $this->newMiddleware()->run( $this->createStub( Handler::class ), - function () use ( $throwable ): Response { + static function () use ( $throwable ): Response { throw $throwable; } ); @@ -75,7 +75,7 @@ class UnexpectedErrorHandlerMiddlewareTest extends TestCase { $this->newMiddleware()->run( $routeHandler, - function () use ( $exception ): void { + static function () use ( $exception ): void { throw $exception; } ); diff --git a/repo/tests/phpunit/includes/Actions/EditEntityActionTest.php b/repo/tests/phpunit/includes/Actions/EditEntityActionTest.php index 60bada9..da09436 100644 --- a/repo/tests/phpunit/includes/Actions/EditEntityActionTest.php +++ b/repo/tests/phpunit/includes/Actions/EditEntityActionTest.php @@ -44,7 +44,7 @@ class EditEntityActionTest extends ActionTestCase { $method = __METHOD__; $this->setTemporaryHook( 'EditFilterMergedContent', - function ( IContextSource $context, EntityContent $entityContent, Status $status ) use ( $method ) { + static function ( IContextSource $context, EntityContent $entityContent, Status $status ) use ( $method ) { if ( !$entityContent->isRedirect() ) { $entity = $entityContent->getEntity(); if ( $entity instanceof LabelsProvider ) { diff --git a/repo/tests/phpunit/includes/Actions/HistoryEntityActionTest.php b/repo/tests/phpunit/includes/Actions/HistoryEntityActionTest.php index b58ae1e..0d3b64e 100644 --- a/repo/tests/phpunit/includes/Actions/HistoryEntityActionTest.php +++ b/repo/tests/phpunit/includes/Actions/HistoryEntityActionTest.php @@ -85,7 +85,7 @@ class HistoryEntityActionTest extends \PHPUnit\Framework\TestCase { $context->method( 'getUser' ) ->willReturn( new User() ); $context->method( 'msg' ) - ->willReturnCallback( function( ...$args ) { + ->willReturnCallback( static function( ...$args ) { return wfMessage( ...$args ) ->inLanguage( self::DUMMY_LANGUAGE ); } ); @@ -142,7 +142,7 @@ class HistoryEntityActionTest extends \PHPUnit\Framework\TestCase { $pageTitle = null; $output = $this->createMock( OutputPage::class ); $output->method( 'setPageTitleMsg' ) - ->willReturnCallback( function( $m ) use( &$pageTitle ) { + ->willReturnCallback( static function( $m ) use( &$pageTitle ) { $pageTitle = $m->escaped(); } ); diff --git a/repo/tests/phpunit/includes/Api/ApiJsonFormatTest.php b/repo/tests/phpunit/includes/Api/ApiJsonFormatTest.php index 4b72526..3ca262c 100644 --- a/repo/tests/phpunit/includes/Api/ApiJsonFormatTest.php +++ b/repo/tests/phpunit/includes/Api/ApiJsonFormatTest.php @@ -155,7 +155,7 @@ class ApiJsonFormatTest extends ApiFormatTestCase { private function replaceHashesWithPlaceholder( array $json ) { array_walk_recursive( $json, - function( &$value, $key ) { + static function( &$value, $key ) { if ( $key === 'hash' ) { $value = 'XXX'; } diff --git a/repo/tests/phpunit/includes/Api/CreateRedirectTest.php b/repo/tests/phpunit/includes/Api/CreateRedirectTest.php index bf96955..80f283c 100644 --- a/repo/tests/phpunit/includes/Api/CreateRedirectTest.php +++ b/repo/tests/phpunit/includes/Api/CreateRedirectTest.php @@ -79,7 +79,7 @@ class CreateRedirectTest extends MediaWikiIntegrationTestCase { $permissionChecker = $this->createMock( EntityPermissionChecker::class ); $permissionChecker->method( 'getPermissionStatusForEntityId' ) - ->willReturnCallback( function( User $user ) { + ->willReturnCallback( static function( User $user ) { if ( $user->getName() === 'UserWithoutPermission' ) { return Status::newFatal( 'permissiondenied' ); } else { diff --git a/repo/tests/phpunit/includes/Api/EditEntityClearChangeOpValidateIntegrationTest.php b/repo/tests/phpunit/includes/Api/EditEntityClearChangeOpValidateIntegrationTest.php index 1b4eb4a..a689e10 100644 --- a/repo/tests/phpunit/includes/Api/EditEntityClearChangeOpValidateIntegrationTest.php +++ b/repo/tests/phpunit/includes/Api/EditEntityClearChangeOpValidateIntegrationTest.php @@ -146,7 +146,7 @@ class EditEntityClearChangeOpValidateIntegrationTest extends MediaWikiIntegratio $changeOp = $this->createMock( ChangeOp::class ); $changeOp->method( 'validate' ) - ->willReturnCallback( function( Item $item ) { + ->willReturnCallback( static function( Item $item ) { if ( $item->getLabels()->isEmpty() ) { return Result::newError( [ Error::newError( 'item without labels is no good' ) ] ); } @@ -154,7 +154,7 @@ class EditEntityClearChangeOpValidateIntegrationTest extends MediaWikiIntegratio } ); $changeOp->method( 'apply' ) - ->willReturnCallback( function( Item $item ) { + ->willReturnCallback( static function( Item $item ) { if ( $item->getLabels()->isEmpty() ) { throw new ChangeOpApplyException( 'item without labels is really no good' ); } diff --git a/repo/tests/phpunit/includes/Api/EntitySavingHelperTest.php b/repo/tests/phpunit/includes/Api/EntitySavingHelperTest.php index e11afcc..5cb074c 100644 --- a/repo/tests/phpunit/includes/Api/EntitySavingHelperTest.php +++ b/repo/tests/phpunit/includes/Api/EntitySavingHelperTest.php @@ -81,11 +81,11 @@ class EntitySavingHelperTest extends EntityLoadingHelperTest { private function getMockEntityStore() { $mock = $this->createMock( EntityStore::class ); $mock->method( 'canCreateWithCustomId' ) - ->willReturnCallback( function ( EntityId $id ) { + ->willReturnCallback( static function ( EntityId $id ) { return $id->getEntityType() === 'mediainfo'; } ); $mock->method( 'assignFreshId' ) - ->willReturnCallback( function ( EntityDocument $entity ) { + ->willReturnCallback( static function ( EntityDocument $entity ) { $entity->setId( new ItemId( 'Q333' ) ); } ); diff --git a/repo/tests/phpunit/includes/Api/EntityTermSearchHelperTest.php b/repo/tests/phpunit/includes/Api/EntityTermSearchHelperTest.php index dde9a44..f00a091 100644 --- a/repo/tests/phpunit/includes/Api/EntityTermSearchHelperTest.php +++ b/repo/tests/phpunit/includes/Api/EntityTermSearchHelperTest.php @@ -66,7 +66,7 @@ class EntityTermSearchHelperTest extends \PHPUnit\Framework\TestCase { $searchInteractor->expects( $this->atLeastOnce() ) ->method( 'setTermSearchOptions' ) ->with( $this->callback( - function ( TermSearchOptions $options ) use ( $strictLanguage ) { + static function ( TermSearchOptions $options ) use ( $strictLanguage ) { return $options->getUseLanguageFallback() !== $strictLanguage; } ) ); diff --git a/repo/tests/phpunit/includes/Api/FormatSnakValueTest.php b/repo/tests/phpunit/includes/Api/FormatSnakValueTest.php index 33320a8..5d2d792 100644 --- a/repo/tests/phpunit/includes/Api/FormatSnakValueTest.php +++ b/repo/tests/phpunit/includes/Api/FormatSnakValueTest.php @@ -55,7 +55,7 @@ class FormatSnakValueTest extends ApiTestCase { $deletedItem = wfMessage( 'wikibase-deletedentity-item' )->inLanguage( 'en' )->text(); return [ - [ function () { + [ static function () { return [ new StringValue( 'test' ), null, @@ -65,7 +65,7 @@ class FormatSnakValueTest extends ApiTestCase { '/^test$/', ]; } ], - [ function () use ( $november11 ) { + [ static function () use ( $november11 ) { return [ $november11, null, @@ -75,7 +75,7 @@ class FormatSnakValueTest extends ApiTestCase { '/^11 November 2013$/', ]; } ], - [ function () use ( $november ) { + [ static function () use ( $november ) { return [ $november, null, @@ -85,7 +85,7 @@ class FormatSnakValueTest extends ApiTestCase { '/^November 2013$/', ]; } ], - [ function () { + [ static function () { return [ new StringValue( 'http://acme.test' ), 'string', @@ -95,7 +95,7 @@ class FormatSnakValueTest extends ApiTestCase { '@^http://acme\.test$@', ]; } ], - [ function () { + [ static function () { return [ new StringValue( 'http://acme.test' ), 'string', @@ -105,7 +105,7 @@ class FormatSnakValueTest extends ApiTestCase { '@^http://acme\.test$@', ]; } ], - [ function () { + [ static function () { return [ new StringValue( 'http://acme.test' ), 'url', @@ -115,7 +115,7 @@ class FormatSnakValueTest extends ApiTestCase { '@^http://acme\.test$@', ]; } ], - [ function () { + [ static function () { return [ UnboundedQuantityValue::newFromNumber( '+12.33' ), 'quantity', @@ -125,7 +125,7 @@ class FormatSnakValueTest extends ApiTestCase { '@^12,33$@', // german decimal separator ]; } ], - [ function () { + [ static function () { return [ new StringValue( 'http://acme.test' ), 'url', @@ -135,7 +135,7 @@ class FormatSnakValueTest extends ApiTestCase { '@^http://acme\.test$@', ]; } ], - [ function () { + [ static function () { return [ new StringValue( 'example.jpg' ), 'commonsMedia', @@ -145,7 +145,7 @@ class FormatSnakValueTest extends ApiTestCase { '@commons\.wikimedia\.org\/wiki\/File:Example\.jpg@', ]; } ], - [ function () use ( $wordSeparator, $deletedItem ) { + [ static function () use ( $wordSeparator, $deletedItem ) { return [ new EntityIdValue( new ItemId( 'Q404' ) ), 'wikibase-item', @@ -156,7 +156,7 @@ class FormatSnakValueTest extends ApiTestCase { preg_quote( $deletedItem, '/' ) . '\)<\/span>$/', ]; } ], - [ function ( self $test ) { + [ static function ( self $test ) { $id = $test->testingItem->getId(); $idString = $id->getSerialization(); @@ -170,7 +170,7 @@ class FormatSnakValueTest extends ApiTestCase { '">George Washington<\/a>$/', ]; } ], - [ function ( self $test ) { + [ static function ( self $test ) { $id = $test->testingItem->getId(); $idString = $id->getSerialization(); @@ -185,7 +185,7 @@ class FormatSnakValueTest extends ApiTestCase { '<sup class="wb-language-fallback-indicator">[^<>]+<\/sup>$/', ]; } ], - [ function () { + [ static function () { return [ new StringValue( 'whatever' ), null, @@ -195,7 +195,7 @@ class FormatSnakValueTest extends ApiTestCase { '/wikibase-snakformatter-property-not-found/', ]; } ], - 'wikibase-snakformatter-valuetype-mismatch' => [ function ( self $test ) { + 'wikibase-snakformatter-valuetype-mismatch' => [ static function ( self $test ) { $qid = $test->testingItem->getId(); $pid = $test->testingProperty->getId(); @@ -208,7 +208,7 @@ class FormatSnakValueTest extends ApiTestCase { '/wikibase-snakformatter-valuetype-mismatch/', ]; } ], - [ function ( self $test ) { + [ static function ( self $test ) { $pid = $test->testingProperty->getId(); return [ @@ -375,7 +375,7 @@ class FormatSnakValueTest extends ApiTestCase { } protected function createPropertyWithDataTypeWithCustomDeserializer( string $dataType, callable $deserialize ): PropertyId { - $this->setTemporaryHook( 'WikibaseRepoDataTypes', function ( array &$dataTypes ) use ( $dataType, $deserialize ) { + $this->setTemporaryHook( 'WikibaseRepoDataTypes', static function ( array &$dataTypes ) use ( $dataType, $deserialize ) { $dataTypes["PT:$dataType"] = [ 'value-type' => 'string', 'deserializer-builder' => $deserialize, diff --git a/repo/tests/phpunit/includes/Api/MergeItemsTest.php b/repo/tests/phpunit/includes/Api/MergeItemsTest.php index 528761a..6cc6637 100644 --- a/repo/tests/phpunit/includes/Api/MergeItemsTest.php +++ b/repo/tests/phpunit/includes/Api/MergeItemsTest.php @@ -94,7 +94,7 @@ class MergeItemsTest extends MediaWikiIntegrationTestCase { private function getPermissionCheckers(): EntityPermissionChecker { $permissionChecker = $this->createMock( EntityPermissionChecker::class ); - $callback = function ( User $user, $permission ) { + $callback = static function ( User $user, $permission ) { if ( $user->getName() === 'UserWithoutPermission' && $permission === 'edit' ) { return Status::newFatal( 'permissiondenied' ); } else { @@ -118,7 +118,7 @@ class MergeItemsTest extends MediaWikiIntegrationTestCase { $mock->expects( $this->once() ) ->method( 'createRedirect' ) ->with( $redirect->getEntityId(), $redirect->getTargetId() ) - ->willReturnCallback( function() use ( $redirect ) { + ->willReturnCallback( static function() use ( $redirect ) { return EntityRedirectCreationStatus::newGood( [ 'entityRedirect' => $redirect, 'context' => new RequestContext(), @@ -136,7 +136,7 @@ class MergeItemsTest extends MediaWikiIntegrationTestCase { private function getEntityTitleStoreLookup(): EntityTitleStoreLookup { $entityTitleStoreLookup = $this->createMock( EntityTitleStoreLookup::class ); $entityTitleStoreLookup->method( 'getTitleForId' ) - ->willReturnCallback( function( EntityId $entityId ) { + ->willReturnCallback( static function( EntityId $entityId ) { return Title::newFromTextThrow( $entityId->getSerialization() ); } ); @@ -209,7 +209,7 @@ class MergeItemsTest extends MediaWikiIntegrationTestCase { $services->getPermissionManager() ), $errorReporter, - function ( $module ) use ( $apiResultBuilder ) { + static function ( $module ) use ( $apiResultBuilder ) { return $apiResultBuilder; }, [ 'mainItem' => 'Q100', 'auxItem' => 'Q200' ] diff --git a/repo/tests/phpunit/includes/Api/RemoveQualifiersTest.php b/repo/tests/phpunit/includes/Api/RemoveQualifiersTest.php index fff0b4f..b30b8ae 100644 --- a/repo/tests/phpunit/includes/Api/RemoveQualifiersTest.php +++ b/repo/tests/phpunit/includes/Api/RemoveQualifiersTest.php @@ -96,7 +96,7 @@ class RemoveQualifiersTest extends WikibaseApiTestCase { ); } else { $hashes = array_map( - function( Snak $qualifier ) { + static function( Snak $qualifier ) { return $qualifier->getHash(); }, iterator_to_array( $qualifiers ) @@ -127,7 +127,7 @@ class RemoveQualifiersTest extends WikibaseApiTestCase { $qualifiers = $statement->getQualifiers(); $hashes = array_map( - function( Snak $qualifier ) { + static function( Snak $qualifier ) { return $qualifier->getHash(); }, iterator_to_array( $qualifiers ) diff --git a/repo/tests/phpunit/includes/Api/RemoveReferencesTest.php b/repo/tests/phpunit/includes/Api/RemoveReferencesTest.php index 8523d14..bc5a6ab 100644 --- a/repo/tests/phpunit/includes/Api/RemoveReferencesTest.php +++ b/repo/tests/phpunit/includes/Api/RemoveReferencesTest.php @@ -97,7 +97,7 @@ class RemoveReferencesTest extends WikibaseApiTestCase { ); } else { $hashes = array_map( - function( Reference $reference ) { + static function( Reference $reference ) { return $reference->getHash(); }, iterator_to_array( $references ) @@ -127,7 +127,7 @@ class RemoveReferencesTest extends WikibaseApiTestCase { $references = $statement->getReferences(); $hashes = array_map( - function( Reference $reference ) { + static function( Reference $reference ) { return $reference->getHash(); }, iterator_to_array( $references ) diff --git a/repo/tests/phpunit/includes/Api/ResultBuilderTest.php b/repo/tests/phpunit/includes/Api/ResultBuilderTest.php index 869649c..fe9959a 100644 --- a/repo/tests/phpunit/includes/Api/ResultBuilderTest.php +++ b/repo/tests/phpunit/includes/Api/ResultBuilderTest.php @@ -68,7 +68,7 @@ class ResultBuilderTest extends \PHPUnit\Framework\TestCase { $mockPropertyDataTypeLookup = $this->createMock( PropertyDataTypeLookup::class ); $mockPropertyDataTypeLookup->method( 'getDataTypeIdForProperty' ) - ->willReturnCallback( function( NumericPropertyId $id ) { + ->willReturnCallback( static function( NumericPropertyId $id ) { return 'DtIdFor_' . $id->getSerialization(); } ); @@ -1742,7 +1742,7 @@ class ResultBuilderTest extends \PHPUnit\Framework\TestCase { ] ); $calledWithUser = null; - $resultBuilder->addTempUser( $status, function ( $user ) use ( &$calledWithUser ) { + $resultBuilder->addTempUser( $status, static function ( $user ) use ( &$calledWithUser ) { $calledWithUser = $user; return ''; } ); @@ -1768,7 +1768,7 @@ class ResultBuilderTest extends \PHPUnit\Framework\TestCase { ] ); $calledWithUser = null; - $resultBuilder->addTempUser( $status, function ( $user ) use ( &$calledWithUser ) { + $resultBuilder->addTempUser( $status, static function ( $user ) use ( &$calledWithUser ) { $calledWithUser = $user; return 'https://example.com/?foo#bar'; } ); diff --git a/repo/tests/phpunit/includes/Api/SetClaimValueTest.php b/repo/tests/phpunit/includes/Api/SetClaimValueTest.php index bb704c9..fda19fa 100644 --- a/repo/tests/phpunit/includes/Api/SetClaimValueTest.php +++ b/repo/tests/phpunit/includes/Api/SetClaimValueTest.php @@ -265,7 +265,7 @@ class SetClaimValueTest extends WikibaseApiTestCase { $options = new FormatterOptions(); $options->setOption( 'formatter-builders-text/plain', [ - 'VT:wikibase-entityid' => function() use ( $idFormatter ) { + 'VT:wikibase-entityid' => static function() use ( $idFormatter ) { return new EntityIdValueFormatter( $idFormatter ); }, ] ); diff --git a/repo/tests/phpunit/includes/Api/StatementModificationHelperTest.php b/repo/tests/phpunit/includes/Api/StatementModificationHelperTest.php index af42f3d..2b0a9fc 100644 --- a/repo/tests/phpunit/includes/Api/StatementModificationHelperTest.php +++ b/repo/tests/phpunit/includes/Api/StatementModificationHelperTest.php @@ -91,10 +91,10 @@ class StatementModificationHelperTest extends MediaWikiIntegrationTestCase { $changeOpFactoryProvider->getStatementChangeOpFactory(), $apiHelperFactory->getErrorReporter( $apiMain ), $modificationHelper, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getResultBuilder( $module ); }, - function ( $module ) use ( $apiHelperFactory ) { + static function ( $module ) use ( $apiHelperFactory ) { return $apiHelperFactory->getEntitySavingHelper( $module ); }, false, @@ -207,12 +207,12 @@ class StatementModificationHelperTest extends MediaWikiIntegrationTestCase { $errorReporter = $this->createMock( ApiErrorReporter::class ); $errorReporter->method( 'dieException' ) - ->willReturnCallback( function ( $exception, $message ) { + ->willReturnCallback( static function ( $exception, $message ) { throw new RuntimeException( $message ); } ); $errorReporter->method( 'dieError' ) - ->willReturnCallback( function ( $description, $message ) { + ->willReturnCallback( static function ( $description, $message ) { throw new RuntimeException( $message ); } ); diff --git a/repo/tests/phpunit/includes/Api/WikibaseApiTestCase.php b/repo/tests/phpunit/includes/Api/WikibaseApiTestCase.php index 9216554..ee842e9 100644 --- a/repo/tests/phpunit/includes/Api/WikibaseApiTestCase.php +++ b/repo/tests/phpunit/includes/Api/WikibaseApiTestCase.php @@ -165,7 +165,7 @@ abstract class WikibaseApiTestCase extends ApiTestCase { 'normalizer-factory-callback' => function (): DataValueNormalizer { $normalizer = $this->createMock( DataValueNormalizer::class ); $normalizer->method( 'normalize' ) - ->willReturnCallback( function ( StringValue $value ): StringValue { + ->willReturnCallback( static function ( StringValue $value ): StringValue { return new StringValue( strtoupper( $value->getValue() ) ); } ); return $normalizer; diff --git a/repo/tests/phpunit/includes/BuilderBasedDataTypeValidatorFactoryTest.php b/repo/tests/phpunit/includes/BuilderBasedDataTypeValidatorFactoryTest.php index 1abe835..7f64aaa 100644 --- a/repo/tests/phpunit/includes/BuilderBasedDataTypeValidatorFactoryTest.php +++ b/repo/tests/phpunit/includes/BuilderBasedDataTypeValidatorFactoryTest.php @@ -30,7 +30,7 @@ class BuilderBasedDataTypeValidatorFactoryTest extends \PHPUnit\Framework\TestCa } public function testInvalidValidatorsArray() { - $factory = new BuilderBasedDataTypeValidatorFactory( [ 'id' => function() { + $factory = new BuilderBasedDataTypeValidatorFactory( [ 'id' => static function() { return 'invalid'; } ] ); $this->expectException( PostconditionException::class ); @@ -38,14 +38,14 @@ class BuilderBasedDataTypeValidatorFactoryTest extends \PHPUnit\Framework\TestCa } public function testEmptyValidatorsArray() { - $factory = new BuilderBasedDataTypeValidatorFactory( [ 'id' => function() { + $factory = new BuilderBasedDataTypeValidatorFactory( [ 'id' => static function() { return []; } ] ); $this->assertSame( [], $factory->getValidators( 'id' ) ); } public function testInvalidValidatorObject() { - $factory = new BuilderBasedDataTypeValidatorFactory( [ 'id' => function() { + $factory = new BuilderBasedDataTypeValidatorFactory( [ 'id' => static function() { return [ 'invalid' ]; } ] ); $this->expectException( PostconditionException::class ); @@ -55,7 +55,7 @@ class BuilderBasedDataTypeValidatorFactoryTest extends \PHPUnit\Framework\TestCa public function testGetValidators() { $validators = [ new CompositeValidator( [] ) ]; $factory = new BuilderBasedDataTypeValidatorFactory( [ - 'id' => function() use ( $validators ) { + 'id' => static function() use ( $validators ) { return $validators; }, ] ); diff --git a/repo/tests/phpunit/includes/ChangeModification/DispatchChangeVisibilityNotificationJobTest.php b/repo/tests/phpunit/includes/ChangeModification/DispatchChangeVisibilityNotificationJobTest.php index f0bab6c..08ed1fb 100644 --- a/repo/tests/phpunit/includes/ChangeModification/DispatchChangeVisibilityNotificationJobTest.php +++ b/repo/tests/phpunit/includes/ChangeModification/DispatchChangeVisibilityNotificationJobTest.php @@ -225,7 +225,7 @@ class DispatchChangeVisibilityNotificationJobTest extends MediaWikiIntegrationTe ->willReturnCallback( function ( string $wikiId ) use ( &$actualJobs ) { $jobQueueGroup = $this->createMock( JobQueueGroup::class ); $jobQueueGroup->method( 'push' ) - ->willReturnCallback( function ( array $jobs ) use ( $wikiId, &$actualJobs ) { + ->willReturnCallback( static function ( array $jobs ) use ( $wikiId, &$actualJobs ) { foreach ( $jobs as $job ) { $actualJobs[$wikiId][] = $job->getParams(); } @@ -241,7 +241,7 @@ class DispatchChangeVisibilityNotificationJobTest extends MediaWikiIntegrationTe $entityIdLookup = $this->createMock( EntityIdLookup::class ); $entityIdLookup->expects( $this->once() ) ->method( 'getEntityIdForTitle' ) - ->willReturnCallback( function ( Title $title ): EntityId { + ->willReturnCallback( static function ( Title $title ): EntityId { return ( new BasicEntityIdParser() )->parse( $title->getText() ); } ); diff --git a/repo/tests/phpunit/includes/ChangeOp/ChangeOpTestMockProvider.php b/repo/tests/phpunit/includes/ChangeOp/ChangeOpTestMockProvider.php index 5977075..488790b 100644 --- a/repo/tests/phpunit/includes/ChangeOp/ChangeOpTestMockProvider.php +++ b/repo/tests/phpunit/includes/ChangeOp/ChangeOpTestMockProvider.php @@ -162,7 +162,7 @@ class ChangeOpTestMockProvider { $mock = $this->createMock( DataTypeFactory::class ); $mock->method( 'getType' ) - ->willReturnCallback( function( $id ) use ( $types ) { + ->willReturnCallback( static function( $id ) use ( $types ) { if ( !isset( $types[$id] ) ) { throw new OutOfBoundsException( "No such type: $id" ); } @@ -192,7 +192,7 @@ class ChangeOpTestMockProvider { $mock = $this->createMock( DataTypeValidatorFactory::class ); $mock->method( 'getValidators' ) - ->willReturnCallback( function( $id ) use ( $validators ) { + ->willReturnCallback( static function( $id ) use ( $validators ) { return $validators; } ); @@ -208,7 +208,7 @@ class ChangeOpTestMockProvider { public function getMockTermValidator() { $mock = $this->createMock( ValueValidator::class ); $mock->method( 'validate' ) - ->willReturnCallback( function( $text ) { + ->willReturnCallback( static function( $text ) { if ( $text === 'INVALID' ) { $error = Error::newError( 'Invalid', '', 'test-invalid' ); return Result::newError( [ $error ] ); @@ -248,7 +248,7 @@ class ChangeOpTestMockProvider { $mock = $this->createMock( SiteLinkConflictLookup::class ); $mock->method( 'getConflictsForItem' ) - ->willReturnCallback( function ( ItemId $itemId, SiteLinkList $siteLinkList ) { + ->willReturnCallback( static function ( ItemId $itemId, SiteLinkList $siteLinkList ) { $conflicts = []; foreach ( $siteLinkList->toArray() as $link ) { diff --git a/repo/tests/phpunit/includes/ChangeOp/ChangeOpsMergeTest.php b/repo/tests/phpunit/includes/ChangeOp/ChangeOpsMergeTest.php index d3f7143..dd1688a 100644 --- a/repo/tests/phpunit/includes/ChangeOp/ChangeOpsMergeTest.php +++ b/repo/tests/phpunit/includes/ChangeOp/ChangeOpsMergeTest.php @@ -74,7 +74,7 @@ class ChangeOpsMergeTest extends MediaWikiIntegrationTestCase { // A validator which makes sure that no site link is for page 'DUPE' $siteLinkUniquenessValidator = $this->createMock( EntityValidator::class ); $siteLinkUniquenessValidator->method( 'validateEntity' ) - ->willReturnCallback( function( Item $item ) { + ->willReturnCallback( static function( Item $item ) { foreach ( $item->getSiteLinkList()->toArray() as $siteLink ) { if ( $siteLink->getPageName() === 'DUPE' ) { return Result::newError( [ Error::newError( 'SiteLink conflict' ) ] ); diff --git a/repo/tests/phpunit/includes/ChangeOp/ChangeOpsTest.php b/repo/tests/phpunit/includes/ChangeOp/ChangeOpsTest.php index 584dbf5..829f198 100644 --- a/repo/tests/phpunit/includes/ChangeOp/ChangeOpsTest.php +++ b/repo/tests/phpunit/includes/ChangeOp/ChangeOpsTest.php @@ -115,7 +115,7 @@ class ChangeOpsTest extends \PHPUnit\Framework\TestCase { $newLabel = 'newLabel'; $newDescription = 'newDescription'; - $changeOpsFactory = function ( self $self ) use ( $language, $newLabel, $newDescription ): ChangeOps { + $changeOpsFactory = static function ( self $self ) use ( $language, $newLabel, $newDescription ): ChangeOps { $validatorFactory = $self->getTermValidatorFactory(); $changeOps = new ChangeOps(); $changeOps->add( new ChangeOpLabel( $language, $newLabel, $validatorFactory ) ); @@ -193,14 +193,14 @@ class ChangeOpsTest extends \PHPUnit\Framework\TestCase { $changeOp = $this->createMock( ChangeOp::class ); $changeOp->method( 'validate' ) - ->willReturnCallback( function( Item $item ) { + ->willReturnCallback( static function( Item $item ) { // Fail when the label is already set (by a previous apply call). return $item->getFingerprint()->hasLabel( 'en' ) ? Result::newError( [] ) : Result::newSuccess(); } ); $changeOp->method( 'apply' ) - ->willReturnCallback( function( Item $item ) { + ->willReturnCallback( static function( Item $item ) { $item->setLabel( 'en', 'Label' ); } ); diff --git a/repo/tests/phpunit/includes/ChangeOp/Deserialization/AliasChangeOpDeserializationTester.php b/repo/tests/phpunit/includes/ChangeOp/Deserialization/AliasChangeOpDeserializationTester.php index dd36732..b81e145 100644 --- a/repo/tests/phpunit/includes/ChangeOp/Deserialization/AliasChangeOpDeserializationTester.php +++ b/repo/tests/phpunit/includes/ChangeOp/Deserialization/AliasChangeOpDeserializationTester.php @@ -51,7 +51,7 @@ trait AliasChangeOpDeserializationTester { $entity = $this->getEntityWithExistingAliases(); $existingAliases = $entity->getAliasGroups()->getByLanguage( 'en' )->getAliases(); $changeOp = $this->getChangeOpDeserializer()->createEntityChangeOp( [ - 'aliases' => array_map( function( $alias ) { + 'aliases' => array_map( static function( $alias ) { return [ 'language' => 'en', 'value' => $alias, 'remove' => '' ]; }, $existingAliases ), ] ); diff --git a/repo/tests/phpunit/includes/ChangeOp/Deserialization/FingerprintChangeOpDeserializerTest.php b/repo/tests/phpunit/includes/ChangeOp/Deserialization/FingerprintChangeOpDeserializerTest.php index 88ef964..c78058b 100644 --- a/repo/tests/phpunit/includes/ChangeOp/Deserialization/FingerprintChangeOpDeserializerTest.php +++ b/repo/tests/phpunit/includes/ChangeOp/Deserialization/FingerprintChangeOpDeserializerTest.php @@ -31,7 +31,7 @@ class FingerprintChangeOpDeserializerTest extends \PHPUnit\Framework\TestCase { private $aliasesChangeOpDeserializerMock; protected function setUp(): void { - $createNullChangeOpCallback = function ( $changeRequest ) { + $createNullChangeOpCallback = static function ( $changeRequest ) { return new NullChangeOp(); }; diff --git a/repo/tests/phpunit/includes/ChangeOp/Deserialization/SiteLinkBadgeChangeOpSerializationValidatorTest.php b/repo/tests/phpunit/includes/ChangeOp/Deserialization/SiteLinkBadgeChangeOpSerializationValidatorTest.php index 335ed6d..0776530 100644 --- a/repo/tests/phpunit/includes/ChangeOp/Deserialization/SiteLinkBadgeChangeOpSerializationValidatorTest.php +++ b/repo/tests/phpunit/includes/ChangeOp/Deserialization/SiteLinkBadgeChangeOpSerializationValidatorTest.php @@ -33,7 +33,7 @@ class SiteLinkBadgeChangeOpSerializationValidatorTest extends \PHPUnit\Framework ); ChangeOpDeserializationAssert::assertThrowsChangeOpDeserializationException( - function() use ( $validator, $serialization ) { + static function() use ( $validator, $serialization ) { $validator->validateBadgeSerialization( $serialization ); }, 'not-recognized-string' @@ -58,7 +58,7 @@ class SiteLinkBadgeChangeOpSerializationValidatorTest extends \PHPUnit\Framework ); ChangeOpDeserializationAssert::assertThrowsChangeOpDeserializationException( - function() use ( $validator, $serialization ) { + static function() use ( $validator, $serialization ) { $validator->validateBadgeSerialization( $serialization ); }, 'invalid-entity-id' @@ -75,7 +75,7 @@ class SiteLinkBadgeChangeOpSerializationValidatorTest extends \PHPUnit\Framework ); ChangeOpDeserializationAssert::assertThrowsChangeOpDeserializationException( - function() use ( $validator, $invalidBadgeItemId ) { + static function() use ( $validator, $invalidBadgeItemId ) { $validator->validateBadgeSerialization( [ $invalidBadgeItemId ] ); }, 'not-badge' @@ -95,7 +95,7 @@ class SiteLinkBadgeChangeOpSerializationValidatorTest extends \PHPUnit\Framework ); ChangeOpDeserializationAssert::assertThrowsChangeOpDeserializationException( - function() use ( $validator, $badgeItemId ) { + static function() use ( $validator, $badgeItemId ) { $validator->validateBadgeSerialization( [ $badgeItemId ] ); }, 'no-such-entity' @@ -119,7 +119,7 @@ class SiteLinkBadgeChangeOpSerializationValidatorTest extends \PHPUnit\Framework ); ChangeOpDeserializationAssert::assertThrowsChangeOpDeserializationException( - function() use ( $validator, $badgeItemId ) { + static function() use ( $validator, $badgeItemId ) { $validator->validateBadgeSerialization( [ $badgeItemId ] ); }, 'no-such-entity' diff --git a/repo/tests/phpunit/includes/ChangeOp/Deserialization/SiteLinksChangeOpDeserializerTest.php b/repo/tests/phpunit/includes/ChangeOp/Deserialization/SiteLinksChangeOpDeserializerTest.php index b9e481a..351ca2b 100644 --- a/repo/tests/phpunit/includes/ChangeOp/Deserialization/SiteLinksChangeOpDeserializerTest.php +++ b/repo/tests/phpunit/includes/ChangeOp/Deserialization/SiteLinksChangeOpDeserializerTest.php @@ -67,7 +67,7 @@ class SiteLinksChangeOpDeserializerTest extends \PHPUnit\Framework\TestCase { $deserializer = $this->newSiteLinksChangeOpDeserializer(); ChangeOpDeserializationAssert::assertThrowsChangeOpDeserializationException( - function() use ( $deserializer ) { + static function() use ( $deserializer ) { $deserializer->createEntityChangeOp( [ 'sitelinks' => 'foo' ] ); }, 'not-recognized-array' @@ -91,7 +91,7 @@ class SiteLinksChangeOpDeserializerTest extends \PHPUnit\Framework\TestCase { $deserializer = $this->newSiteLinksChangeOpDeserializer(); ChangeOpDeserializationAssert::assertThrowsChangeOpDeserializationException( - function() use ( $deserializer, $serialization ) { + static function() use ( $deserializer, $serialization ) { $deserializer->createEntityChangeOp( [ 'sitelinks' => [ self::SITE_ID => $serialization ] ] ); }, $expectedError @@ -102,7 +102,7 @@ class SiteLinksChangeOpDeserializerTest extends \PHPUnit\Framework\TestCase { $deserializer = $this->newSiteLinksChangeOpDeserializer(); ChangeOpDeserializationAssert::assertThrowsChangeOpDeserializationException( - function() use ( $deserializer ) { + static function() use ( $deserializer ) { $deserializer->createEntityChangeOp( [ 'sitelinks' => [ self::SITE_ID => [ 'site' => 'someotherwiki' ] ] ] ); }, 'inconsistent-site' @@ -113,7 +113,7 @@ class SiteLinksChangeOpDeserializerTest extends \PHPUnit\Framework\TestCase { $deserializer = $this->newSiteLinksChangeOpDeserializer(); ChangeOpDeserializationAssert::assertThrowsChangeOpDeserializationException( - function() use ( $deserializer ) { + static function() use ( $deserializer ) { $deserializer->createEntityChangeOp( [ 'sitelinks' => [ 'someotherwiki' => [ 'site' => 'someotherwiki' ] ] ] ); }, 'not-recognized-site' @@ -140,7 +140,7 @@ class SiteLinksChangeOpDeserializerTest extends \PHPUnit\Framework\TestCase { ); ChangeOpDeserializationAssert::assertThrowsChangeOpDeserializationException( - function() use ( $deserializer ) { + static function() use ( $deserializer ) { $deserializer->createEntityChangeOp( [ 'sitelinks' => [ self::SITE_ID => [ 'site' => self::SITE_ID, 'badges' => [ 'BAD' ] ] ] ] ); @@ -353,7 +353,7 @@ class SiteLinksChangeOpDeserializerTest extends \PHPUnit\Framework\TestCase { $deserializer = $this->newSiteLinksChangeOpDeserializer( $item ); ChangeOpDeserializationAssert::assertThrowsChangeOpDeserializationException( - function () use ( $deserializer, $item ) { + static function () use ( $deserializer, $item ) { $deserializer->createEntityChangeOp( [ 'id' => $item->getId()->getSerialization(), diff --git a/repo/tests/phpunit/includes/ChangeOp/EntityChangeOpProviderTest.php b/repo/tests/phpunit/includes/ChangeOp/EntityChangeOpProviderTest.php index 746b4e9..74e6ee5 100644 --- a/repo/tests/phpunit/includes/ChangeOp/EntityChangeOpProviderTest.php +++ b/repo/tests/phpunit/includes/ChangeOp/EntityChangeOpProviderTest.php @@ -22,7 +22,7 @@ class EntityChangeOpProviderTest extends \PHPUnit\Framework\TestCase { return [ 'not a callback as a value' => [ [ 'entity-type' => 'foo' ] ], 'not a string as a key' => [ [ - 100 => function() { + 100 => static function() { }, ] ], ]; @@ -49,7 +49,7 @@ class EntityChangeOpProviderTest extends \PHPUnit\Framework\TestCase { $deserializer = $this->getChangeOpDeserializer(); $changeOpProvider = new EntityChangeOpProvider( [ - 'entity-type' => function() use ( $deserializer ) { + 'entity-type' => static function() use ( $deserializer ) { return $deserializer; }, ] ); @@ -61,7 +61,7 @@ class EntityChangeOpProviderTest extends \PHPUnit\Framework\TestCase { public function testGivenCallbackNotReturningChangeOpDeserializer_exceptionIsThrown() { $changeOpProvider = new EntityChangeOpProvider( [ - 'entity-type' => function() { + 'entity-type' => static function() { return (object)[]; }, ] ); @@ -75,7 +75,7 @@ class EntityChangeOpProviderTest extends \PHPUnit\Framework\TestCase { $deserializer = $this->getChangeOpDeserializer(); $changeOpProvider = new EntityChangeOpProvider( [ - 'entity-type' => function() use ( $deserializer ) { + 'entity-type' => static function() use ( $deserializer ) { return $deserializer; }, ] ); diff --git a/repo/tests/phpunit/includes/Content/ContentHandlerEntityIdLookupTest.php b/repo/tests/phpunit/includes/Content/ContentHandlerEntityIdLookupTest.php index 12e1e52..146d102 100644 --- a/repo/tests/phpunit/includes/Content/ContentHandlerEntityIdLookupTest.php +++ b/repo/tests/phpunit/includes/Content/ContentHandlerEntityIdLookupTest.php @@ -56,10 +56,10 @@ class ContentHandlerEntityIdLookupTest extends MediaWikiIntegrationTestCase { 'property' => PropertyContent::CONTENT_MODEL_ID, ], [ - 'item' => function() { + 'item' => static function() { return WikibaseRepo::getItemHandler(); }, - 'property' => function() { + 'property' => static function() { return WikibaseRepo::getPropertyHandler(); }, ] diff --git a/repo/tests/phpunit/includes/Content/ContentHandlerEntityTitleLookupTest.php b/repo/tests/phpunit/includes/Content/ContentHandlerEntityTitleLookupTest.php index d9705ba..b271ea9 100644 --- a/repo/tests/phpunit/includes/Content/ContentHandlerEntityTitleLookupTest.php +++ b/repo/tests/phpunit/includes/Content/ContentHandlerEntityTitleLookupTest.php @@ -49,10 +49,10 @@ class ContentHandlerEntityTitleLookupTest extends MediaWikiIntegrationTestCase { 'property' => PropertyContent::CONTENT_MODEL_ID, ], [ - 'item' => function() { + 'item' => static function() { return WikibaseRepo::getItemHandler(); }, - 'property' => function() { + 'property' => static function() { return WikibaseRepo::getPropertyHandler(); }, ] diff --git a/repo/tests/phpunit/includes/Content/DataUpdateAdapterTest.php b/repo/tests/phpunit/includes/Content/DataUpdateAdapterTest.php index a671626..397ed90 100644 --- a/repo/tests/phpunit/includes/Content/DataUpdateAdapterTest.php +++ b/repo/tests/phpunit/includes/Content/DataUpdateAdapterTest.php @@ -23,7 +23,7 @@ class DataUpdateAdapterTest extends \PHPUnit\Framework\TestCase { $reporter->expects( $this->once() ) ->method( 'reportMessage' ); - $update = new DataUpdateAdapter( function() { + $update = new DataUpdateAdapter( static function() { throw new RuntimeException( 'Test' ); } ); $update->setExceptionHandler( new ReportingExceptionHandler( $reporter ) ); @@ -38,7 +38,7 @@ class DataUpdateAdapterTest extends \PHPUnit\Framework\TestCase { $reporter->expects( $this->once() ) ->method( 'reportMessage' ); - $update = new DataUpdateAdapter( function() { + $update = new DataUpdateAdapter( static function() { throw new DBError( null, 'db error' ); } ); $update->setExceptionHandler( new ReportingExceptionHandler( $reporter ) ); diff --git a/repo/tests/phpunit/includes/Content/EntityContentFactoryTest.php b/repo/tests/phpunit/includes/Content/EntityContentFactoryTest.php index f57ae82..8d4236b 100644 --- a/repo/tests/phpunit/includes/Content/EntityContentFactoryTest.php +++ b/repo/tests/phpunit/includes/Content/EntityContentFactoryTest.php @@ -116,10 +116,10 @@ class EntityContentFactoryTest extends MediaWikiIntegrationTestCase { 'property' => PropertyContent::CONTENT_MODEL_ID, ], [ - 'item' => function() { + 'item' => static function() { return WikibaseRepo::getItemHandler(); }, - 'property' => function() { + 'property' => static function() { return WikibaseRepo::getPropertyHandler(); }, ] diff --git a/repo/tests/phpunit/includes/Content/EntityContentTestCase.php b/repo/tests/phpunit/includes/Content/EntityContentTestCase.php index 291bb9e..7794ab1 100644 --- a/repo/tests/phpunit/includes/Content/EntityContentTestCase.php +++ b/repo/tests/phpunit/includes/Content/EntityContentTestCase.php @@ -175,7 +175,7 @@ abstract class EntityContentTestCase extends MediaWikiIntegrationTestCase { ], ], 'labels' => [ - function ( self $self ) { + static function ( self $self ) { $labeledEntityContent = $self->newBlank(); $self->setLabel( $labeledEntityContent->getEntity(), 'de', 'xyz' ); return $labeledEntityContent; diff --git a/repo/tests/phpunit/includes/Content/ItemContentTest.php b/repo/tests/phpunit/includes/Content/ItemContentTest.php index a578f42..0cbc813 100644 --- a/repo/tests/phpunit/includes/Content/ItemContentTest.php +++ b/repo/tests/phpunit/includes/Content/ItemContentTest.php @@ -95,7 +95,7 @@ class ItemContentTest extends EntityContentTestCase { $propertyHolder = new EntityInstanceHolder( Property::newFromType( 'string' ) ); - $badTitleFactory = function ( self $self ) { + $badTitleFactory = static function ( self $self ) { $badTitle = $self->createMock( Title::class ); $badTitle->method( 'getContentModel' ) ->willReturn( 'bad content model' ); @@ -372,7 +372,7 @@ class ItemContentTest extends EntityContentTestCase { ); $cases['same redir'] = [ - function ( self $self ) use ( $q10 ) { + static function ( self $self ) use ( $q10 ) { $redir = $self->newRedirect( $q10, new ItemId( 'Q17' ) ); return [ $redir, $redir ]; }, @@ -474,7 +474,7 @@ class ItemContentTest extends EntityContentTestCase { $labels1->getItem()->setLabel( 'en', 'Foo' ); $cases['same redirect'] = [ - function ( self $self ) { + static function ( self $self ) { $redir = $self->newRedirect( new ItemId( 'Q5' ), new ItemId( 'Q7' ) ); return [ $redir, $redir ]; }, diff --git a/repo/tests/phpunit/includes/Diff/BasicEntityDiffVisualizerTest.php b/repo/tests/phpunit/includes/Diff/BasicEntityDiffVisualizerTest.php index e94ca69..fec9069 100644 --- a/repo/tests/phpunit/includes/Diff/BasicEntityDiffVisualizerTest.php +++ b/repo/tests/phpunit/includes/Diff/BasicEntityDiffVisualizerTest.php @@ -93,7 +93,7 @@ class BasicEntityDiffVisualizerTest extends MediaWikiIntegrationTestCase { $mock = $this->createMock( MessageLocalizer::class ); $mock->method( 'msg' ) - ->willReturnCallback( function ( $key ) { + ->willReturnCallback( static function ( $key ) { return new RawMessage( "($key)" ); } ); diff --git a/repo/tests/phpunit/includes/Diff/ClaimDifferenceVisualizerTest.php b/repo/tests/phpunit/includes/Diff/ClaimDifferenceVisualizerTest.php index 541399b..d7c8789 100644 --- a/repo/tests/phpunit/includes/Diff/ClaimDifferenceVisualizerTest.php +++ b/repo/tests/phpunit/includes/Diff/ClaimDifferenceVisualizerTest.php @@ -37,23 +37,23 @@ class ClaimDifferenceVisualizerTest extends MediaWikiIntegrationTestCase { $instance = $this->createMock( DifferencesSnakVisualizer::class ); $instance->method( 'getPropertyAndDetailedValue' ) - ->willReturnCallback( function( PropertyValueSnak $snak ) { + ->willReturnCallback( static function( PropertyValueSnak $snak ) { return $snak->getPropertyId()->getSerialization() . ': ' . $snak->getDataValue()->getValue() . ' (DETAILED)'; } ); $instance->method( 'getDetailedValue' ) - ->willReturnCallback( function( ?PropertyValueSnak $snak ) { + ->willReturnCallback( static function( ?PropertyValueSnak $snak ) { return $snak === null ? null : $snak->getDataValue()->getValue() . ' (DETAILED)'; } ); $instance->method( 'getPropertyHeader' ) - ->willReturnCallback( function( Snak $snak ) { + ->willReturnCallback( static function( Snak $snak ) { return 'property / ' . $snak->getPropertyId()->getSerialization(); } ); $instance->method( 'getPropertyAndValueHeader' ) - ->willReturnCallback( function( PropertyValueSnak $snak ) { + ->willReturnCallback( static function( PropertyValueSnak $snak ) { return 'property / ' . $snak->getPropertyId()->getSerialization() . ': ' . $snak->getDataValue()->getValue(); } ); diff --git a/repo/tests/phpunit/includes/Diff/DispatchingEntityDiffVisualizerTest.php b/repo/tests/phpunit/includes/Diff/DispatchingEntityDiffVisualizerTest.php index c532b5e..18d0310 100644 --- a/repo/tests/phpunit/includes/Diff/DispatchingEntityDiffVisualizerTest.php +++ b/repo/tests/phpunit/includes/Diff/DispatchingEntityDiffVisualizerTest.php @@ -34,10 +34,10 @@ class DispatchingEntityDiffVisualizerTest extends \PHPUnit\Framework\TestCase { ->willReturn( 'PrOPERTY DIFF' ); $factory = $this->newFactory( [ - 'item' => function () use ( $itemVisualizer ) { + 'item' => static function () use ( $itemVisualizer ) { return $itemVisualizer; }, - 'property' => function () use ( $propertyVisualizer ) { + 'property' => static function () use ( $propertyVisualizer ) { return $propertyVisualizer; }, ] ); diff --git a/repo/tests/phpunit/includes/Diff/EntityDiffVisualizerFactoryTest.php b/repo/tests/phpunit/includes/Diff/EntityDiffVisualizerFactoryTest.php index dc3c02d..609f597 100644 --- a/repo/tests/phpunit/includes/Diff/EntityDiffVisualizerFactoryTest.php +++ b/repo/tests/phpunit/includes/Diff/EntityDiffVisualizerFactoryTest.php @@ -44,7 +44,7 @@ class EntityDiffVisualizerFactoryTest extends \PHPUnit\Framework\TestCase { $dummyVisualizer = $this->createMock( EntityDiffVisualizer::class ); $factory = $this->newFactory( [ - 'item' => function () use ( $dummyVisualizer ) { + 'item' => static function () use ( $dummyVisualizer ) { return $dummyVisualizer; }, ] ); @@ -54,7 +54,7 @@ class EntityDiffVisualizerFactoryTest extends \PHPUnit\Framework\TestCase { public function testGivenInstantiatorDoesReturnDiffVisualizer_factoryThrowsException() { $factory = $this->newFactory( [ - 'item' => function () { + 'item' => static function () { return 'WOOO'; }, ] ); @@ -76,7 +76,7 @@ class EntityDiffVisualizerFactoryTest extends \PHPUnit\Framework\TestCase { public static function provideInvalidConstructorArgs(): iterable { return [ [ 'non-string key' => [ - 123 => function () { + 123 => static function () { throw new \Exception( 'this should never be called' ); }, ] ], diff --git a/repo/tests/phpunit/includes/Diff/ItemDiffVisualizerTest.php b/repo/tests/phpunit/includes/Diff/ItemDiffVisualizerTest.php index 3bf0992..b5aa959 100644 --- a/repo/tests/phpunit/includes/Diff/ItemDiffVisualizerTest.php +++ b/repo/tests/phpunit/includes/Diff/ItemDiffVisualizerTest.php @@ -87,7 +87,7 @@ class ItemDiffVisualizerTest extends MediaWikiIntegrationTestCase { $mock = $this->createMock( MessageLocalizer::class ); $mock->method( 'msg' ) - ->willReturnCallback( function ( $key ) { + ->willReturnCallback( static function ( $key ) { return new RawMessage( "($key)" ); } ); diff --git a/repo/tests/phpunit/includes/Dumpers/JsonDataTypeInjectorTest.php b/repo/tests/phpunit/includes/Dumpers/JsonDataTypeInjectorTest.php index c7e7692..dc79232 100644 --- a/repo/tests/phpunit/includes/Dumpers/JsonDataTypeInjectorTest.php +++ b/repo/tests/phpunit/includes/Dumpers/JsonDataTypeInjectorTest.php @@ -124,7 +124,7 @@ class JsonDataTypeInjectorTest extends TestCase { private function getMockPropertyDataTypeLookup() { $mockDataTypeLookup = $this->createMock( PropertyDataTypeLookup::class ); $mockDataTypeLookup->method( 'getDataTypeIdForProperty' ) - ->willReturnCallback( function( PropertyId $id ) { + ->willReturnCallback( static function( PropertyId $id ) { return 'DtIdFor_' . $id->getSerialization(); } ); return $mockDataTypeLookup; diff --git a/repo/tests/phpunit/includes/Dumpers/JsonDumpGeneratorTest.php b/repo/tests/phpunit/includes/Dumpers/JsonDumpGeneratorTest.php index a7a16da..99d05ae 100644 --- a/repo/tests/phpunit/includes/Dumpers/JsonDumpGeneratorTest.php +++ b/repo/tests/phpunit/includes/Dumpers/JsonDumpGeneratorTest.php @@ -116,7 +116,7 @@ class JsonDumpGeneratorTest extends \PHPUnit\Framework\TestCase { $entityRevisionLookup = $this->createMock( EntityRevisionLookup::class ); $entityRevisionLookup->method( 'getEntityRevision' ) - ->willReturnCallback( function( EntityId $id ) use ( $entityRevisions, $missingIds, $redirectedIds ) { + ->willReturnCallback( static function( EntityId $id ) use ( $entityRevisions, $missingIds, $redirectedIds ) { if ( in_array( $id, $missingIds ) ) { return null; } @@ -271,7 +271,7 @@ class JsonDumpGeneratorTest extends \PHPUnit\Framework\TestCase { private function getEntityRevisionLookupThrows( Exception $ex ) { $entityRevisionLookup = $this->createMock( EntityRevisionLookup::class ); $entityRevisionLookup->method( 'getEntityRevision' ) - ->willReturnCallback( function( EntityId $id ) use ( $ex ) { + ->willReturnCallback( static function( EntityId $id ) use ( $ex ) { throw $ex; } ); @@ -382,7 +382,7 @@ class JsonDumpGeneratorTest extends \PHPUnit\Framework\TestCase { $actualIds = array_merge( $actualIds, $shardIds ); } - $expectedIds = array_map( function( EntityId $id ) { + $expectedIds = array_map( static function( EntityId $id ) { return $id->getSerialization(); }, $ids ); diff --git a/repo/tests/phpunit/includes/Dumpers/RdfDumpGeneratorTest.php b/repo/tests/phpunit/includes/Dumpers/RdfDumpGeneratorTest.php index 22226e2..91f7856 100644 --- a/repo/tests/phpunit/includes/Dumpers/RdfDumpGeneratorTest.php +++ b/repo/tests/phpunit/includes/Dumpers/RdfDumpGeneratorTest.php @@ -235,7 +235,7 @@ class RdfDumpGeneratorTest extends MediaWikiIntegrationTestCase { */ private function getStubRdfBuilderFactoryCallbacks(): array { return [ - 'property' => function( + 'property' => static function( RdfVocabulary $vocabulary, RdfWriter $writer ) { @@ -280,7 +280,7 @@ class RdfDumpGeneratorTest extends MediaWikiIntegrationTestCase { $entityRevisionLookup = $this->createMock( EntityRevisionLookup::class ); $entityRevisionLookup->method( 'getEntityRevision' ) - ->willReturnCallback( function( EntityId $id ) use ( $entityRevisions, $redirects ) { + ->willReturnCallback( static function( EntityId $id ) use ( $entityRevisions, $redirects ) { $key = $id->getSerialization(); if ( isset( $redirects[$key] ) ) { diff --git a/repo/tests/phpunit/includes/EntityReferenceExtractors/EntityReferenceExtractorDelegatorTest.php b/repo/tests/phpunit/includes/EntityReferenceExtractors/EntityReferenceExtractorDelegatorTest.php index 7e28b81..eb79ca9 100644 --- a/repo/tests/phpunit/includes/EntityReferenceExtractors/EntityReferenceExtractorDelegatorTest.php +++ b/repo/tests/phpunit/includes/EntityReferenceExtractors/EntityReferenceExtractorDelegatorTest.php @@ -41,7 +41,7 @@ class EntityReferenceExtractorDelegatorTest extends TestCase { 'property' => function () { $this->fail( 'This should not be called' ); }, - 'item' => function () use ( $mockEntityReferenceExtractor ) { + 'item' => static function () use ( $mockEntityReferenceExtractor ) { return $mockEntityReferenceExtractor; }, ], $this->createMock( StatementEntityReferenceExtractor::class ) ); @@ -82,7 +82,7 @@ class EntityReferenceExtractorDelegatorTest extends TestCase { return [ [ [ 'string', 'string' ] ], [ [ 1, 2, 3 ] ], - [ [ function () { + [ [ static function () { }, null ] ], ]; } diff --git a/repo/tests/phpunit/includes/EntityReferenceExtractors/StatementEntityReferenceExtractorTest.php b/repo/tests/phpunit/includes/EntityReferenceExtractors/StatementEntityReferenceExtractorTest.php index dc5a3bc..9e81e16 100644 --- a/repo/tests/phpunit/includes/EntityReferenceExtractors/StatementEntityReferenceExtractorTest.php +++ b/repo/tests/phpunit/includes/EntityReferenceExtractors/StatementEntityReferenceExtractorTest.php @@ -106,7 +106,7 @@ class StatementEntityReferenceExtractorTest extends TestCase { private function getMockEntityIdParser() { $entityIdParser = $this->createMock( SuffixEntityIdParser::class ); $entityIdParser->method( 'parse' ) - ->willReturnCallback( function ( $id ) { + ->willReturnCallback( static function ( $id ) { return new ItemId( substr( $id, strlen( self::UNIT_PREFIX ) ) ); diff --git a/repo/tests/phpunit/includes/EntityTypesTest.php b/repo/tests/phpunit/includes/EntityTypesTest.php index 7f05768..03a9e1e 100644 --- a/repo/tests/phpunit/includes/EntityTypesTest.php +++ b/repo/tests/phpunit/includes/EntityTypesTest.php @@ -26,7 +26,7 @@ class EntityTypesTest extends \PHPUnit\Framework\TestCase { public static function provideEntityTypes() { return array_map( - function( $entityType ) { + static function( $entityType ) { return [ $entityType ]; }, array_keys( self::getRegistry() ) diff --git a/repo/tests/phpunit/includes/FederatedProperties/Api/RemoveClaimsTest.php b/repo/tests/phpunit/includes/FederatedProperties/Api/RemoveClaimsTest.php index 252a425..f5154bd 100644 --- a/repo/tests/phpunit/includes/FederatedProperties/Api/RemoveClaimsTest.php +++ b/repo/tests/phpunit/includes/FederatedProperties/Api/RemoveClaimsTest.php @@ -47,7 +47,7 @@ class RemoveClaimsTest extends FederatedPropertiesApiTestCase { $params = [ 'action' => 'wbremoveclaims', - 'claim' => implode( '|', array_map( function( $statement ) { + 'claim' => implode( '|', array_map( static function( $statement ) { return $statement->getGuid(); }, $statements ) ), ]; diff --git a/repo/tests/phpunit/includes/FederatedProperties/Api/RemoveQualifiersTest.php b/repo/tests/phpunit/includes/FederatedProperties/Api/RemoveQualifiersTest.php index d17ef25..501396b 100644 --- a/repo/tests/phpunit/includes/FederatedProperties/Api/RemoveQualifiersTest.php +++ b/repo/tests/phpunit/includes/FederatedProperties/Api/RemoveQualifiersTest.php @@ -43,7 +43,7 @@ class RemoveQualifiersTest extends FederatedPropertiesApiTestCase { $entity->getStatements()->addStatement( $statement ); $hashes = array_map( - function( Snak $qualifier ) { + static function( Snak $qualifier ) { return $qualifier->getHash(); }, iterator_to_array( $statement->getQualifiers() ) diff --git a/repo/tests/phpunit/includes/FederatedProperties/ApiEntitySearchHelperTest.php b/repo/tests/phpunit/includes/FederatedProperties/ApiEntitySearchHelperTest.php index 7d780d0..29c058d 100644 --- a/repo/tests/phpunit/includes/FederatedProperties/ApiEntitySearchHelperTest.php +++ b/repo/tests/phpunit/includes/FederatedProperties/ApiEntitySearchHelperTest.php @@ -223,7 +223,7 @@ class ApiEntitySearchHelperTest extends TestCase { } private function getResponseDataForId( array $searchResponses, $resultId ) { - $searchResponses = array_filter( $searchResponses, function ( $response ) use ( $resultId ) { + $searchResponses = array_filter( $searchResponses, static function ( $response ) use ( $resultId ) { return $response->id === $resultId; } ); if ( count( $searchResponses ) > 1 ) { diff --git a/repo/tests/phpunit/includes/FederatedProperties/ParserOutput/FederatedPropertiesPrefetchingEntityParserOutputGeneratorDecoratorTest.php b/repo/tests/phpunit/includes/FederatedProperties/ParserOutput/FederatedPropertiesPrefetchingEntityParserOutputGeneratorDecoratorTest.php index e6d436c..7e8524e 100644 --- a/repo/tests/phpunit/includes/FederatedProperties/ParserOutput/FederatedPropertiesPrefetchingEntityParserOutputGeneratorDecoratorTest.php +++ b/repo/tests/phpunit/includes/FederatedProperties/ParserOutput/FederatedPropertiesPrefetchingEntityParserOutputGeneratorDecoratorTest.php @@ -83,10 +83,10 @@ class FederatedPropertiesPrefetchingEntityParserOutputGeneratorDecoratorTest ext ) use ( $expectedIds ) { - $expectedIdStrings = array_map( function( EntityId $id ) { + $expectedIdStrings = array_map( static function( EntityId $id ) { return $id->getSerialization(); }, $expectedIds ); - $entityIdStrings = array_map( function( EntityId $id ) { + $entityIdStrings = array_map( static function( EntityId $id ) { return $id->getSerialization(); }, $entityIds ); diff --git a/repo/tests/phpunit/includes/Hooks/DifferenceEngineViewHeaderHookHandlerTest.php b/repo/tests/phpunit/includes/Hooks/DifferenceEngineViewHeaderHookHandlerTest.php index 3bea232..3b66032 100644 --- a/repo/tests/phpunit/includes/Hooks/DifferenceEngineViewHeaderHookHandlerTest.php +++ b/repo/tests/phpunit/includes/Hooks/DifferenceEngineViewHeaderHookHandlerTest.php @@ -170,12 +170,12 @@ class DifferenceEngineViewHeaderHookHandlerTest extends TestCase { } private function getRevisionRecords() { - $availableProperties = array_map( function( $snak ) { + $availableProperties = array_map( static function( $snak ) { return $snak->getPropertyId(); }, $this->entity->getStatements()->getAllSnaks() ); $i = 100; - $rows = array_map( function ( $prop ) use ( &$i ) { + $rows = array_map( static function ( $prop ) use ( &$i ) { $i++; $object = new MutableRevisionRecord( Title::newFromTextThrow( $prop->getSerialization() ) ); $object->setComment( new CommentStoreComment( diff --git a/repo/tests/phpunit/includes/Hooks/EditFilterHookRunnerTest.php b/repo/tests/phpunit/includes/Hooks/EditFilterHookRunnerTest.php index 84e90c8..9a7dc0b 100644 --- a/repo/tests/phpunit/includes/Hooks/EditFilterHookRunnerTest.php +++ b/repo/tests/phpunit/includes/Hooks/EditFilterHookRunnerTest.php @@ -40,7 +40,7 @@ class EditFilterHookRunnerTest extends MediaWikiIntegrationTestCase { $entityTitleLookup = $this->createMock( EntityTitleStoreLookup::class ); $entityTitleLookup->method( 'getTitleForId' ) - ->willReturnCallback( function( EntityId $id ) { + ->willReturnCallback( static function( EntityId $id ) { return Title::newFromTextThrow( $id->getSerialization(), NS_MAIN ); } ); diff --git a/repo/tests/phpunit/includes/Hooks/Formatters/EntityLinkFormatterFactoryTest.php b/repo/tests/phpunit/includes/Hooks/Formatters/EntityLinkFormatterFactoryTest.php index 4277bff..3e7ce64 100644 --- a/repo/tests/phpunit/includes/Hooks/Formatters/EntityLinkFormatterFactoryTest.php +++ b/repo/tests/phpunit/includes/Hooks/Formatters/EntityLinkFormatterFactoryTest.php @@ -94,7 +94,7 @@ class EntityLinkFormatterFactoryTest extends MediaWikiIntegrationTestCase { [ [ 'asdf' ] ], [ [ 1, 2, 3 ] ], [ [ - 'foo' => function () { + 'foo' => static function () { }, 'bar' => null, ] ], diff --git a/repo/tests/phpunit/includes/Hooks/HtmlPageLinkRendererEndHookHandlerTestBase.php b/repo/tests/phpunit/includes/Hooks/HtmlPageLinkRendererEndHookHandlerTestBase.php index 722b005..c8d851e 100644 --- a/repo/tests/phpunit/includes/Hooks/HtmlPageLinkRendererEndHookHandlerTestBase.php +++ b/repo/tests/phpunit/includes/Hooks/HtmlPageLinkRendererEndHookHandlerTestBase.php @@ -125,10 +125,10 @@ abstract class HtmlPageLinkRendererEndHookHandlerTestBase extends MediaWikiLangT $languageFactory = $this->getServiceContainer()->getLanguageFactory(); return new EntityLinkFormatterFactory( $titleTextLookup, $languageFactory, [ - 'item' => function( $language ) use ( $titleTextLookup, $languageFactory ) { + 'item' => static function( $language ) use ( $titleTextLookup, $languageFactory ) { return new DefaultEntityLinkFormatter( $language, $titleTextLookup, $languageFactory ); }, - 'property' => function( $language ) use ( $titleTextLookup, $languageFactory ) { + 'property' => static function( $language ) use ( $titleTextLookup, $languageFactory ) { return new DefaultEntityLinkFormatter( $language, $titleTextLookup, $languageFactory ); }, ] ); @@ -179,7 +179,7 @@ abstract class HtmlPageLinkRendererEndHookHandlerTestBase extends MediaWikiLangT $termLookup = $this->createMock( TermLookup::class ); $termLookup->method( 'getLabels' ) - ->willReturnCallback( function ( EntityId $id ) { + ->willReturnCallback( static function ( EntityId $id ) { switch ( $id->getSerialization() ) { case self::ITEM_WITH_LABEL: case self::ITEM_LABEL_NO_DESCRIPTION: @@ -198,7 +198,7 @@ abstract class HtmlPageLinkRendererEndHookHandlerTestBase extends MediaWikiLangT } ); $termLookup->method( 'getDescriptions' ) - ->willReturnCallback( function ( EntityId $id ) { + ->willReturnCallback( static function ( EntityId $id ) { switch ( $id->getSerialization() ) { case self::ITEM_WITH_LABEL: return [ 'en' => self::DUMMY_DESCRIPTION ]; @@ -234,7 +234,7 @@ abstract class HtmlPageLinkRendererEndHookHandlerTestBase extends MediaWikiLangT private function getInterwikiLookup() { $lookup = $this->createMock( InterwikiLookup::class ); $lookup->method( 'isValidInterwiki' ) - ->willReturnCallback( function( $interwiki ) { + ->willReturnCallback( static function( $interwiki ) { return $interwiki === self::FOREIGN_REPO_PREFIX; } ); return $lookup; diff --git a/repo/tests/phpunit/includes/Hooks/LabelPrefetchHookHandlerTest.php b/repo/tests/phpunit/includes/Hooks/LabelPrefetchHookHandlerTest.php index bce5cc6..3243550 100644 --- a/repo/tests/phpunit/includes/Hooks/LabelPrefetchHookHandlerTest.php +++ b/repo/tests/phpunit/includes/Hooks/LabelPrefetchHookHandlerTest.php @@ -123,10 +123,10 @@ class LabelPrefetchHookHandlerTest extends TestCase { $expectedTermTypes, $expectedLanguageCodes ) { - $expectedIdStrings = array_map( function( EntityId $id ) { + $expectedIdStrings = array_map( static function( EntityId $id ) { return $id->getSerialization(); }, $expectedIds ); - $entityIdStrings = array_map( function( EntityId $id ) { + $entityIdStrings = array_map( static function( EntityId $id ) { return $id->getSerialization(); }, $entityIds ); diff --git a/repo/tests/phpunit/includes/Hooks/PageHistoryPagerHookHandlerTest.php b/repo/tests/phpunit/includes/Hooks/PageHistoryPagerHookHandlerTest.php index b6d14ff..831d4e7 100644 --- a/repo/tests/phpunit/includes/Hooks/PageHistoryPagerHookHandlerTest.php +++ b/repo/tests/phpunit/includes/Hooks/PageHistoryPagerHookHandlerTest.php @@ -90,12 +90,12 @@ class PageHistoryPagerHookHandlerTest extends TestCase { } private function setupResultWithSummaries( StatementList $statementList ) { - $availableProperties = array_map( function( $snak ) { + $availableProperties = array_map( static function( $snak ) { return $snak->getPropertyId(); }, $statementList->getAllSnaks() ); $i = 0; - $summaries = array_map( function ( $prop ) use ( &$i ) { + $summaries = array_map( static function ( $prop ) use ( &$i ) { $i++; $object = (object)[ 'rev_comment_text' => "/* wbsetclaim-update:1||1 */ [[Property:{$prop->getSerialization()}]]: foo [[Q$i]] bar.", diff --git a/repo/tests/phpunit/includes/Hooks/RecentChangeSaveHookHandlerTest.php b/repo/tests/phpunit/includes/Hooks/RecentChangeSaveHookHandlerTest.php index d906598..69eeac9 100644 --- a/repo/tests/phpunit/includes/Hooks/RecentChangeSaveHookHandlerTest.php +++ b/repo/tests/phpunit/includes/Hooks/RecentChangeSaveHookHandlerTest.php @@ -52,7 +52,7 @@ class RecentChangeSaveHookHandlerTest extends MediaWikiIntegrationTestCase { $this->changeHolder = new ChangeHolder(); $this->changeStore = $this->createStub( ChangeStore::class ); - $this->changeStore->method( 'saveChange' )->willReturnCallback( function ( $change ) { + $this->changeStore->method( 'saveChange' )->willReturnCallback( static function ( $change ) { $change->setField( 'id', 123 ); } ); $this->centralIdLookup = null; // CentralIdLookupFactory::getNonLocalLookup() may return null in the hook's factory function @@ -308,7 +308,7 @@ class RecentChangeSaveHookHandlerTest extends MediaWikiIntegrationTestCase { private function newStubRecentChangeWithAttributes( array $attributes ): RecentChange { $rc = $this->createStub( RecentChange::class ); $rc->method( 'getAttribute' ) - ->willReturnCallback( function ( $key ) use ( $attributes ) { + ->willReturnCallback( static function ( $key ) use ( $attributes ) { return $attributes[$key] ?? null; } ); diff --git a/repo/tests/phpunit/includes/Hooks/ShowSearchHitHandlerTest.php b/repo/tests/phpunit/includes/Hooks/ShowSearchHitHandlerTest.php index daa3e7a..cc2bfe9 100644 --- a/repo/tests/phpunit/includes/Hooks/ShowSearchHitHandlerTest.php +++ b/repo/tests/phpunit/includes/Hooks/ShowSearchHitHandlerTest.php @@ -51,7 +51,7 @@ class ShowSearchHitHandlerTest extends MediaWikiIntegrationTestCase { $searchPage = $this->createMock( SpecialSearch::class ); $searchPage->method( 'msg' ) ->willReturnCallback( - function ( ...$args ) { + static function ( ...$args ) { return new RawMessage( implode( ",", $args ) ); } ); @@ -123,7 +123,7 @@ class ShowSearchHitHandlerTest extends MediaWikiIntegrationTestCase { $entityIdLookup = $this->createMock( EntityIdLookup::class ); $entityIdLookup->method( 'getEntityIdForTitle' ) - ->willReturnCallback( function( Title $title ) { + ->willReturnCallback( static function( Title $title ) { if ( preg_match( '/^Q(\d+)$/', $title->getText(), $m ) ) { return new ItemId( $m[0] ); } @@ -171,7 +171,7 @@ class ShowSearchHitHandlerTest extends MediaWikiIntegrationTestCase { $mock->method( 'getFetchLanguageCodes' ) ->willReturn( $languages ); $mock->method( 'extractPreferredValue' ) - ->willReturnCallback( function ( $sourceData ) use ( $languages ) { + ->willReturnCallback( static function ( $sourceData ) use ( $languages ) { foreach ( $languages as $language ) { if ( isset( $sourceData[$language] ) ) { return [ 'language' => $language, 'value' => $sourceData[$language] ]; @@ -190,7 +190,7 @@ class ShowSearchHitHandlerTest extends MediaWikiIntegrationTestCase { $entityLookup = $this->createMock( EntityLookup::class ); if ( isset( $entities ) ) { $entityLookup->method( 'getEntity' ) - ->willReturnCallback( function ( ItemId $id ) use ( $entities ) { + ->willReturnCallback( static function ( ItemId $id ) use ( $entities ) { $key = $id->getSerialization(); return $entities[$key]; } ); diff --git a/repo/tests/phpunit/includes/Hooks/SummaryParsingPrefetchHelperTest.php b/repo/tests/phpunit/includes/Hooks/SummaryParsingPrefetchHelperTest.php index 4ff1ea2..40dc9a1 100644 --- a/repo/tests/phpunit/includes/Hooks/SummaryParsingPrefetchHelperTest.php +++ b/repo/tests/phpunit/includes/Hooks/SummaryParsingPrefetchHelperTest.php @@ -61,7 +61,7 @@ class SummaryParsingPrefetchHelperTest extends TestCase { $this->assertSameSize( $expected, $actualOutput ); - $stringOutput = array_map( function ( $propId ) { + $stringOutput = array_map( static function ( $propId ) { return $propId->getSerialization(); }, $actualOutput ); diff --git a/repo/tests/phpunit/includes/IO/EntityIdReaderTest.php b/repo/tests/phpunit/includes/IO/EntityIdReaderTest.php index d473910..a210907 100644 --- a/repo/tests/phpunit/includes/IO/EntityIdReaderTest.php +++ b/repo/tests/phpunit/includes/IO/EntityIdReaderTest.php @@ -33,7 +33,7 @@ class EntityIdReaderTest extends \PHPUnit\Framework\TestCase { } protected function getIdStrings( array $entityIds ) { - return array_map( function( EntityId $id ) { + return array_map( static function( EntityId $id ) { return $id->getSerialization(); }, $entityIds ); } diff --git a/repo/tests/phpunit/includes/Interactors/ItemMergeInteractorTest.php b/repo/tests/phpunit/includes/Interactors/ItemMergeInteractorTest.php index c9f07c3..a0e0e41 100644 --- a/repo/tests/phpunit/includes/Interactors/ItemMergeInteractorTest.php +++ b/repo/tests/phpunit/includes/Interactors/ItemMergeInteractorTest.php @@ -100,7 +100,7 @@ class ItemMergeInteractorTest extends MediaWikiIntegrationTestCase { private function getPermissionChecker(): EntityPermissionChecker { $permissionChecker = $this->createMock( EntityPermissionChecker::class ); - $callback = function ( User $user ) { + $callback = static function ( User $user ) { if ( $user->getName() === self::USER_NAME_WITHOUT_PERMISSION ) { return Status::newFatal( 'permissiondenied' ); } else { diff --git a/repo/tests/phpunit/includes/Interactors/RedirectCreationInteractorTest.php b/repo/tests/phpunit/includes/Interactors/RedirectCreationInteractorTest.php index fc0e835..610ffeb 100644 --- a/repo/tests/phpunit/includes/Interactors/RedirectCreationInteractorTest.php +++ b/repo/tests/phpunit/includes/Interactors/RedirectCreationInteractorTest.php @@ -72,7 +72,7 @@ class RedirectCreationInteractorTest extends \PHPUnit\Framework\TestCase { $permissionChecker = $this->createMock( EntityPermissionChecker::class ); $permissionChecker->method( 'getPermissionStatusForEntityId' ) - ->willReturnCallback( function( User $user ) { + ->willReturnCallback( static function( User $user ) { $userWithoutPermissionName = 'UserWithoutPermission'; if ( $user->getName() === $userWithoutPermissionName ) { diff --git a/repo/tests/phpunit/includes/Interactors/TokenCheckInteractorTest.php b/repo/tests/phpunit/includes/Interactors/TokenCheckInteractorTest.php index b9a0218..9e27294 100644 --- a/repo/tests/phpunit/includes/Interactors/TokenCheckInteractorTest.php +++ b/repo/tests/phpunit/includes/Interactors/TokenCheckInteractorTest.php @@ -27,7 +27,7 @@ class TokenCheckInteractorTest extends \PHPUnit\Framework\TestCase { $user = $this->createMock( User::class ); $user->method( 'matchEditToken' ) ->willReturnCallback( - function ( $token ) { + static function ( $token ) { return $token === 'VALID'; } ); diff --git a/repo/tests/phpunit/includes/LinkedData/EntityDataRequestHandlerTest.php b/repo/tests/phpunit/includes/LinkedData/EntityDataRequestHandlerTest.php index 9ebef21..f741a96 100644 --- a/repo/tests/phpunit/includes/LinkedData/EntityDataRequestHandlerTest.php +++ b/repo/tests/phpunit/includes/LinkedData/EntityDataRequestHandlerTest.php @@ -111,7 +111,7 @@ class EntityDataRequestHandlerTest extends MediaWikiIntegrationTestCase { $entityTitleStoreLookup = $this->createMock( EntityTitleStoreLookup::class ); $entityTitleStoreLookup->method( 'getTitleForId' ) - ->willReturnCallback( function( EntityId $id ) { + ->willReturnCallback( static function( EntityId $id ) { return Title::newFromTextThrow( $id->getEntityType() . ':' . $id->getSerialization() ); } ); diff --git a/repo/tests/phpunit/includes/LinkedData/EntityDataSerializationServiceTest.php b/repo/tests/phpunit/includes/LinkedData/EntityDataSerializationServiceTest.php index d47d1b8..d5ea0cc 100644 --- a/repo/tests/phpunit/includes/LinkedData/EntityDataSerializationServiceTest.php +++ b/repo/tests/phpunit/includes/LinkedData/EntityDataSerializationServiceTest.php @@ -96,7 +96,7 @@ class EntityDataSerializationServiceTest extends MediaWikiIntegrationTestCase { $entityTitleStoreLookup = $this->createMock( EntityTitleStoreLookup::class ); $entityTitleStoreLookup->method( 'getTitleForId' ) - ->willReturnCallback( function( EntityId $id ) { + ->willReturnCallback( static function( EntityId $id ) { return Title::newFromTextThrow( $id->getEntityType() . ':' . $id->getSerialization() ); } ); @@ -453,7 +453,7 @@ class EntityDataSerializationServiceTest extends MediaWikiIntegrationTestCase { private function getMockPropertyDataTypeLookup(): PropertyDataTypeLookup { $mockDataTypeLookup = $this->createMock( PropertyDataTypeLookup::class ); $mockDataTypeLookup->method( 'getDataTypeIdForProperty' ) - ->willReturnCallback( function( NumericPropertyId $id ) { + ->willReturnCallback( static function( NumericPropertyId $id ) { if ( $id->getSerialization() === 'P999' ) { throw new PropertyDataTypeLookupException( $id ); } diff --git a/repo/tests/phpunit/includes/LinkedData/EntityDataUriManagerTest.php b/repo/tests/phpunit/includes/LinkedData/EntityDataUriManagerTest.php index 71d54fb..db4e4f3 100644 --- a/repo/tests/phpunit/includes/LinkedData/EntityDataUriManagerTest.php +++ b/repo/tests/phpunit/includes/LinkedData/EntityDataUriManagerTest.php @@ -26,7 +26,7 @@ class EntityDataUriManagerTest extends MediaWikiIntegrationTestCase { protected function makeUriManager() { $titleLookup = $this->createMock( EntityTitleLookup::class ); $titleLookup->method( 'getTitleForId' ) - ->willReturnCallback( function( EntityId $id ) { + ->willReturnCallback( static function( EntityId $id ) { return Title::newFromTextThrow( $id->getEntityType() . ':' . $id->getSerialization() ); } ); diff --git a/repo/tests/phpunit/includes/Localizer/ChangeOpValidationExceptionLocalizerTest.php b/repo/tests/phpunit/includes/Localizer/ChangeOpValidationExceptionLocalizerTest.php index fbca0a4..a393a5c 100644 --- a/repo/tests/phpunit/includes/Localizer/ChangeOpValidationExceptionLocalizerTest.php +++ b/repo/tests/phpunit/includes/Localizer/ChangeOpValidationExceptionLocalizerTest.php @@ -72,7 +72,7 @@ class ChangeOpValidationExceptionLocalizerTest extends \PHPUnit\Framework\TestCa $mock = $this->createMock( ValueFormatter::class ); $mock->method( 'format' ) ->willReturnCallback( - function ( $param ) { + static function ( $param ) { if ( is_array( $param ) ) { $param = implode( '|', $param ); } diff --git a/repo/tests/phpunit/includes/Localizer/MessageParameterFormatterTest.php b/repo/tests/phpunit/includes/Localizer/MessageParameterFormatterTest.php index 96e1d33..2bd9a85 100644 --- a/repo/tests/phpunit/includes/Localizer/MessageParameterFormatterTest.php +++ b/repo/tests/phpunit/includes/Localizer/MessageParameterFormatterTest.php @@ -66,7 +66,7 @@ class MessageParameterFormatterTest extends \PHPUnit\Framework\TestCase { $mock = $this->createMock( ValueFormatter::class ); $mock->method( 'format' ) ->willReturnCallback( - function ( DataValue $param ) { + static function ( DataValue $param ) { $class = get_class( $param ); $value = $param->getArrayValue(); @@ -84,7 +84,7 @@ class MessageParameterFormatterTest extends \PHPUnit\Framework\TestCase { $mock = $this->createMock( EntityIdFormatter::class ); $mock->method( 'formatEntityId' ) ->willReturnCallback( - function ( EntityId $id ) { + static function ( EntityId $id ) { return '[[ENTITYID]]'; } ); diff --git a/repo/tests/phpunit/includes/Merge/StatementsMergerTest.php b/repo/tests/phpunit/includes/Merge/StatementsMergerTest.php index d5b8cc0..c84390b 100644 --- a/repo/tests/phpunit/includes/Merge/StatementsMergerTest.php +++ b/repo/tests/phpunit/includes/Merge/StatementsMergerTest.php @@ -151,7 +151,7 @@ class StatementsMergerTest extends TestCase { ]; yield 'source and target both not entities' => [ - function ( self $self ) { + static function ( self $self ) { $nonEntity = $self->createMock( StatementListProvider::class ); return [ $nonEntity, clone $nonEntity ]; }, diff --git a/repo/tests/phpunit/includes/ParserOutput/DispatchingEntityMetaTagsCreatorFactoryTest.php b/repo/tests/phpunit/includes/ParserOutput/DispatchingEntityMetaTagsCreatorFactoryTest.php index 63ec0c6..075b5eb 100644 --- a/repo/tests/phpunit/includes/ParserOutput/DispatchingEntityMetaTagsCreatorFactoryTest.php +++ b/repo/tests/phpunit/includes/ParserOutput/DispatchingEntityMetaTagsCreatorFactoryTest.php @@ -42,7 +42,7 @@ class DispatchingEntityMetaTagsCreatorFactoryTest extends TestCase { public function testNoEntityMetaTagsReturned() { $factory = new DispatchingEntityMetaTagsCreatorFactory( [ - 'dummy-entity-type' => function() { + 'dummy-entity-type' => static function() { return null; }, ] diff --git a/repo/tests/phpunit/includes/ParserOutput/DispatchingEntityViewFactoryTest.php b/repo/tests/phpunit/includes/ParserOutput/DispatchingEntityViewFactoryTest.php index d00298c..15747e3 100644 --- a/repo/tests/phpunit/includes/ParserOutput/DispatchingEntityViewFactoryTest.php +++ b/repo/tests/phpunit/includes/ParserOutput/DispatchingEntityViewFactoryTest.php @@ -46,7 +46,7 @@ class DispatchingEntityViewFactoryTest extends \PHPUnit\Framework\TestCase { public function testNoEntityViewReturned() { $factory = new DispatchingEntityViewFactory( [ - 'foo' => function() { + 'foo' => static function() { return null; }, ] diff --git a/repo/tests/phpunit/includes/ParserOutput/EntityParserOutputGeneratorTestBase.php b/repo/tests/phpunit/includes/ParserOutput/EntityParserOutputGeneratorTestBase.php index e22c6b7..8937716 100644 --- a/repo/tests/phpunit/includes/ParserOutput/EntityParserOutputGeneratorTestBase.php +++ b/repo/tests/phpunit/includes/ParserOutput/EntityParserOutputGeneratorTestBase.php @@ -49,7 +49,7 @@ class EntityParserOutputGeneratorTestBase extends MediaWikiIntegrationTestCase { $fallbackChain = $this->createMock( TermLanguageFallbackChain::class ); $fallbackChain->method( 'extractPreferredValue' ) - ->willReturnCallback( function( $labels ) { + ->willReturnCallback( static function( $labels ) { if ( array_key_exists( 'en', $labels ) ) { return [ 'value' => $labels['en'], @@ -172,7 +172,7 @@ class EntityParserOutputGeneratorTestBase extends MediaWikiIntegrationTestCase { $configBuilder = $this->createMock( ParserOutputJsConfigBuilder::class ); $configBuilder->method( 'build' ) - ->willReturnCallback( function( $ignore, $parserOutput ) { + ->willReturnCallback( static function( $ignore, $parserOutput ) { $parserOutput->setJsConfigVar( '<JS>', '<JS>' ); } ); @@ -186,7 +186,7 @@ class EntityParserOutputGeneratorTestBase extends MediaWikiIntegrationTestCase { $entityTitleLookup = $this->createMock( EntityTitleLookup::class ); $entityTitleLookup->method( 'getTitleForId' ) - ->willReturnCallback( function( EntityId $id ) { + ->willReturnCallback( static function( EntityId $id ) { return Title::makeTitle( NS_MAIN, $id->getEntityType() . ':' . $id->getSerialization() diff --git a/repo/tests/phpunit/includes/ParserOutput/ExternalLinksDataUpdaterTest.php b/repo/tests/phpunit/includes/ParserOutput/ExternalLinksDataUpdaterTest.php index dd75c7e..2f55cb1 100644 --- a/repo/tests/phpunit/includes/ParserOutput/ExternalLinksDataUpdaterTest.php +++ b/repo/tests/phpunit/includes/ParserOutput/ExternalLinksDataUpdaterTest.php @@ -26,7 +26,7 @@ class ExternalLinksDataUpdaterTest extends \PHPUnit\Framework\TestCase { private function newInstance() { $matcher = $this->createMock( PropertyDataTypeMatcher::class ); $matcher->method( 'isMatchingDataType' ) - ->willReturnCallback( function( PropertyId $id, $type ) { + ->willReturnCallback( static function( PropertyId $id, $type ) { return $id->getSerialization() === 'P1'; } ); @@ -53,7 +53,7 @@ class ExternalLinksDataUpdaterTest extends \PHPUnit\Framework\TestCase { $parserOutput = $this->createMock( ParserOutput::class ); $parserOutput->expects( $this->exactly( count( $expected ) ) ) ->method( 'addExternalLink' ) - ->willReturnCallback( function( $url ) use ( &$actual ) { + ->willReturnCallback( static function( $url ) use ( &$actual ) { $actual[] = $url; } ); diff --git a/repo/tests/phpunit/includes/ParserOutput/ImageLinksDataUpdaterTest.php b/repo/tests/phpunit/includes/ParserOutput/ImageLinksDataUpdaterTest.php index 8c4cff1..4dca313 100644 --- a/repo/tests/phpunit/includes/ParserOutput/ImageLinksDataUpdaterTest.php +++ b/repo/tests/phpunit/includes/ParserOutput/ImageLinksDataUpdaterTest.php @@ -28,7 +28,7 @@ class ImageLinksDataUpdaterTest extends \PHPUnit\Framework\TestCase { private function newInstance() { $matcher = $this->createMock( PropertyDataTypeMatcher::class ); $matcher->method( 'isMatchingDataType' ) - ->willReturnCallback( function( PropertyId $id, $type ) { + ->willReturnCallback( static function( PropertyId $id, $type ) { return $id->getSerialization() === 'P1'; } ); $repoGroup = $this->createMock( RepoGroup::class ); diff --git a/repo/tests/phpunit/includes/ParserOutput/ParserOutputJsConfigBuilderTest.php b/repo/tests/phpunit/includes/ParserOutput/ParserOutputJsConfigBuilderTest.php index 9abc0ac..f4f3b5d 100644 --- a/repo/tests/phpunit/includes/ParserOutput/ParserOutputJsConfigBuilderTest.php +++ b/repo/tests/phpunit/includes/ParserOutput/ParserOutputJsConfigBuilderTest.php @@ -51,7 +51,7 @@ class ParserOutputJsConfigBuilderTest extends MediaWikiIntegrationTestCase { ->expects( $this->atLeastOnce() ) ->method( 'setJsConfigVar' ) ->with( $this->anything(), $this->anything() ) - ->willReturnCallback( function( $name, $value ) use ( &$sawOnce, $expectedId ) { + ->willReturnCallback( static function( $name, $value ) use ( &$sawOnce, $expectedId ) { if ( $name === 'wbEntityId' && $value === $expectedId ) { $sawOnce = true; } diff --git a/repo/tests/phpunit/includes/ParserOutput/ReferencedEntitiesDataUpdaterTest.php b/repo/tests/phpunit/includes/ParserOutput/ReferencedEntitiesDataUpdaterTest.php index fec8644..bb4f42c 100644 --- a/repo/tests/phpunit/includes/ParserOutput/ReferencedEntitiesDataUpdaterTest.php +++ b/repo/tests/phpunit/includes/ParserOutput/ReferencedEntitiesDataUpdaterTest.php @@ -80,14 +80,14 @@ class ReferencedEntitiesDataUpdaterTest extends MediaWikiIntegrationTestCase { $parserOutput = $this->createMock( ParserOutput::class ); $parserOutput->expects( $this->exactly( count( $expectedEntityIds ) ) ) ->method( 'addLink' ) - ->willReturnCallback( function( Title $title ) use ( &$actual ) { + ->willReturnCallback( static function( Title $title ) use ( &$actual ) { $actual[] = $title->getText(); } ); $instance = $this->newInstance( $item, $expectedEntityIds ); $instance->updateParserOutput( $parserOutput, $item ); - $expectedEntityIdStrings = array_map( function ( EntityId $id ) { + $expectedEntityIdStrings = array_map( static function ( EntityId $id ) { return $id->getSerialization(); }, $expectedEntityIds ); $this->assertArrayEquals( $expectedEntityIdStrings, $actual ); diff --git a/repo/tests/phpunit/includes/ParserOutput/TextInjectorTest.php b/repo/tests/phpunit/includes/ParserOutput/TextInjectorTest.php index 65c0570..4d9ccf4 100644 --- a/repo/tests/phpunit/includes/ParserOutput/TextInjectorTest.php +++ b/repo/tests/phpunit/includes/ParserOutput/TextInjectorTest.php @@ -45,7 +45,7 @@ class TextInjectorTest extends \PHPUnit\Framework\TestCase { $expected = 'Good morning to you!'; - $actual = $injector->inject( $text, function ( ...$args ) { + $actual = $injector->inject( $text, static function ( ...$args ) { return implode( ' ', $args ); } ); diff --git a/repo/tests/phpunit/includes/Parsers/TimeParserFactoryTest.php b/repo/tests/phpunit/includes/Parsers/TimeParserFactoryTest.php index 8b7ab49..ccd39b9 100644 --- a/repo/tests/phpunit/includes/Parsers/TimeParserFactoryTest.php +++ b/repo/tests/phpunit/includes/Parsers/TimeParserFactoryTest.php @@ -30,7 +30,7 @@ class TimeParserFactoryTest extends \PHPUnit\Framework\TestCase { $monthNameProvider = $this->createMock( MonthNameProvider::class ); $monthNameProvider->method( 'getLocalizedMonthNames' ) - ->willReturnCallback( function( $languageCode ) { + ->willReturnCallback( static function( $languageCode ) { $monthNames = []; for ( $i = 1; $i <= 12; $i++ ) { $monthNames[$i] = $languageCode . 'Month' . $i; @@ -39,7 +39,7 @@ class TimeParserFactoryTest extends \PHPUnit\Framework\TestCase { } ); $monthNameProvider->method( 'getMonthNumbers' ) - ->willReturnCallback( function( $languageCode ) { + ->willReturnCallback( static function( $languageCode ) { $numbers = []; for ( $i = 1; $i <= 12; $i++ ) { $numbers[$languageCode . 'Month' . $i] = $i; diff --git a/repo/tests/phpunit/includes/PropertyDataTypeChangerTest.php b/repo/tests/phpunit/includes/PropertyDataTypeChangerTest.php index 71cf525..9a28212 100644 --- a/repo/tests/phpunit/includes/PropertyDataTypeChangerTest.php +++ b/repo/tests/phpunit/includes/PropertyDataTypeChangerTest.php @@ -127,7 +127,7 @@ class PropertyDataTypeChangerTest extends \PHPUnit\Framework\TestCase { 0, LookupConstants::LATEST_FROM_MASTER ) - ->willReturnCallback( function( NumericPropertyId $propertyId ) { + ->willReturnCallback( static function( NumericPropertyId $propertyId ) { if ( $propertyId->getSerialization() === 'P42' ) { $property = new Property( new NumericPropertyId( 'P42' ), diff --git a/repo/tests/phpunit/includes/PropertyServicesTest.php b/repo/tests/phpunit/includes/PropertyServicesTest.php index 07d44af..7f3fe1b 100644 --- a/repo/tests/phpunit/includes/PropertyServicesTest.php +++ b/repo/tests/phpunit/includes/PropertyServicesTest.php @@ -25,10 +25,10 @@ class PropertyServicesTest extends TestCase { $serviceName = 'some-service'; $definitions = [ $serviceName => [ - ApiEntitySource::TYPE => function () { + ApiEntitySource::TYPE => static function () { return 'api service'; }, - DatabaseEntitySource::TYPE => function () { + DatabaseEntitySource::TYPE => static function () { return 'db service'; }, ], diff --git a/repo/tests/phpunit/includes/Rdf/FullStatementRdfBuilderTest.php b/repo/tests/phpunit/includes/Rdf/FullStatementRdfBuilderTest.php index 4402242..ed013d5 100644 --- a/repo/tests/phpunit/includes/Rdf/FullStatementRdfBuilderTest.php +++ b/repo/tests/phpunit/includes/Rdf/FullStatementRdfBuilderTest.php @@ -75,7 +75,7 @@ class FullStatementRdfBuilderTest extends \MediaWikiIntegrationTestCase { $mentionTracker = $this->createMock( EntityMentionListener::class ); $mentionTracker->method( 'propertyMentioned' ) - ->willReturnCallback( function( EntityId $id ) use ( &$mentioned ) { + ->willReturnCallback( static function( EntityId $id ) use ( &$mentioned ) { $key = $id->getSerialization(); $mentioned[$key] = $id; } ); @@ -122,7 +122,7 @@ class FullStatementRdfBuilderTest extends \MediaWikiIntegrationTestCase { public static function provideAddEntity() { $props = array_map( - function ( $data ) { + static function ( $data ) { /** @var PropertyId $propertyId */ $propertyId = $data[0]; return $propertyId->getSerialization(); @@ -172,7 +172,7 @@ class FullStatementRdfBuilderTest extends \MediaWikiIntegrationTestCase { public static function provideAddEntityTestCasesWhenPropertiesFromOtherWikibase() { $props = array_map( - function ( $data ) { + static function ( $data ) { /** @var PropertyId $propertyId */ $propertyId = $data[0]; return $propertyId->getSerialization(); diff --git a/repo/tests/phpunit/includes/Rdf/NTriplesRdfTestHelper.php b/repo/tests/phpunit/includes/Rdf/NTriplesRdfTestHelper.php index e2b5aea..2b1f4ca 100644 --- a/repo/tests/phpunit/includes/Rdf/NTriplesRdfTestHelper.php +++ b/repo/tests/phpunit/includes/Rdf/NTriplesRdfTestHelper.php @@ -72,7 +72,7 @@ class NTriplesRdfTestHelper { if ( $this->allBlanksEqual ) { $nTriples = array_map( - function ( $line ) { + static function ( $line ) { return preg_replace( '/_:\w+/', '_:#####', $line ); }, $nTriples diff --git a/repo/tests/phpunit/includes/Rdf/PropertyStubRdfBuilderTest.php b/repo/tests/phpunit/includes/Rdf/PropertyStubRdfBuilderTest.php index c9016b2..1f185ce 100644 --- a/repo/tests/phpunit/includes/Rdf/PropertyStubRdfBuilderTest.php +++ b/repo/tests/phpunit/includes/Rdf/PropertyStubRdfBuilderTest.php @@ -85,7 +85,7 @@ class PropertyStubRdfBuilderTest extends MediaWikiIntegrationTestCase { private function getPropertyDataTypeLookup(): PropertyDataTypeLookup { $mockDataTypeLookup = $this->createMock( PropertyDataTypeLookup::class ); $mockDataTypeLookup->method( 'getDataTypeIdForProperty' ) - ->willReturnCallback( function( NumericPropertyId $id ) { + ->willReturnCallback( static function( NumericPropertyId $id ) { return 'string'; } ); return $mockDataTypeLookup; diff --git a/repo/tests/phpunit/includes/Rdf/RdfBuilderTest.php b/repo/tests/phpunit/includes/Rdf/RdfBuilderTest.php index 2926269..911d46e 100644 --- a/repo/tests/phpunit/includes/Rdf/RdfBuilderTest.php +++ b/repo/tests/phpunit/includes/Rdf/RdfBuilderTest.php @@ -153,7 +153,7 @@ class RdfBuilderTest extends MediaWikiIntegrationTestCase { $fullStatementRdfBuilderFactory ); }, - 'property' => function( + 'property' => static function( $flavorFlags, RdfVocabulary $vocabulary, RdfWriter $writer, diff --git a/repo/tests/phpunit/includes/Rdf/SnakRdfBuilderTest.php b/repo/tests/phpunit/includes/Rdf/SnakRdfBuilderTest.php index 4e8d383..e3a1880 100644 --- a/repo/tests/phpunit/includes/Rdf/SnakRdfBuilderTest.php +++ b/repo/tests/phpunit/includes/Rdf/SnakRdfBuilderTest.php @@ -62,7 +62,7 @@ class SnakRdfBuilderTest extends \PHPUnit\Framework\TestCase { ): SnakRdfBuilder { $mentionTracker = $this->createMock( EntityMentionListener::class ); $mentionTracker->method( 'propertyMentioned' ) - ->willReturnCallback( function( EntityId $id ) use ( &$mentioned ) { + ->willReturnCallback( static function( EntityId $id ) use ( &$mentioned ) { $key = $id->getSerialization(); $mentioned[$key] = $id; } ); diff --git a/repo/tests/phpunit/includes/Rdf/Values/ExternalIdentifierRdfBuilderTest.php b/repo/tests/phpunit/includes/Rdf/Values/ExternalIdentifierRdfBuilderTest.php index d9eb413..1ac30cb 100644 --- a/repo/tests/phpunit/includes/Rdf/Values/ExternalIdentifierRdfBuilderTest.php +++ b/repo/tests/phpunit/includes/Rdf/Values/ExternalIdentifierRdfBuilderTest.php @@ -39,7 +39,7 @@ class ExternalIdentifierRdfBuilderTest extends \PHPUnit\Framework\TestCase { public function testAddValue() { $uriPatternProvider = $this->createMock( PropertyInfoProvider::class ); $uriPatternProvider->method( 'getPropertyInfo' ) - ->willReturnCallback( function( NumericPropertyId $id ) { + ->willReturnCallback( static function( NumericPropertyId $id ) { return $id->getSerialization() === 'P1' ? 'http://xyzzy.test/vocab/$1' : null; } ); diff --git a/repo/tests/phpunit/includes/RepoHooksTest.php b/repo/tests/phpunit/includes/RepoHooksTest.php index e750fab..e8e3867 100644 --- a/repo/tests/phpunit/includes/RepoHooksTest.php +++ b/repo/tests/phpunit/includes/RepoHooksTest.php @@ -137,7 +137,7 @@ class RepoHooksTest extends MediaWikiIntegrationTestCase { $this->overrideMwServices( null, - [ 'WikibaseRepo.MobileSite' => function () { + [ 'WikibaseRepo.MobileSite' => static function () { return true; } ] ); @@ -319,10 +319,10 @@ XML $importer = $this->getServiceContainer()->getWikiImporterFactory() ->getWikiImporter( $source, $this->getTestSysop()->getAuthority() ); - $importer->setNoticeCallback( function() { + $importer->setNoticeCallback( static function() { // Do nothing for now. Could collect and compare notices. } ); - $importer->setPageOutCallback( function() { + $importer->setPageOutCallback( static function() { } ); if ( $expectedException !== null ) { @@ -342,7 +342,7 @@ XML $parserOutput = $this->createMock( ParserOutput::class ); $parserOutput->expects( $this->exactly( 6 ) ) ->method( 'getExtensionData' ) - ->willReturnCallback( function ( $key ) use ( $altLinks ) { + ->willReturnCallback( static function ( $key ) use ( $altLinks ) { if ( $key === 'wikibase-alternate-links' ) { return $altLinks; } else { @@ -392,7 +392,7 @@ XML $pOpts = ParserOptions::newFromAnon(); $used = []; - $pOpts->registerWatcher( function ( $opt ) use ( &$used ) { + $pOpts->registerWatcher( static function ( $opt ) use ( &$used ) { $used[$opt] = true; } ); diff --git a/repo/tests/phpunit/includes/Specials/HTMLForm/HTMLAliasesFieldTest.php b/repo/tests/phpunit/includes/Specials/HTMLForm/HTMLAliasesFieldTest.php index ea47953..d95ab5a 100644 --- a/repo/tests/phpunit/includes/Specials/HTMLForm/HTMLAliasesFieldTest.php +++ b/repo/tests/phpunit/includes/Specials/HTMLForm/HTMLAliasesFieldTest.php @@ -21,7 +21,7 @@ class HTMLAliasesFieldTest extends MediaWikiIntegrationTestCase { $this->createField( [ 'fieldname' => 'some-name', - 'filter-callback' => function () { + 'filter-callback' => static function () { }, ] ); diff --git a/repo/tests/phpunit/includes/Specials/HTMLForm/HTMLItemReferenceFieldTest.php b/repo/tests/phpunit/includes/Specials/HTMLForm/HTMLItemReferenceFieldTest.php index 086151f..0fb5d9a 100644 --- a/repo/tests/phpunit/includes/Specials/HTMLForm/HTMLItemReferenceFieldTest.php +++ b/repo/tests/phpunit/includes/Specials/HTMLForm/HTMLItemReferenceFieldTest.php @@ -73,7 +73,7 @@ class HTMLItemReferenceFieldTest extends MediaWikiIntegrationTestCase { $this->givenItemExists( $existingItemId = 'Q1' ); $field = $this->createField( [ - 'validation-callback' => function () { + 'validation-callback' => static function () { return wfMessage( 'some-message' ); }, ] diff --git a/repo/tests/phpunit/includes/Specials/SpecialAvailableBadgesTest.php b/repo/tests/phpunit/includes/Specials/SpecialAvailableBadgesTest.php index c8761d0..8947510 100644 --- a/repo/tests/phpunit/includes/Specials/SpecialAvailableBadgesTest.php +++ b/repo/tests/phpunit/includes/Specials/SpecialAvailableBadgesTest.php @@ -33,7 +33,7 @@ class SpecialAvailableBadgesTest extends SpecialPageTestBase { $entityTitleLookup = $this->createMock( EntityTitleLookup::class ); $entityTitleLookup->method( 'getTitleForId' ) - ->willReturnCallback( function ( ItemId $itemId ) { + ->willReturnCallback( static function ( ItemId $itemId ) { return Title::makeTitle( 0, $itemId->getSerialization() ); } ); diff --git a/repo/tests/phpunit/includes/Specials/SpecialEntityDataTest.php b/repo/tests/phpunit/includes/Specials/SpecialEntityDataTest.php index 807f310..f058b03 100644 --- a/repo/tests/phpunit/includes/Specials/SpecialEntityDataTest.php +++ b/repo/tests/phpunit/includes/Specials/SpecialEntityDataTest.php @@ -71,7 +71,7 @@ class SpecialEntityDataTest extends SpecialPageTestBase { $entityTitleStoreLookup = $this->createMock( EntityTitleStoreLookup::class ); $entityTitleStoreLookup->method( 'getTitleForId' ) - ->willReturnCallback( function( EntityId $id ) { + ->willReturnCallback( static function( EntityId $id ) { return Title::newFromTextThrow( $id->getEntityType() . ':' . $id->getSerialization() ); } ); diff --git a/repo/tests/phpunit/includes/Specials/SpecialGoToLinkedPageTest.php b/repo/tests/phpunit/includes/Specials/SpecialGoToLinkedPageTest.php index f51b32c..525f41f 100644 --- a/repo/tests/phpunit/includes/Specials/SpecialGoToLinkedPageTest.php +++ b/repo/tests/phpunit/includes/Specials/SpecialGoToLinkedPageTest.php @@ -38,7 +38,7 @@ class SpecialGoToLinkedPageTest extends SpecialPageTestBase { $mock = $this->createMock( SiteLinkLookup::class ); $mock->method( 'getLinks' ) - ->willReturnCallback( function( $itemIds, $siteIds ) { + ->willReturnCallback( static function( $itemIds, $siteIds ) { $result = [ [ '', 'TestPageName' ] ]; if ( $siteIds === [ 'dewiki' ] && $itemIds === [ 23 ] ) { return $result; @@ -64,7 +64,7 @@ class SpecialGoToLinkedPageTest extends SpecialPageTestBase { private function getEntityRedirectTargetLookup(): EntityRedirectTargetLookup { $mock = $this->createMock( EntityRedirectTargetLookup::class ); $mock->method( 'getRedirectForEntityId' ) - ->willReturnCallback( function( ItemId $id ) { + ->willReturnCallback( static function( ItemId $id ) { if ( $id->getSerialization() === 'Q24' ) { return new ItemId( 'Q23' ); } else { @@ -81,7 +81,7 @@ class SpecialGoToLinkedPageTest extends SpecialPageTestBase { private function getEntityIdParser() { $mock = $this->createMock( EntityIdParser::class ); $mock->method( 'parse' ) - ->willReturnCallback( function( $itemString ) { + ->willReturnCallback( static function( $itemString ) { try { return new ItemId( $itemString ); } catch ( InvalidArgumentException $ex ) { @@ -98,7 +98,7 @@ class SpecialGoToLinkedPageTest extends SpecialPageTestBase { private function getEntityLookup() { $mock = $this->createMock( EntityLookup::class ); $mock->method( 'hasEntity' ) - ->willReturnCallback( function( ItemId $itemId ) { + ->willReturnCallback( static function( ItemId $itemId ) { $id = $itemId->getSerialization(); return $id === 'Q23' || $id === 'Q24'; } ); diff --git a/repo/tests/phpunit/includes/Specials/SpecialItemByTitleTest.php b/repo/tests/phpunit/includes/Specials/SpecialItemByTitleTest.php index 62fffc0..a2615a8 100644 --- a/repo/tests/phpunit/includes/Specials/SpecialItemByTitleTest.php +++ b/repo/tests/phpunit/includes/Specials/SpecialItemByTitleTest.php @@ -47,7 +47,7 @@ class SpecialItemByTitleTest extends SpecialPageTestBase { $mock = $this->createMock( EntityTitleLookup::class ); $mock->method( 'getTitleForId' ) - ->willReturnCallback( function( EntityId $id ) { + ->willReturnCallback( static function( EntityId $id ) { return Title::makeTitle( NS_MAIN, $id->getSerialization() ); } ); @@ -73,7 +73,7 @@ class SpecialItemByTitleTest extends SpecialPageTestBase { $siteLinkLookup = $this->createMock( SiteLinkLookup::class ); $siteLinkLookup->method( 'getItemIdForLink' ) - ->willReturnCallback( function ( $wiki, $page ) { + ->willReturnCallback( static function ( $wiki, $page ) { if ( $wiki === self::EXISTING_WIKI && $page === self::EXISTING_PAGE ) { return new ItemId( self::EXISTING_ITEM_ID ); } else { diff --git a/repo/tests/phpunit/includes/Specials/SpecialItemDisambiguationTest.php b/repo/tests/phpunit/includes/Specials/SpecialItemDisambiguationTest.php index 4cb2b98..516f710 100644 --- a/repo/tests/phpunit/includes/Specials/SpecialItemDisambiguationTest.php +++ b/repo/tests/phpunit/includes/Specials/SpecialItemDisambiguationTest.php @@ -46,7 +46,7 @@ class SpecialItemDisambiguationTest extends SpecialPageTestBase { private function getMockItemDisambiguationFactory(): ItemDisambiguationFactory { $mock = $this->createMock( ItemDisambiguation::class ); $mock->method( 'getHTML' ) - ->willReturnCallback( function ( $searchResult ) { + ->willReturnCallback( static function ( $searchResult ) { return '<span class="mock-span" >ItemDisambiguationHTML-' . count( $searchResult ) . '</span>'; } ); @@ -81,7 +81,7 @@ class SpecialItemDisambiguationTest extends SpecialPageTestBase { } else { $mock->method( 'getRankedSearchResults' ) ->willReturnCallback( - function( $text, $lang, $entityType ) use ( $searchResults ) { + static function( $text, $lang, $entityType ) use ( $searchResults ) { if ( $lang !== 'fr' ) { throw new InvalidArgumentException( 'Not a valid language code' ); } diff --git a/repo/tests/phpunit/includes/Specials/SpecialListPropertiesTest.php b/repo/tests/phpunit/includes/Specials/SpecialListPropertiesTest.php index 9fb9596..70c4e3d 100644 --- a/repo/tests/phpunit/includes/Specials/SpecialListPropertiesTest.php +++ b/repo/tests/phpunit/includes/Specials/SpecialListPropertiesTest.php @@ -56,7 +56,7 @@ class SpecialListPropertiesTest extends SpecialPageTestBase { private function getFallbackLabelDescriptionLookup(): FallbackLabelDescriptionLookup { $lookup = $this->createMock( FallbackLabelDescriptionLookup::class ); $lookup->method( 'getLabel' ) - ->willReturnCallback( function( PropertyId $id ): TermFallback { + ->willReturnCallback( static function( PropertyId $id ): TermFallback { return new TermFallback( 'en', 'Property with label ' . $id->getSerialization(), diff --git a/repo/tests/phpunit/includes/Specials/SpecialMergeItemsTest.php b/repo/tests/phpunit/includes/Specials/SpecialMergeItemsTest.php index e292245..be1c26f 100644 --- a/repo/tests/phpunit/includes/Specials/SpecialMergeItemsTest.php +++ b/repo/tests/phpunit/includes/Specials/SpecialMergeItemsTest.php @@ -94,7 +94,7 @@ class SpecialMergeItemsTest extends SpecialPageTestBase { private function getEntityTitleLookup(): EntityTitleStoreLookup { $entityTitleLookup = $this->createMock( EntityTitleStoreLookup::class ); $entityTitleLookup->method( 'getTitleForId' ) - ->willReturnCallback( function( EntityId $entityId ) { + ->willReturnCallback( static function( EntityId $entityId ) { return Title::newFromTextThrow( $entityId->getSerialization() ); } ); @@ -113,7 +113,7 @@ class SpecialMergeItemsTest extends SpecialPageTestBase { $exceptionLocalizer = $this->createMock( ExceptionLocalizer::class ); $exceptionLocalizer->method( 'getExceptionMessage' ) - ->willReturnCallback( function( Exception $ex ) { + ->willReturnCallback( static function( Exception $ex ) { if ( $ex instanceof Error ) { throw $ex; } @@ -244,7 +244,7 @@ class SpecialMergeItemsTest extends SpecialPageTestBase { private function getPermissionCheckers(): EntityPermissionChecker { $permissionChecker = $this->createMock( EntityPermissionChecker::class ); - $callback = function ( User $user ) { + $callback = static function ( User $user ) { $name = 'UserWithoutPermission'; if ( $user->getName() === $name ) { return Status::newFatal( 'permissiondenied' ); diff --git a/repo/tests/phpunit/includes/Specials/SpecialNewItemTest.php b/repo/tests/phpunit/includes/Specials/SpecialNewItemTest.php index 42f7ef2..d1db78c 100644 --- a/repo/tests/phpunit/includes/Specials/SpecialNewItemTest.php +++ b/repo/tests/phpunit/includes/Specials/SpecialNewItemTest.php @@ -516,7 +516,7 @@ class SpecialNewItemTest extends SpecialNewEntityTestCase { $siteMock->setGlobalId( $existingSiteId ); $siteMock->setGroup( 'wikiblah' ); $siteMock->method( 'normalizePageName' ) - ->willReturnCallback( function ( $pageName, $followRedirect ) { + ->willReturnCallback( static function ( $pageName, $followRedirect ) { if ( $followRedirect === MediaWikiPageNameNormalizer::FOLLOW_REDIRECT ) { return "Redirect target of $pageName"; } else { @@ -551,7 +551,7 @@ class SpecialNewItemTest extends SpecialNewEntityTestCase { /** @var MockObject|ValueValidator $validatorMock */ $validatorMock = $this->createMock( ValueValidator::class ); $validatorMock->method( 'validate' )->willReturnCallback( - function ( $value ) { + static function ( $value ) { if ( $value === 'TOO_LONG_ERROR' ) { return Result::newError( [ Error::newError( 'This is the too long error', null, 'too-long' ) ] ); } diff --git a/repo/tests/phpunit/includes/Specials/SpecialNewPropertyTest.php b/repo/tests/phpunit/includes/Specials/SpecialNewPropertyTest.php index c936c7c..e7339e7 100644 --- a/repo/tests/phpunit/includes/Specials/SpecialNewPropertyTest.php +++ b/repo/tests/phpunit/includes/Specials/SpecialNewPropertyTest.php @@ -370,7 +370,7 @@ class SpecialNewPropertyTest extends SpecialNewEntityTestCase { /** @var MockObject|ValueValidator $validatorMock */ $validatorMock = $this->createMock( ValueValidator::class ); $validatorMock->method( 'validate' )->willReturnCallback( - function ( $value ) { + static function ( $value ) { if ( $value === 'TOO_LONG_ERROR' ) { return Result::newError( [ Error::newError( 'This is the too long error', null, 'too-long' ) ] ); } diff --git a/repo/tests/phpunit/includes/Specials/SpecialRedirectEntityTest.php b/repo/tests/phpunit/includes/Specials/SpecialRedirectEntityTest.php index 1695e66..3666c02 100644 --- a/repo/tests/phpunit/includes/Specials/SpecialRedirectEntityTest.php +++ b/repo/tests/phpunit/includes/Specials/SpecialRedirectEntityTest.php @@ -92,7 +92,7 @@ class SpecialRedirectEntityTest extends SpecialPageTestBase { protected function newSpecialPage(): SpecialRedirectEntity { $exceptionLocalizer = $this->createMock( ExceptionLocalizer::class ); $exceptionLocalizer->method( 'getExceptionMessage' ) - ->willReturnCallback( function( Exception $ex ) { + ->willReturnCallback( static function( Exception $ex ) { if ( $ex instanceof Error ) { throw $ex; } @@ -174,7 +174,7 @@ class SpecialRedirectEntityTest extends SpecialPageTestBase { $permissionChecker = $this->createMock( EntityPermissionChecker::class ); $permissionChecker->method( 'getPermissionStatusForEntityId' ) - ->willReturnCallback( function( User $user ) { + ->willReturnCallback( static function( User $user ) { $name = 'UserWithoutPermission'; if ( $user->getName() === $name ) { return Status::newFatal( 'permissiondenied' ); diff --git a/repo/tests/phpunit/includes/Specials/SpecialWikibaseRepoPageTestBase.php b/repo/tests/phpunit/includes/Specials/SpecialWikibaseRepoPageTestBase.php index 6ddd0aa..40d84f1 100644 --- a/repo/tests/phpunit/includes/Specials/SpecialWikibaseRepoPageTestBase.php +++ b/repo/tests/phpunit/includes/Specials/SpecialWikibaseRepoPageTestBase.php @@ -67,7 +67,7 @@ abstract class SpecialWikibaseRepoPageTestBase extends SpecialPageTestBase { $titleLookup = $this->createMock( EntityTitleStoreLookup::class ); $titleLookup->method( 'getTitleForId' ) - ->willReturnCallback( function( EntityId $id ) { + ->willReturnCallback( static function( EntityId $id ) { return Title::makeTitle( NS_MAIN, $id->getEntityType() . ':' . $id->getSerialization() ); } ); diff --git a/repo/tests/phpunit/includes/Store/CachingPrefetchingTermLookupTest.php b/repo/tests/phpunit/includes/Store/CachingPrefetchingTermLookupTest.php index e19fe3b..c585387 100644 --- a/repo/tests/phpunit/includes/Store/CachingPrefetchingTermLookupTest.php +++ b/repo/tests/phpunit/includes/Store/CachingPrefetchingTermLookupTest.php @@ -643,7 +643,7 @@ class CachingPrefetchingTermLookupTest extends TestCase { private function newStubRedirectResolvingRevisionLookup() { $revisionAndRedirectResolver = $this->createMock( RedirectResolvingLatestRevisionLookup::class ); $revisionAndRedirectResolver->method( 'lookupLatestRevisionResolvingRedirect' ) - ->willReturnCallback( function ( EntityId $id ) { + ->willReturnCallback( static function ( EntityId $id ) { return [ self::TEST_REVISION, $id ]; } ); diff --git a/repo/tests/phpunit/includes/Store/CachingPropertyInfoTest.php b/repo/tests/phpunit/includes/Store/CachingPropertyInfoTest.php index e09f8a8..b901ea4 100644 --- a/repo/tests/phpunit/includes/Store/CachingPropertyInfoTest.php +++ b/repo/tests/phpunit/includes/Store/CachingPropertyInfoTest.php @@ -44,7 +44,7 @@ class CachingPropertyInfoTest extends MediaWikiIntegrationTestCase { private function getEntityComposer() { return new EntityIdComposer( [ - Property::ENTITY_TYPE => function( $uniquePart ) { + Property::ENTITY_TYPE => static function( $uniquePart ) { return new NumericPropertyId( 'P' . $uniquePart ); }, ] ); diff --git a/repo/tests/phpunit/includes/Store/Sql/SqlEntityIdPagerFactoryTest.php b/repo/tests/phpunit/includes/Store/Sql/SqlEntityIdPagerFactoryTest.php index b17d28d..858b3c2 100644 --- a/repo/tests/phpunit/includes/Store/Sql/SqlEntityIdPagerFactoryTest.php +++ b/repo/tests/phpunit/includes/Store/Sql/SqlEntityIdPagerFactoryTest.php @@ -39,7 +39,7 @@ class SqlEntityIdPagerFactoryTest extends \PHPUnit\Framework\TestCase { $entityIdLookup = $this->createMock( EntityIdLookup::class ); $entityIdLookup->method( 'getEntityIdForTitle' ) - ->willReturnCallback( function ( Title $title ) { + ->willReturnCallback( static function ( Title $title ) { return new ItemId( $title->getText() ); } ); diff --git a/repo/tests/phpunit/includes/Store/Sql/SqlEntityIdPagerTest.php b/repo/tests/phpunit/includes/Store/Sql/SqlEntityIdPagerTest.php index 18c9917..9ab8b90 100644 --- a/repo/tests/phpunit/includes/Store/Sql/SqlEntityIdPagerTest.php +++ b/repo/tests/phpunit/includes/Store/Sql/SqlEntityIdPagerTest.php @@ -118,7 +118,7 @@ class SqlEntityIdPagerTest extends MediaWikiIntegrationTestCase { } private function getIdStrings( array $entities ) { - $ids = array_map( function ( $entity ) { + $ids = array_map( static function ( $entity ) { if ( $entity instanceof EntityDocument ) { $entity = $entity->getId(); } elseif ( $entity instanceof EntityRedirect ) { diff --git a/repo/tests/phpunit/includes/Store/Sql/SqlSiteLinkConflictLookupTest.php b/repo/tests/phpunit/includes/Store/Sql/SqlSiteLinkConflictLookupTest.php index c1b48af..97e3fda 100644 --- a/repo/tests/phpunit/includes/Store/Sql/SqlSiteLinkConflictLookupTest.php +++ b/repo/tests/phpunit/includes/Store/Sql/SqlSiteLinkConflictLookupTest.php @@ -81,7 +81,7 @@ class SqlSiteLinkConflictLookupTest extends MediaWikiIntegrationTestCase { private function newSqlSiteLinkConflictLookup() { $entityIdComposer = new EntityIdComposer( [ - 'item' => function ( $uniquePart ) { + 'item' => static function ( $uniquePart ) { return ItemId::newFromNumber( $uniquePart ); }, ] ); diff --git a/repo/tests/phpunit/includes/Store/Sql/WikiPageEntityMetaDataLookupTest.php b/repo/tests/phpunit/includes/Store/Sql/WikiPageEntityMetaDataLookupTest.php index ef4b716..f10763b 100644 --- a/repo/tests/phpunit/includes/Store/Sql/WikiPageEntityMetaDataLookupTest.php +++ b/repo/tests/phpunit/includes/Store/Sql/WikiPageEntityMetaDataLookupTest.php @@ -171,7 +171,7 @@ class WikiPageEntityMetaDataLookupTest extends MediaWikiIntegrationTestCase { $db->expects( $this->exactly( $selectCount ) ) ->method( 'select' ) - ->willReturnCallback( function( ...$args ) use ( $realDB ) { + ->willReturnCallback( static function( ...$args ) use ( $realDB ) { // Get the actual result $res = $realDB->select( ...$args ); diff --git a/repo/tests/phpunit/includes/Store/Sql/WikiPageEntityRedirectLookupTest.php b/repo/tests/phpunit/includes/Store/Sql/WikiPageEntityRedirectLookupTest.php index 4a74a80..b64e1eb 100644 --- a/repo/tests/phpunit/includes/Store/Sql/WikiPageEntityRedirectLookupTest.php +++ b/repo/tests/phpunit/includes/Store/Sql/WikiPageEntityRedirectLookupTest.php @@ -131,7 +131,7 @@ class WikiPageEntityRedirectLookupTest extends MediaWikiIntegrationTestCase { $entityTitleLookup = $this->createMock( EntityTitleStoreLookup::class ); $entityTitleLookup->method( 'getTitleForId' ) - ->willReturnCallback( function( EntityId $id ) { + ->willReturnCallback( static function( EntityId $id ) { return Title::makeTitle( NS_MAIN, $id->getSerialization() ); } ); @@ -142,7 +142,7 @@ class WikiPageEntityRedirectLookupTest extends MediaWikiIntegrationTestCase { $entityIdLookup = $this->createMock( EntityIdLookup::class ); $entityIdLookup->method( 'getEntityIdForTitle' ) - ->willReturnCallback( function( Title $title ) { + ->willReturnCallback( static function( Title $title ) { return new ItemId( $title->getText() ); } ); diff --git a/repo/tests/phpunit/includes/Store/Sql/WikiPageEntityStoreTest.php b/repo/tests/phpunit/includes/Store/Sql/WikiPageEntityStoreTest.php index 0115148..21123d4 100644 --- a/repo/tests/phpunit/includes/Store/Sql/WikiPageEntityStoreTest.php +++ b/repo/tests/phpunit/includes/Store/Sql/WikiPageEntityStoreTest.php @@ -135,10 +135,10 @@ class WikiPageEntityStoreTest extends MediaWikiIntegrationTestCase { 'custom-type' => 'wikibase-custom-type', ], [ - 'item' => function() { + 'item' => static function() { return WikibaseRepo::getItemHandler(); }, - 'property' => function() { + 'property' => static function() { return WikibaseRepo::getPropertyHandler(); }, 'custom-type' => function() { @@ -969,10 +969,10 @@ class WikiPageEntityStoreTest extends MediaWikiIntegrationTestCase { 'property' => PropertyContent::CONTENT_MODEL_ID, ], [ - 'item' => function() { + 'item' => static function() { return WikibaseRepo::getItemHandler(); }, - 'property' => function() { + 'property' => static function() { return WikibaseRepo::getPropertyHandler(); }, ] @@ -1042,7 +1042,7 @@ class WikiPageEntityStoreTest extends MediaWikiIntegrationTestCase { return $result->onRedirect( $shouldNotBeCalled ) ->onNonexistentEntity( $shouldNotBeCalled ) - ->onConcreteRevision( function ( $revId ) { + ->onConcreteRevision( static function ( $revId ) { return $revId; } ) ->map(); diff --git a/repo/tests/phpunit/includes/Store/TypeDispatchingEntityTitleStoreLookupTest.php b/repo/tests/phpunit/includes/Store/TypeDispatchingEntityTitleStoreLookupTest.php index fd2f53c..f2fbcd5 100644 --- a/repo/tests/phpunit/includes/Store/TypeDispatchingEntityTitleStoreLookupTest.php +++ b/repo/tests/phpunit/includes/Store/TypeDispatchingEntityTitleStoreLookupTest.php @@ -24,7 +24,7 @@ class TypeDispatchingEntityTitleStoreLookupTest extends \PHPUnit\Framework\TestC public function testGivenInvalidCallback_getTitleForIdFails() { $lookup = new TypeDispatchingEntityTitleStoreLookup( [ - 'property' => function ( EntityTitleStoreLookup $defaultService ) { + 'property' => static function ( EntityTitleStoreLookup $defaultService ) { return (object)[]; }, ], diff --git a/repo/tests/phpunit/includes/Store/WikiPageEntityRevisionLookupTest.php b/repo/tests/phpunit/includes/Store/WikiPageEntityRevisionLookupTest.php index b015171..0fd740f 100644 --- a/repo/tests/phpunit/includes/Store/WikiPageEntityRevisionLookupTest.php +++ b/repo/tests/phpunit/includes/Store/WikiPageEntityRevisionLookupTest.php @@ -502,7 +502,7 @@ class WikiPageEntityRevisionLookupTest extends EntityRevisionLookupTestCase { $entityId->method( '__toString' )->willReturn( $idString ); $entityId->method( 'getSerialization' )->willReturn( $idString ); $entityId->method( 'equals' )->willReturnCallback( - function ( EntityId $otherEntityId ) use ( $entityId ) { + static function ( EntityId $otherEntityId ) use ( $entityId ) { return $otherEntityId->getSerialization() === $entityId->getSerialization(); } ); diff --git a/repo/tests/phpunit/includes/Store/WikiPageEntityStorePermissionCheckerTest.php b/repo/tests/phpunit/includes/Store/WikiPageEntityStorePermissionCheckerTest.php index 2dfef31..aa7ff0b 100644 --- a/repo/tests/phpunit/includes/Store/WikiPageEntityStorePermissionCheckerTest.php +++ b/repo/tests/phpunit/includes/Store/WikiPageEntityStorePermissionCheckerTest.php @@ -562,7 +562,7 @@ class WikiPageEntityStorePermissionCheckerTest extends MediaWikiIntegrationTestC $lookup = $this->createMock( EntityTitleLookup::class ); $lookup->method( 'getTitleForId' ) - ->willReturnCallback( function( EntityId $id ) { + ->willReturnCallback( static function( EntityId $id ) { if ( $id->getSerialization() === self::EXISTING_ITEM_ID ) { return Title::newFromLinkTarget( new TitleValue( WB_NS_ITEM, 'Test_Item' ) ); } diff --git a/repo/tests/phpunit/includes/ValidatorBuildersTest.php b/repo/tests/phpunit/includes/ValidatorBuildersTest.php index 153fd62..d433281 100644 --- a/repo/tests/phpunit/includes/ValidatorBuildersTest.php +++ b/repo/tests/phpunit/includes/ValidatorBuildersTest.php @@ -78,7 +78,7 @@ class ValidatorBuildersTest extends \PHPUnit\Framework\TestCase { $pageNormalizer = $this->createMock( MediaWikiPageNameNormalizer::class ); $pageNormalizer->method( 'normalizePageName' ) - ->willReturnCallback( function( $pageName ) { + ->willReturnCallback( static function( $pageName ) { return strpos( $pageName, 'NOT-FOUND' ) === false ? $pageName : false; } ); @@ -90,7 +90,7 @@ class ValidatorBuildersTest extends \PHPUnit\Framework\TestCase { $fileNameLookup->method( 'lookupFileName' ) ->with( $this->isType( 'string' ) ) - ->willReturnCallback( function( $fileName ) { + ->willReturnCallback( static function( $fileName ) { return strpos( $fileName, 'NOT-FOUND' ) === false ? $fileName : null; } ); diff --git a/repo/tests/phpunit/includes/Validators/CommonsMediaExistsValidatorTest.php b/repo/tests/phpunit/includes/Validators/CommonsMediaExistsValidatorTest.php index 2ae4bef..f840125 100644 --- a/repo/tests/phpunit/includes/Validators/CommonsMediaExistsValidatorTest.php +++ b/repo/tests/phpunit/includes/Validators/CommonsMediaExistsValidatorTest.php @@ -26,7 +26,7 @@ class CommonsMediaExistsValidatorTest extends \PHPUnit\Framework\TestCase { $fileNameLookup->method( 'lookupFileName' ) ->with( $this->isType( 'string' ) ) - ->willReturnCallback( function( $fileName ) { + ->willReturnCallback( static function( $fileName ) { return strpos( $fileName, 'NOT-FOUND' ) === false ? $fileName : null; } ); diff --git a/repo/tests/phpunit/includes/Validators/FingerprintUniquenessValidatorTest.php b/repo/tests/phpunit/includes/Validators/FingerprintUniquenessValidatorTest.php index a28304a..e58881e 100644 --- a/repo/tests/phpunit/includes/Validators/FingerprintUniquenessValidatorTest.php +++ b/repo/tests/phpunit/includes/Validators/FingerprintUniquenessValidatorTest.php @@ -65,7 +65,7 @@ class FingerprintUniquenessValidatorTest extends TestCase { ], 'old label not in ChangeOpResult - no collisions detected' => [ - 'getLabelMock' => function () { + 'getLabelMock' => static function () { return 'old label'; }, 'getDescriptionMock' => null, @@ -83,7 +83,7 @@ class FingerprintUniquenessValidatorTest extends TestCase { 'old description not in ChangeOpResult - no collisions detected' => [ 'getLabelMock' => null, - 'getDescriptionMock' => function () { + 'getDescriptionMock' => static function () { return 'old description'; }, 'detectLabelAndDescriptionCollisionMock' => function ( $lang, $label, $description ) { diff --git a/repo/tests/phpunit/includes/Validators/InterWikiLinkExistsValidatorTest.php b/repo/tests/phpunit/includes/Validators/InterWikiLinkExistsValidatorTest.php index e903ee7..25f2783 100644 --- a/repo/tests/phpunit/includes/Validators/InterWikiLinkExistsValidatorTest.php +++ b/repo/tests/phpunit/includes/Validators/InterWikiLinkExistsValidatorTest.php @@ -28,7 +28,7 @@ class InterWikiLinkExistsValidatorTest extends \PHPUnit\Framework\TestCase { $pageNormalizer->method( 'normalizePageName' ) ->with( $this->isType( 'string' ), $this->anything() ) - ->willReturnCallback( function( $pageName ) { + ->willReturnCallback( static function( $pageName ) { return $pageName === self::EXISTING_PAGE ? $pageName : false; } ); diff --git a/repo/tests/phpunit/includes/Validators/SnakValidatorTest.php b/repo/tests/phpunit/includes/Validators/SnakValidatorTest.php index 945beb2..0d85273 100644 --- a/repo/tests/phpunit/includes/Validators/SnakValidatorTest.php +++ b/repo/tests/phpunit/includes/Validators/SnakValidatorTest.php @@ -72,7 +72,7 @@ class SnakValidatorTest extends \PHPUnit\Framework\TestCase { $this->validatorFactory = $this->createMock( DataTypeValidatorFactory::class ); $this->validatorFactory->method( 'getValidators' ) - ->willReturnCallback( function( $dataTypeId ) use ( + ->willReturnCallback( static function( $dataTypeId ) use ( $numericValidator, $alphabeticValidator, $lengthValidator diff --git a/repo/tests/phpunit/includes/Validators/StringLengthValidatorTest.php b/repo/tests/phpunit/includes/Validators/StringLengthValidatorTest.php index 1360526..e854d8a 100644 --- a/repo/tests/phpunit/includes/Validators/StringLengthValidatorTest.php +++ b/repo/tests/phpunit/includes/Validators/StringLengthValidatorTest.php @@ -55,7 +55,7 @@ class StringLengthValidatorTest extends \PHPUnit\Framework\TestCase { public function testWhenErrorCodePrefixIsPassedAndErrorIsTriggered() { $errorCodePrefix = '[PREFIX]'; $maxLength = 0; - $tooLongFunction = function() use ( $maxLength ) { + $tooLongFunction = static function() use ( $maxLength ) { return $maxLength + 1; }; diff --git a/repo/tests/phpunit/includes/Validators/ValidatorErrorLocalizerTest.php b/repo/tests/phpunit/includes/Validators/ValidatorErrorLocalizerTest.php index 8053074..f363667 100644 --- a/repo/tests/phpunit/includes/Validators/ValidatorErrorLocalizerTest.php +++ b/repo/tests/phpunit/includes/Validators/ValidatorErrorLocalizerTest.php @@ -27,7 +27,7 @@ class ValidatorErrorLocalizerTest extends \PHPUnit\Framework\TestCase { $mock = $this->createMock( ValueFormatter::class ); $mock->method( 'format' ) ->willReturnCallback( - function ( $param ) { + static function ( $param ) { if ( is_array( $param ) ) { $param = implode( '|', $param ); } diff --git a/repo/tests/phpunit/includes/ValueParserFactoryTest.php b/repo/tests/phpunit/includes/ValueParserFactoryTest.php index c9456f8..45ca511 100644 --- a/repo/tests/phpunit/includes/ValueParserFactoryTest.php +++ b/repo/tests/phpunit/includes/ValueParserFactoryTest.php @@ -35,7 +35,7 @@ class ValueParserFactoryTest extends \PHPUnit\Framework\TestCase { 'id' => 'not a callable', ] ], 'id is not a string' => [ [ - function () { + static function () { }, ] ], ]; @@ -49,7 +49,7 @@ class ValueParserFactoryTest extends \PHPUnit\Framework\TestCase { } public function testNewParser_withInvalidReturnValue() { - $factory = new ValueParserFactory( [ 'id' => function () { + $factory = new ValueParserFactory( [ 'id' => static function () { return 'invalid'; } ] ); @@ -72,7 +72,7 @@ class ValueParserFactoryTest extends \PHPUnit\Framework\TestCase { return [ [ [ - 'foo' => function() { + 'foo' => static function() { return new NullParser(); }, ], diff --git a/repo/tests/phpunit/maintenance/DumpJsonTest.php b/repo/tests/phpunit/maintenance/DumpJsonTest.php index 6f58732..5e83fbb 100644 --- a/repo/tests/phpunit/maintenance/DumpJsonTest.php +++ b/repo/tests/phpunit/maintenance/DumpJsonTest.php @@ -202,7 +202,7 @@ class DumpJsonTest extends MediaWikiIntegrationTestCase { private function getMockPropertyDataTypeLookup() { $mockDataTypeLookup = $this->createMock( PropertyDataTypeLookup::class ); $mockDataTypeLookup->method( 'getDataTypeIdForProperty' ) - ->willReturnCallback( function( PropertyId $id ) { + ->willReturnCallback( static function( PropertyId $id ) { if ( $id->getSerialization() === 'P999' ) { throw new PropertyDataTypeLookupException( $id ); } diff --git a/repo/tests/phpunit/maintenance/DumpRdfTest.php b/repo/tests/phpunit/maintenance/DumpRdfTest.php index fcd2d34..36d736b 100644 --- a/repo/tests/phpunit/maintenance/DumpRdfTest.php +++ b/repo/tests/phpunit/maintenance/DumpRdfTest.php @@ -283,7 +283,7 @@ class DumpRdfTest extends MediaWikiIntegrationTestCase { private function getMockPropertyDataTypeLookup(): PropertyDataTypeLookup { $mockDataTypeLookup = $this->createMock( PropertyDataTypeLookup::class ); $mockDataTypeLookup->method( 'getDataTypeIdForProperty' ) - ->willReturnCallback( function( NumericPropertyId $id ) { + ->willReturnCallback( static function( NumericPropertyId $id ) { if ( $id->getSerialization() === 'P999' ) { throw new PropertyDataTypeLookupException( $id ); } diff --git a/repo/tests/phpunit/unit/ServiceWiring/AllTypesEntityDeserializerTest.php b/repo/tests/phpunit/unit/ServiceWiring/AllTypesEntityDeserializerTest.php index d086b36..74ce799 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/AllTypesEntityDeserializerTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/AllTypesEntityDeserializerTest.php @@ -21,11 +21,11 @@ class AllTypesEntityDeserializerTest extends ServiceWiringTestCase { private function makeMockDeserializer( string $validSerialization ): callable { $deserializer = $this->createMock( DispatchableDeserializer::class ); $deserializer->method( 'isDeserializerFor' ) - ->willReturnCallback( function ( $serialization ) use ( $validSerialization ) { + ->willReturnCallback( static function ( $serialization ) use ( $validSerialization ) { return $serialization == $validSerialization; } ); - return function () use ( $deserializer ): DispatchableDeserializer { + return static function () use ( $deserializer ): DispatchableDeserializer { return $deserializer; }; } diff --git a/repo/tests/phpunit/unit/ServiceWiring/ContentModelMappingsTest.php b/repo/tests/phpunit/unit/ServiceWiring/ContentModelMappingsTest.php index 7ee166a..3d02095 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/ContentModelMappingsTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/ContentModelMappingsTest.php @@ -35,7 +35,7 @@ class ContentModelMappingsTest extends ServiceWiringTestCase { $this->mockService( 'WikibaseRepo.EntityTypeDefinitions', new EntityTypeDefinitions( [] ) ); $this->configureHookContainer( [ - 'WikibaseContentModelMapping' => [ function ( array &$map ) { + 'WikibaseContentModelMapping' => [ static function ( array &$map ) { $map['test2'] = 'test2-content-model'; } ], ] ); diff --git a/repo/tests/phpunit/unit/ServiceWiring/DataTypeDefinitionsTest.php b/repo/tests/phpunit/unit/ServiceWiring/DataTypeDefinitionsTest.php index b4fbf86..9978263 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/DataTypeDefinitionsTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/DataTypeDefinitionsTest.php @@ -36,7 +36,7 @@ class DataTypeDefinitionsTest extends ServiceWiringTestCase { public function testRunsHook(): void { $this->configureHookContainer( [ - 'WikibaseRepoDataTypes' => [ function ( array &$dataTypes ) { + 'WikibaseRepoDataTypes' => [ static function ( array &$dataTypes ) { $dataTypes['PT:test'] = [ 'value-type' => 'string' ]; } ], ] ); diff --git a/repo/tests/phpunit/unit/ServiceWiring/DataTypeValidatorFactoryTest.php b/repo/tests/phpunit/unit/ServiceWiring/DataTypeValidatorFactoryTest.php index 9ad0bc8..4c38150 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/DataTypeValidatorFactoryTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/DataTypeValidatorFactoryTest.php @@ -37,7 +37,7 @@ class DataTypeValidatorFactoryTest extends ServiceWiringTestCase { $dataTypeDefs = new DataTypeDefinitions( [ 'PT:some-property' => [ 'value-type' => 'string', - 'validator-factory-callback' => function () use ( $fakeValidators ): array { + 'validator-factory-callback' => static function () use ( $fakeValidators ): array { return $fakeValidators; }, ], diff --git a/repo/tests/phpunit/unit/ServiceWiring/EntityChangeOpProviderTest.php b/repo/tests/phpunit/unit/ServiceWiring/EntityChangeOpProviderTest.php index ce7d103..ed5a172 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/EntityChangeOpProviderTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/EntityChangeOpProviderTest.php @@ -28,7 +28,7 @@ class EntityChangeOpProviderTest extends ServiceWiringTestCase { $this->mockService( 'WikibaseRepo.EntityTypeDefinitions', new EntityTypeDefinitions( [ 'test' => [ - EntityTypeDefinitions::CHANGEOP_DESERIALIZER_CALLBACK => function () use ( $changeOpDeserializer ) { + EntityTypeDefinitions::CHANGEOP_DESERIALIZER_CALLBACK => static function () use ( $changeOpDeserializer ) { return $changeOpDeserializer; }, ], diff --git a/repo/tests/phpunit/unit/ServiceWiring/EntityDifferTest.php b/repo/tests/phpunit/unit/ServiceWiring/EntityDifferTest.php index 69f2f8a..c5efd0e 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/EntityDifferTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/EntityDifferTest.php @@ -26,13 +26,13 @@ class EntityDifferTest extends ServiceWiringTestCase { $this->mockService( 'WikibaseRepo.EntityTypeDefinitions', new EntityTypeDefinitions( [ 'test1' => [ - EntityTypeDefinitions::ENTITY_DIFFER_STRATEGY_BUILDER => function () use ( &$calls1, $strategy1 ) { + EntityTypeDefinitions::ENTITY_DIFFER_STRATEGY_BUILDER => static function () use ( &$calls1, $strategy1 ) { $calls1++; return $strategy1; }, ], 'test2' => [ - EntityTypeDefinitions::ENTITY_DIFFER_STRATEGY_BUILDER => function () use ( &$calls2, $strategy2 ) { + EntityTypeDefinitions::ENTITY_DIFFER_STRATEGY_BUILDER => static function () use ( &$calls2, $strategy2 ) { $calls2++; return $strategy2; }, diff --git a/repo/tests/phpunit/unit/ServiceWiring/EntityFactoryTest.php b/repo/tests/phpunit/unit/ServiceWiring/EntityFactoryTest.php index 29733ad..b976e45 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/EntityFactoryTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/EntityFactoryTest.php @@ -36,7 +36,7 @@ class EntityFactoryTest extends ServiceWiringTestCase { 'WikibaseRepo.EntityTypeDefinitions', new EntityTypeDefinitions( [ 'something' => [ - EntityTypeDefinitions::ENTITY_FACTORY_CALLBACK => function () use ( $fakeEntity ) { + EntityTypeDefinitions::ENTITY_FACTORY_CALLBACK => static function () use ( $fakeEntity ) { return $fakeEntity; }, ], diff --git a/repo/tests/phpunit/unit/ServiceWiring/EntityIdComposerTest.php b/repo/tests/phpunit/unit/ServiceWiring/EntityIdComposerTest.php index 0aad9ec..92604c9 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/EntityIdComposerTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/EntityIdComposerTest.php @@ -22,7 +22,7 @@ class EntityIdComposerTest extends ServiceWiringTestCase { $this->mockService( 'WikibaseRepo.EntityTypeDefinitions', new EntityTypeDefinitions( [ 'test' => [ - EntityTypeDefinitions::ENTITY_ID_COMPOSER_CALLBACK => function ( $uniquePart ) { + EntityTypeDefinitions::ENTITY_ID_COMPOSER_CALLBACK => static function ( $uniquePart ) { return new ItemId( 'Q' . $uniquePart ); }, ], diff --git a/repo/tests/phpunit/unit/ServiceWiring/EntityIdParserTest.php b/repo/tests/phpunit/unit/ServiceWiring/EntityIdParserTest.php index 0e3a228..ec91085 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/EntityIdParserTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/EntityIdParserTest.php @@ -28,7 +28,7 @@ class EntityIdParserTest extends ServiceWiringTestCase { new EntityTypeDefinitions( [ 'test' => [ EntityTypeDefinitions::ENTITY_ID_PATTERN => '/^T[1-9][0-9]*$/', - EntityTypeDefinitions::ENTITY_ID_BUILDER => function ( $serialization ) { + EntityTypeDefinitions::ENTITY_ID_BUILDER => static function ( $serialization ) { return new ItemId( 'Q1000' . substr( $serialization, 1 ) ); }, ], @@ -52,7 +52,7 @@ class EntityIdParserTest extends ServiceWiringTestCase { $entityTypeDefinitions = new EntityTypeDefinitions( [ 'test' => [ EntityTypeDefinitions::ENTITY_ID_PATTERN => '/^T[1-9][0-9]*$/', - EntityTypeDefinitions::ENTITY_ID_BUILDER => function ( $serialization ) { + EntityTypeDefinitions::ENTITY_ID_BUILDER => static function ( $serialization ) { return new ItemId( 'Q1000' . substr( $serialization, 1 ) ); }, ], diff --git a/repo/tests/phpunit/unit/ServiceWiring/EntityNamespaceLookupTest.php b/repo/tests/phpunit/unit/ServiceWiring/EntityNamespaceLookupTest.php index 2d65d09..a8a3a66 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/EntityNamespaceLookupTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/EntityNamespaceLookupTest.php @@ -22,7 +22,7 @@ class EntityNamespaceLookupTest extends ServiceWiringTestCase { private function getEntitySources( array ...$entityNSDefinitions ): EntitySourceDefinitions { return new EntitySourceDefinitions( array_map( - function ( array $nsDefinitions, int $idx ): DatabaseEntitySource { + static function ( array $nsDefinitions, int $idx ): DatabaseEntitySource { return new DatabaseEntitySource( 'test-' . $idx, false, diff --git a/repo/tests/phpunit/unit/ServiceWiring/EntityPatcherTest.php b/repo/tests/phpunit/unit/ServiceWiring/EntityPatcherTest.php index 7c95e11..35c81e6 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/EntityPatcherTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/EntityPatcherTest.php @@ -26,13 +26,13 @@ class EntityPatcherTest extends ServiceWiringTestCase { $this->mockService( 'WikibaseRepo.EntityTypeDefinitions', new EntityTypeDefinitions( [ 'test1' => [ - EntityTypeDefinitions::ENTITY_PATCHER_STRATEGY_BUILDER => function () use ( &$calls1, $strategy1 ) { + EntityTypeDefinitions::ENTITY_PATCHER_STRATEGY_BUILDER => static function () use ( &$calls1, $strategy1 ) { $calls1++; return $strategy1; }, ], 'test2' => [ - EntityTypeDefinitions::ENTITY_PATCHER_STRATEGY_BUILDER => function () use ( &$calls2, $strategy2 ) { + EntityTypeDefinitions::ENTITY_PATCHER_STRATEGY_BUILDER => static function () use ( &$calls2, $strategy2 ) { $calls2++; return $strategy2; }, diff --git a/repo/tests/phpunit/unit/ServiceWiring/EntitySearchHelperCallbacksTest.php b/repo/tests/phpunit/unit/ServiceWiring/EntitySearchHelperCallbacksTest.php index a379c09..e8c1a05 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/EntitySearchHelperCallbacksTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/EntitySearchHelperCallbacksTest.php @@ -37,7 +37,7 @@ class EntitySearchHelperCallbacksTest extends ServiceWiringTestCase { ->willReturn( new HookContainer( new StaticHookRegistry( [ 'WikibaseRepoEntitySearchHelperCallbacks' => [ - 'callback' => function ( &$callbacks ) use ( $callable3 ) { + 'callback' => static function ( &$callbacks ) use ( $callable3 ) { $callbacks['type3'] = $callable3; }, ], diff --git a/repo/tests/phpunit/unit/ServiceWiring/EntityTypeDefinitionsTest.php b/repo/tests/phpunit/unit/ServiceWiring/EntityTypeDefinitionsTest.php index d94c29e..3503a99 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/EntityTypeDefinitionsTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/EntityTypeDefinitionsTest.php @@ -28,7 +28,7 @@ class EntityTypeDefinitionsTest extends ServiceWiringTestCase { public function testRunsHook(): void { $this->configureHookContainer( [ - 'WikibaseRepoEntityTypes' => [ function ( array &$entityTypes ) { + 'WikibaseRepoEntityTypes' => [ static function ( array &$entityTypes ) { $entityTypes['test'] = []; } ], ] ); diff --git a/repo/tests/phpunit/unit/ServiceWiring/FulltextSearchTypesTest.php b/repo/tests/phpunit/unit/ServiceWiring/FulltextSearchTypesTest.php index 95cd706..cc87b6a 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/FulltextSearchTypesTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/FulltextSearchTypesTest.php @@ -16,7 +16,7 @@ use Wikibase\Repo\Tests\Unit\ServiceWiringTestCase; class FulltextSearchTypesTest extends ServiceWiringTestCase { private function getEntityTypeDefinitions( array $typesToContexts ): EntityTypeDefinitions { - return new EntityTypeDefinitions( array_map( function ( $context ){ + return new EntityTypeDefinitions( array_map( static function ( $context ){ return [ EntityTypeDefinitions::FULLTEXT_SEARCH_CONTEXT => $context, ]; @@ -43,7 +43,7 @@ class FulltextSearchTypesTest extends ServiceWiringTestCase { public function testReturnsCallbackResults(): void { $mockFulltextContextStrings = [ 'something' => 'test-context', - 'another' => function () { + 'another' => static function () { return 'another-context'; }, ]; diff --git a/repo/tests/phpunit/unit/ServiceWiring/ItemVocabularyBaseUriTest.php b/repo/tests/phpunit/unit/ServiceWiring/ItemVocabularyBaseUriTest.php index afa0c95..6ee6a93 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/ItemVocabularyBaseUriTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/ItemVocabularyBaseUriTest.php @@ -25,7 +25,7 @@ class ItemVocabularyBaseUriTest extends ServiceWiringTestCase { return new EntitySourceDefinitions( array_map( - function ( string $baseUri, array $entityTypes, int $idx ): DatabaseEntitySource { + static function ( string $baseUri, array $entityTypes, int $idx ): DatabaseEntitySource { return new DatabaseEntitySource( 'test' . $idx, false, diff --git a/repo/tests/phpunit/unit/ServiceWiring/LocalEntityNamespaceLookupTest.php b/repo/tests/phpunit/unit/ServiceWiring/LocalEntityNamespaceLookupTest.php index b30f9e8..0bfb6c7 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/LocalEntityNamespaceLookupTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/LocalEntityNamespaceLookupTest.php @@ -27,7 +27,7 @@ class LocalEntityNamespaceLookupTest extends ServiceWiringTestCase { new DatabaseEntitySource( 'local', false, - array_map( function ( $nsId ) { + array_map( static function ( $nsId ) { return [ 'namespaceId' => $nsId, 'slot' => SlotRecord::MAIN, diff --git a/repo/tests/phpunit/unit/ServiceWiring/ValueParserFactoryTest.php b/repo/tests/phpunit/unit/ServiceWiring/ValueParserFactoryTest.php index 15ac439..b657cb3 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/ValueParserFactoryTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/ValueParserFactoryTest.php @@ -85,7 +85,7 @@ class ValueParserFactoryTest extends ServiceWiringTestCase { } private function makeParserFactoryCallback(): callable { - return function () { + return static function () { throw new AssertionError( 'Should never be called' ); }; } diff --git a/repo/tests/phpunit/unit/ServiceWiring/ValueSnakRdfBuilderFactoryTest.php b/repo/tests/phpunit/unit/ServiceWiring/ValueSnakRdfBuilderFactoryTest.php index 3783c7c..983a76c 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/ValueSnakRdfBuilderFactoryTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/ValueSnakRdfBuilderFactoryTest.php @@ -22,7 +22,7 @@ class ValueSnakRdfBuilderFactoryTest extends ServiceWiringTestCase { $this->mockService( 'WikibaseRepo.DataTypeDefinitions', new DataTypeDefinitions( [ 'VT:test' => [ - 'rdf-builder-factory-callback' => function () { + 'rdf-builder-factory-callback' => static function () { return null; }, ], diff --git a/repo/tests/phpunit/unit/ServiceWiring/WikibaseContentLanguagesTest.php b/repo/tests/phpunit/unit/ServiceWiring/WikibaseContentLanguagesTest.php index 55a1aff..c20f83e 100644 --- a/repo/tests/phpunit/unit/ServiceWiring/WikibaseContentLanguagesTest.php +++ b/repo/tests/phpunit/unit/ServiceWiring/WikibaseContentLanguagesTest.php @@ -19,7 +19,7 @@ class WikibaseContentLanguagesTest extends ServiceWiringTestCase { public function testConstruction() { $testLanguages = new StaticContentLanguages( [ 'test' ] ); $this->configureHookContainer( [ - 'WikibaseContentLanguages' => [ function ( array &$contentLanguages ) use ( $testLanguages ) { + 'WikibaseContentLanguages' => [ static function ( array &$contentLanguages ) use ( $testLanguages ) { $contentLanguages['test'] = $testLanguages; } ], ] ); diff --git a/repo/tests/phpunit/unit/includes/Hooks/EntityDataPurgerTest.php b/repo/tests/phpunit/unit/includes/Hooks/EntityDataPurgerTest.php index d89f6e8..bc90ea5 100644 --- a/repo/tests/phpunit/unit/includes/Hooks/EntityDataPurgerTest.php +++ b/repo/tests/phpunit/unit/includes/Hooks/EntityDataPurgerTest.php @@ -136,7 +136,7 @@ class EntityDataPurgerTest extends MediaWikiUnitTestCase { $jobQueueGroup = $this->createMock( JobQueueGroup::class ); $jobQueueGroup->expects( $this->once() ) ->method( 'lazyPush' ) - ->willReturnCallback( function ( IJobSpecification $job ) use ( &$actualJob ) { + ->willReturnCallback( static function ( IJobSpecification $job ) use ( &$actualJob ) { $actualJob = $job; } ); diff --git a/view/resources.php b/view/resources.php index 5f11a7b..9da8b8e 100644 --- a/view/resources.php +++ b/view/resources.php @@ -12,7 +12,7 @@ use Wikibase\View\Termbox\TermboxModule; * @license GPL-2.0-or-later * @author Adrian Heine <adrian.heine@wikimedia.de> */ -return call_user_func( function() { +return call_user_func( static function() { $moduleTemplate = [ 'localBasePath' => __DIR__ . '/resources', 'remoteExtPath' => 'Wikibase/view/resources', @@ -962,7 +962,7 @@ return call_user_func( function() { 'mountTermbox.js', [ 'name' => 'config.json', - 'callback' => function () { + 'callback' => static function () { return [ 'tags' => WikibaseRepo::getSettings()->getSetting( 'termboxTags' ), 'tempUserEnabled' => MediaWikiServices::getInstance()->getTempUserConfig()->isEnabled(), @@ -984,7 +984,7 @@ return call_user_func( function() { 'dist/wikibase.termbox.init.js', [ 'name' => 'termbox.config.js', - 'callback' => function ( Context $context ) { + 'callback' => static function ( Context $context ) { global $wgEditSubmitButtonLabelPublish; $saveMessageKey = ( $wgEditSubmitButtonLabelPublish ) ? 'wikibase-publish' : 'wikibase-save'; diff --git a/view/resources/templates.php b/view/resources/templates.php index 5c03a42..aa2e149 100644 --- a/view/resources/templates.php +++ b/view/resources/templates.php @@ -12,7 +12,7 @@ namespace Wikibase; * @return array templates */ -return call_user_func( function() { +return call_user_func( static function() { $templates = []; $templates['wikibase-entityview'] = diff --git a/view/src/DummyLocalizedTextProvider.php b/view/src/DummyLocalizedTextProvider.php index 1af3edf..0a76688 100644 --- a/view/src/DummyLocalizedTextProvider.php +++ b/view/src/DummyLocalizedTextProvider.php @@ -23,7 +23,7 @@ class DummyLocalizedTextProvider implements LocalizedTextProvider { public function getEscaped( $key, array $params = [] ) { return $this->get( htmlspecialchars( $key ), - array_map( function ( $param ) { + array_map( static function ( $param ) { return $param instanceof RawMessageParameter ? $param->getContents() : htmlspecialchars( $param ); }, $params ) ); diff --git a/view/src/FallbackChainModuleMethods.php b/view/src/FallbackChainModuleMethods.php index 9d64594..388e3df 100644 --- a/view/src/FallbackChainModuleMethods.php +++ b/view/src/FallbackChainModuleMethods.php @@ -21,7 +21,7 @@ class FallbackChainModuleMethods { return $localCache->getWithSetCallback( $localCache->makeKey( 'wikibase-fallback-chains' ), $localCache::TTL_WEEK, - function () use ( $services ) { + static function () use ( $services ) { $startTime = microtime( true ); $fallbackChainFactory = WikibaseRepo::getLanguageFallbackChainFactory( $services ); diff --git a/view/src/SiteLinksView.php b/view/src/SiteLinksView.php index 6d1673e..4f045d3 100644 --- a/view/src/SiteLinksView.php +++ b/view/src/SiteLinksView.php @@ -240,7 +240,7 @@ class SiteLinksView { // Sort the sitelinks according to their global id usort( $siteLinksForTable, - function( array $a, array $b ) { + static function( array $a, array $b ) { /** @var SiteLink[] $a */ /** @var SiteLink[] $b */ return strcmp( $a['siteLink']->getSiteId(), $b['siteLink']->getSiteId() ); diff --git a/view/src/Termbox/Renderer/TermboxRemoteRenderer.php b/view/src/Termbox/Renderer/TermboxRemoteRenderer.php index 693c2d5..17ed3a1 100644 --- a/view/src/Termbox/Renderer/TermboxRemoteRenderer.php +++ b/view/src/Termbox/Renderer/TermboxRemoteRenderer.php @@ -124,7 +124,7 @@ class TermboxRemoteRenderer implements TermboxRenderer { } private function getLanguageCodes( TermLanguageFallbackChain $preferredLanguages ) { - return array_map( function ( LanguageWithConversion $language ) { + return array_map( static function ( LanguageWithConversion $language ) { return $language->getLanguageCode(); }, $preferredLanguages->getFallbackChain() ); } diff --git a/view/tests/phpunit/FingerprintableEntityMetaTagsCreatorTest.php b/view/tests/phpunit/FingerprintableEntityMetaTagsCreatorTest.php index 8a745ab..718f6ea 100644 --- a/view/tests/phpunit/FingerprintableEntityMetaTagsCreatorTest.php +++ b/view/tests/phpunit/FingerprintableEntityMetaTagsCreatorTest.php @@ -20,10 +20,10 @@ class FingerprintableEntityMetaTagsCreatorTest extends EntityMetaTagsCreatorTest public static function provideTestGetMetaTags() { - $fingerprintableEntityMetaTagsFactory = function ( self $self ) { + $fingerprintableEntityMetaTagsFactory = static function ( self $self ) { $mock = $self->createMock( TermLanguageFallbackChain::class ); $mock->method( 'extractPreferredValue' ) - ->willReturnCallback( function( $input ) { + ->willReturnCallback( static function( $input ) { $langString = $input['en'] ?? null; if ( $langString !== null ) { return [ 'value' => $langString ]; diff --git a/view/tests/phpunit/SimpleEntityTermsViewTest.php b/view/tests/phpunit/SimpleEntityTermsViewTest.php index c6b8cf5..a1b50ca 100644 --- a/view/tests/phpunit/SimpleEntityTermsViewTest.php +++ b/view/tests/phpunit/SimpleEntityTermsViewTest.php @@ -47,13 +47,13 @@ class SimpleEntityTermsViewTest extends \PHPUnit\Framework\TestCase { $htmlTermRenderer = $this->createMock( HtmlTermRenderer::class ); $htmlTermRenderer->method( 'renderTerm' ) - ->willReturnCallback( function( Term $term ) { + ->willReturnCallback( static function( Term $term ) { return htmlspecialchars( $term->getText() ); } ); $labelDescriptionLookup = $this->createMock( LabelDescriptionLookup::class ); $labelDescriptionLookup->method( 'getLabel' ) - ->willReturnCallback( function( EntityId $entityId ) { + ->willReturnCallback( static function( EntityId $entityId ) { $terms = [ 'Q111' => new Term( 'language', '<LABEL>' ), 'Q666' => new Term( 'language', '<a href="#">evil html</a>' ), @@ -61,7 +61,7 @@ class SimpleEntityTermsViewTest extends \PHPUnit\Framework\TestCase { return $terms[$entityId->getSerialization()] ?? null; } ); $labelDescriptionLookup->method( 'getDescription' ) - ->willReturnCallback( function( EntityId $entityId ) { + ->willReturnCallback( static function( EntityId $entityId ) { return $entityId->getSerialization() === 'Q111' ? new Term( 'language', '<DESCRIPTION>' ) : null; } ); diff --git a/view/tests/phpunit/SiteLinksViewTest.php b/view/tests/phpunit/SiteLinksViewTest.php index 720e755..de68603 100644 --- a/view/tests/phpunit/SiteLinksViewTest.php +++ b/view/tests/phpunit/SiteLinksViewTest.php @@ -206,7 +206,7 @@ class SiteLinksViewTest extends \PHPUnit\Framework\TestCase { $formatter = $this->createMock( EntityIdFormatter::class ); $formatter->method( 'formatEntityId' ) - ->willReturnCallback( function( EntityId $id ) { + ->willReturnCallback( static function( EntityId $id ) { if ( $id->getSerialization() === 'Q42' ) { return 'Featured article'; } elseif ( $id->getSerialization() === 'Q56' ) { diff --git a/view/tests/phpunit/StatementGroupListViewTest.php b/view/tests/phpunit/StatementGroupListViewTest.php index 06aa0f0..7210dc0 100644 --- a/view/tests/phpunit/StatementGroupListViewTest.php +++ b/view/tests/phpunit/StatementGroupListViewTest.php @@ -199,7 +199,7 @@ class StatementGroupListViewTest extends \PHPUnit\Framework\TestCase { $statementHtmlGenerator = $this->createMock( StatementHtmlGenerator::class ); $statementHtmlGenerator->method( 'getHtmlForStatement' ) - ->willReturnCallback( function( Statement $statement, $editSectionHtml = null ) { + ->willReturnCallback( static function( Statement $statement, $editSectionHtml = null ) { return $statement->getGuid() . "\n"; } ); diff --git a/view/tests/phpunit/Termbox/Renderer/TermboxRemoteRendererTest.php b/view/tests/phpunit/Termbox/Renderer/TermboxRemoteRendererTest.php index 06040d0..ec0efdb 100644 --- a/view/tests/phpunit/Termbox/Renderer/TermboxRemoteRendererTest.php +++ b/view/tests/phpunit/Termbox/Renderer/TermboxRemoteRendererTest.php @@ -347,7 +347,7 @@ class TermboxRemoteRendererTest extends TestCase { $stubContentLanguages->method( 'hasLanguage' ) ->willReturn( true ); $languageFactory = MediaWikiServices::getInstance()->getLanguageFactory(); - return new TermLanguageFallbackChain( array_map( function ( $languageCode ) use ( $languageFactory ) { + return new TermLanguageFallbackChain( array_map( static function ( $languageCode ) use ( $languageFactory ) { return LanguageWithConversion::factory( $languageFactory->getLanguage( $languageCode ) ); }, $languages ), $stubContentLanguages ); } diff --git a/view/tests/phpunit/TermsListViewTest.php b/view/tests/phpunit/TermsListViewTest.php index 4b66a19..63a1efc 100644 --- a/view/tests/phpunit/TermsListViewTest.php +++ b/view/tests/phpunit/TermsListViewTest.php @@ -40,7 +40,7 @@ class TermsListViewTest extends \PHPUnit\Framework\TestCase { $languageNameLookup = $this->createMock( LanguageNameLookup::class ); $languageNameLookup->expects( $this->exactly( $languageNameCalls ) ) ->method( 'getNameForTerms' ) - ->willReturnCallback( function( $languageCode ) { + ->willReturnCallback( static function( $languageCode ) { return "<LANGUAGENAME-$languageCode>"; } ); $languageNameLookup->expects( $this->never() ) @@ -48,7 +48,7 @@ class TermsListViewTest extends \PHPUnit\Framework\TestCase { $languageDirectionalityLookup = $this->createMock( LanguageDirectionalityLookup::class ); $languageDirectionalityLookup->method( 'getDirectionality' ) - ->willReturnCallback( function( $languageCode ) { + ->willReturnCallback( static function( $languageCode ) { return [ 'en' => 'ltr', 'arc' => 'rtl', diff --git a/view/tests/phpunit/ToolbarEditSectionGeneratorTest.php b/view/tests/phpunit/ToolbarEditSectionGeneratorTest.php index 4b44217..c26e161 100644 --- a/view/tests/phpunit/ToolbarEditSectionGeneratorTest.php +++ b/view/tests/phpunit/ToolbarEditSectionGeneratorTest.php @@ -105,7 +105,7 @@ class ToolbarEditSectionGeneratorTest extends \PHPUnit\Framework\TestCase { private function newToolbarEditSectionGenerator() { $specialPageLinker = $this->createMock( SpecialPageLinker::class ); $specialPageLinker->method( 'getLink' ) - ->willReturnCallback( function( $specialPage, $params = [] ) { + ->willReturnCallback( static function( $specialPage, $params = [] ) { return 'Special:' . $specialPage . '/' . implode( '/', $params ); } ); -- 2.39.2 --- end ---