Page MenuHomePhabricator

Upgrade Wikibase extension to use newer phan
Closed, ResolvedPublic

Description

Wikibase needs to be upgraded to a newer version of phan, our PHP static analysis tool. This brings in
over 2 years of upstream improvements and lots of bug fixes.

Please follow the instructions on how to migrate at https://www.mediawiki.org/wiki/Continuous_integration/Tutorials/Add_phan_to_a_MediaWiki_extension#Migrating_from_phan_0.8.0.

Please also set the Gerrit topic for all patches related to this effort with new-phan-plz.

Event Timeline

As far as I can tell from integration-config/zuul/layout.yaml, only Wikibase and WikibaseCirrusSearch run phan on every change, other repositories only run it in check experimental mode.

Change 494176 had a related patch set uploaded (by Drishya Ramesh; owner: Drishya Ramesh):
[mediawiki/extensions/Wikibase@master] Upgrade Wikibase extension to use newer phan

https://gerrit.wikimedia.org/r/494176

To be sorted out:

# client/ClientHooks.php:416 PhanCommentParamWithoutRealParam Saw an @param annotation for prefixId, but it was not found in the param list of function parseEntityId(\Wikibase\Client\WikibaseClient $client, mixed $prefixedId = null) : \Wikibase\DataModel\Entity\EntityId|null
# client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibrary.php:272 PhanTypeInvalidThrowsNonThrowable @throws annotation of formatPropertyValues has suspicious class type \ScribuntoException, which does not extend Error/Exception
# client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibrary.php:308 PhanTypeInvalidThrowsNonThrowable @throws annotation of formatStatements has suspicious class type \ScribuntoException, which does not extend Error/Exception
# client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php:331 PhanTypeInvalidThrowsNonThrowable @throws annotation of parseUserGivenEntityId has suspicious class type \ScribuntoException, which does not extend Error/Exception
# client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php:331 PhanUndeclaredTypeReturnType Return type of parseUserGivenEntityId() is undeclared type \Wikibase\Client\DataAccess\Scribunto\EntityId
# client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php:389 PhanTypeInvalidThrowsNonThrowable @throws annotation of getEntity has suspicious class type \ScribuntoException, which does not extend Error/Exception
# client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php:417 PhanTypeInvalidThrowsNonThrowable @throws annotation of getReferencedEntityId has suspicious class type \ScribuntoException, which does not extend Error/Exception
# client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php:460 PhanTypeInvalidThrowsNonThrowable @throws annotation of entityExists has suspicious class type \ScribuntoException, which does not extend Error/Exception
# client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php:483 PhanTypeInvalidThrowsNonThrowable @throws annotation of getEntityStatements has suspicious class type \ScribuntoException, which does not extend Error/Exception
# client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php:628 PhanTypeInvalidThrowsNonThrowable @throws annotation of isValidEntityId has suspicious class type \ScribuntoException, which does not extend Error/Exception
# client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php:642 PhanTypeInvalidThrowsNonThrowable @throws annotation of renderSnak has suspicious class type \ScribuntoException, which does not extend Error/Exception
# client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php:661 PhanTypeInvalidThrowsNonThrowable @throws annotation of formatValue has suspicious class type \ScribuntoException, which does not extend Error/Exception
# client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php:680 PhanTypeInvalidThrowsNonThrowable @throws annotation of renderSnaks has suspicious class type \ScribuntoException, which does not extend Error/Exception
# client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php:699 PhanTypeInvalidThrowsNonThrowable @throws annotation of formatValues has suspicious class type \ScribuntoException, which does not extend Error/Exception
# client/includes/DataAccess/Scribunto/SnakSerializationRenderer.php:8 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace SnakList (\Wikibase\DataModel\Snak\SnakList)
# client/includes/Hooks/NoLangLinkHandler.php:29 PhanUnextractableAnnotationElementName Saw possibly unextractable annotation for a fragment of comment '* @param string [$languageCode,...] Language codes or '*'': after string, did not see an element name (will guess based on comment order)
# client/includes/Hooks/OtherProjectsSidebarGenerator.php:11 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace Item (\Wikibase\DataModel\Entity\Item)
# client/includes/Hooks/SkinAfterBottomScriptsHandler.php:64 PhanCommentParamWithoutRealParam Saw an @param annotation for image, but it was not found in the param list of function createSchema(\Title $title, null|string $revisionTimestamp = null, string $entityConceptUri, ?\File $imageFile = null, null|string $description = null) : array
# client/includes/Hooks/SkinAfterBottomScriptsHandler.php:140 PhanUndeclaredStaticMethod Static call to undeclared method \PageImages::getPageImage
# client/includes/LangLinkHandler.php:11 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace Item (\Wikibase\DataModel\Entity\Item)
# client/includes/Modules/SiteModule.php:5 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace MediaWikiSite (\MediaWikiSite)
# client/includes/MoreLikeWikibase.php:17 PhanParamSignatureRealMismatchHasParamType Declaration of function doApply(\CirrusSearch\Search\SearchContext $context, $key, $value, $quotedValue, $negated) should be compatible with function doApply($context, $key, $value, $quotedValue, $negated) (parameter #1 has type '\CirrusSearch\Search\SearchContext' which cannot replace original parameter with no type) defined in .phan/stubs/cirrussearch.php:219
# client/includes/ParserOutput/ClientParserOutputDataUpdater.php:10 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace Item (\Wikibase\DataModel\Entity\Item)
# client/includes/RecentChanges/ExternalChangeFactory.php:246 PhanUndeclaredVariableDim Variable $comment was undeclared, but array fields are being added to it.
# client/includes/RecentChanges/SiteLinkCommentCreator.php:180 PhanUndeclaredVariableDim Variable $params was undeclared, but array fields are being added to it.
# client/includes/Serializer/ClientSerializer.php:14 PhanRedefinedInheritedInterface \Wikibase\Client\Serializer\ClientSerializer inherits Interface \Serializers\Serializer declared at ../../vendor/serialization/serialization/src/Serializers/Serializer.php:13 which is also declared at vendor/serialization/serialization/src/Serializers/Serializer.php:13. This may lead to confusing errors.
# client/includes/Store/Sql/BulkSubscriptionUpdater.php:139 PhanTypeMismatchDeclaredParamNullable Doc-block of $continuation in processUpdateBatch is phpdoc param type array which is not a permitted replacement of the nullable param type ?array declared in the signature ('?T' should be documented as 'T|null' or '?T')
# client/includes/Store/Sql/BulkSubscriptionUpdater.php:181 PhanTypeMismatchDeclaredParamNullable Doc-block of $continuation in getUpdateBatch is phpdoc param type array which is not a permitted replacement of the nullable param type ?array declared in the signature ('?T' should be documented as 'T|null' or '?T')
# client/includes/Store/Sql/BulkSubscriptionUpdater.php:196 PhanAccessClassConstantInternal Cannot access internal class constant \Wikibase\Client\Usage\Sql\EntityUsageTable::DEFAULT_TABLE_NAME defined at client/includes/Usage/Sql/EntityUsageTable.php:30
# client/includes/Store/Sql/BulkSubscriptionUpdater.php:238 PhanTypeMismatchDeclaredParamNullable Doc-block of $continuation in getEntityIdsFromRows is phpdoc param type array which is not a permitted replacement of the nullable param type ?array declared in the signature ('?T' should be documented as 'T|null' or '?T')
# client/includes/Store/Sql/BulkSubscriptionUpdater.php:281 PhanTypeMismatchDeclaredParamNullable Doc-block of $continuation in processDeletionBatch is phpdoc param type array which is not a permitted replacement of the nullable param type ?array declared in the signature ('?T' should be documented as 'T|null' or '?T')
# client/includes/Store/Sql/BulkSubscriptionUpdater.php:301 PhanTypeMismatchDeclaredParamNullable Doc-block of $continuation in getDeletionRange is phpdoc param type array which is not a permitted replacement of the nullable param type ?array declared in the signature ('?T' should be documented as 'T|null' or '?T')
# client/includes/Store/Sql/PageRandomLookup.php:27 PhanCommentParamWithoutRealParam Saw an @param annotation for pageRandomLookupLogger, but it was not found in the param list of function __construct(\Wikimedia\Rdbms\ILoadBalancer $loadBalancer, ?\Psr\Log\LoggerInterface $logger = null)
# client/includes/Usage/EntityUsage.php:175 PhanUnextractableAnnotationSuffix Saw a token Phan may have failed to parse after '* @return array( 'entityId' => string $entityId, 'aspect' => string $aspect, 'modifier' => string|null $modifier )': after array, saw '('
# client/includes/Usage/UsageTrackingLanguageFallbackLabelDescriptionLookup.php:21 PhanRedefinedInheritedInterface \Wikibase\Client\Usage\UsageTrackingLanguageFallbackLabelDescriptionLookup inherits Interface \Wikibase\DataModel\Services\Lookup\LabelDescriptionLookup declared at ../../vendor/wikibase/data-model-services/src/Lookup/LabelDescriptionLookup.php:15 which is also declared at vendor/wikibase/data-model-services/src/Lookup/LabelDescriptionLookup.php:15. This may lead to confusing errors.
# data-access/src/ByTypeDispatchingEntityPrefetcher.php:12 PhanRedefinedInheritedInterface \Wikibase\DataAccess\ByTypeDispatchingEntityPrefetcher inherits Interface \Wikibase\DataModel\Services\Entity\EntityPrefetcher declared at ../../vendor/wikibase/data-model-services/src/Entity/EntityPrefetcher.php:16 which is also declared at vendor/wikibase/data-model-services/src/Entity/EntityPrefetcher.php:16. This may lead to confusing errors.
# data-access/src/PerRepositoryServiceWiring.php:12 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace PrefetchingTermLookup (\Wikibase\Lib\Store\PrefetchingTermLookup)
# data-access/src/PerRepositoryServiceWiring.php:18 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace WikiPageEntityMetaDataAccessor (\Wikibase\Lib\Store\Sql\WikiPageEntityMetaDataAccessor)
# data-access/src/PerRepositoryServiceWiring.php:22 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace TermIndex (\Wikibase\TermIndex)
# data-access/src/Serializer/ForbiddenSerializer.php:14 PhanRedefinedInheritedInterface \Wikibase\DataAccess\Serializer\ForbiddenSerializer inherits Interface \Serializers\Serializer declared at ../../vendor/serialization/serialization/src/Serializers/Serializer.php:13 which is also declared at vendor/serialization/serialization/src/Serializers/Serializer.php:13. This may lead to confusing errors.
# data-access/src/SingleEntitySourceServices.php:28 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace WikiPageEntityMetaDataAccessor (\Wikibase\Lib\Store\Sql\WikiPageEntityMetaDataAccessor)
# lib/includes/Changes/EntityDiffChangedAspectsFactory.php:10 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace Statement (\Wikibase\DataModel\Statement\Statement)
# lib/includes/Changes/EntityDiffChangedAspectsFactory.php:92 PhanUnextractableAnnotationSuffix Saw a token Phan may have failed to parse after '* @return array( string|null $oldPageName, string|null $newPageName, bool $badgesChanged )': after array, saw '('
# lib/includes/Changes/EntityDiffChangedAspectsFactory.php:157 PhanNonClassMethodCall Call to method getPropertyId on non-class type ?mixed
# lib/includes/DataValue/UnmappedEntityIdValue.php:10 PhanRedefinedExtendedClass \Wikibase\Lib\DataValue\UnmappedEntityIdValue extends Class \DataValues\UnknownValue declared at ../../vendor/data-values/data-values/src/DataValues/UnknownValue.php:14 which is also declared at vendor/data-values/data-values/src/DataValues/UnknownValue.php:14. This may lead to confusing errors.
# lib/includes/Formatters/CommonsInlineImageFormatter.php:24 PhanRedefinedExtendedClass \Wikibase\Lib\Formatters\CommonsInlineImageFormatter extends abstract Class \ValueFormatters\ValueFormatterBase declared at ../../vendor/data-values/interfaces/src/ValueFormatters/ValueFormatterBase.php:13 which is also declared at vendor/data-values/interfaces/src/ValueFormatters/ValueFormatterBase.php:13. This may lead to confusing errors.
# lib/includes/Formatters/CommonsLinkFormatter.php:21 PhanRedefinedInheritedInterface \Wikibase\Lib\CommonsLinkFormatter inherits Interface \ValueFormatters\ValueFormatter declared at ../../vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14 which is also declared at vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14. This may lead to confusing errors.
# lib/includes/Formatters/CommonsThumbnailFormatter.php:22 PhanRedefinedInheritedInterface \Wikibase\Lib\Formatters\CommonsThumbnailFormatter inherits Interface \ValueFormatters\ValueFormatter declared at ../../vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14 which is also declared at vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14. This may lead to confusing errors.
# lib/includes/Formatters/ControlledFallbackEntityIdFormatter.php:17 PhanRedefinedInheritedInterface \Wikibase\Lib\Formatters\ControlledFallbackEntityIdFormatter inherits Interface \Wikibase\DataModel\Services\EntityId\EntityIdFormatter declared at ../../vendor/wikibase/data-model-services/src/EntityId/EntityIdFormatter.php:14 which is also declared at vendor/wikibase/data-model-services/src/EntityId/EntityIdFormatter.php:14. This may lead to confusing errors.
# lib/includes/Formatters/ControlledFallbackEntityIdFormatter.php:17 PhanRedefinedUsedTrait \Wikibase\Lib\Formatters\ControlledFallbackEntityIdFormatter uses Trait \Psr\Log\LoggerAwareTrait declared at ../../vendor/psr/log/Psr/Log/LoggerAwareTrait.php:8 which is also declared at vendor/psr/log/Psr/Log/LoggerAwareTrait.php:8. This may lead to confusing errors.
# lib/includes/Formatters/DispatchingEntityIdHtmlLinkFormatter.php:15 PhanRedefinedInheritedInterface \Wikibase\Lib\Formatters\DispatchingEntityIdHtmlLinkFormatter inherits Interface \Wikibase\DataModel\Services\EntityId\EntityIdFormatter declared at ../../vendor/wikibase/data-model-services/src/EntityId/EntityIdFormatter.php:14 which is also declared at vendor/wikibase/data-model-services/src/EntityId/EntityIdFormatter.php:14. This may lead to confusing errors.
# lib/includes/Formatters/DispatchingValueFormatter.php:21 PhanRedefinedInheritedInterface \Wikibase\Lib\Formatters\DispatchingValueFormatter inherits Interface \ValueFormatters\ValueFormatter declared at ../../vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14 which is also declared at vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14. This may lead to confusing errors.
# lib/includes/Formatters/EntityIdSiteLinkFormatter.php:20 PhanRedefinedInheritedInterface \Wikibase\Lib\Formatters\EntityIdSiteLinkFormatter inherits Interface \Wikibase\DataModel\Services\EntityId\EntityIdFormatter declared at ../../vendor/wikibase/data-model-services/src/EntityId/EntityIdFormatter.php:14 which is also declared at vendor/wikibase/data-model-services/src/EntityId/EntityIdFormatter.php:14. This may lead to confusing errors.
# lib/includes/Formatters/EntityIdTitleFormatter.php:15 PhanRedefinedInheritedInterface \Wikibase\Lib\EntityIdTitleFormatter inherits Interface \Wikibase\DataModel\Services\EntityId\EntityIdFormatter declared at ../../vendor/wikibase/data-model-services/src/EntityId/EntityIdFormatter.php:14 which is also declared at vendor/wikibase/data-model-services/src/EntityId/EntityIdFormatter.php:14. This may lead to confusing errors.
# lib/includes/Formatters/EntityIdValueFormatter.php:17 PhanRedefinedInheritedInterface \Wikibase\Lib\EntityIdValueFormatter inherits Interface \ValueFormatters\ValueFormatter declared at ../../vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14 which is also declared at vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14. This may lead to confusing errors.
# lib/includes/Formatters/EscapingValueFormatter.php:15 PhanRedefinedInheritedInterface \Wikibase\Lib\EscapingValueFormatter inherits Interface \ValueFormatters\ValueFormatter declared at ../../vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14 which is also declared at vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14. This may lead to confusing errors.
# lib/includes/Formatters/GlobeCoordinateDetailsFormatter.php:21 PhanRedefinedExtendedClass \Wikibase\Lib\GlobeCoordinateDetailsFormatter extends abstract Class \ValueFormatters\ValueFormatterBase declared at ../../vendor/data-values/interfaces/src/ValueFormatters/ValueFormatterBase.php:13 which is also declared at vendor/data-values/interfaces/src/ValueFormatters/ValueFormatterBase.php:13. This may lead to confusing errors.
# lib/includes/Formatters/GlobeCoordinateInlineWikitextKartographerFormatter.php:14 PhanRedefinedInheritedInterface \Wikibase\Lib\Formatters\GlobeCoordinateInlineWikitextKartographerFormatter inherits Interface \ValueFormatters\ValueFormatter declared at ../../vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14 which is also declared at vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14. This may lead to confusing errors.
# lib/includes/Formatters/GlobeCoordinateKartographerFormatter.php:19 PhanRedefinedExtendedClass \Wikibase\Lib\GlobeCoordinateKartographerFormatter extends abstract Class \ValueFormatters\ValueFormatterBase declared at ../../vendor/data-values/interfaces/src/ValueFormatters/ValueFormatterBase.php:13 which is also declared at vendor/data-values/interfaces/src/ValueFormatters/ValueFormatterBase.php:13. This may lead to confusing errors.
# lib/includes/Formatters/HtmlTimeFormatter.php:25 PhanRedefinedExtendedClass \Wikibase\Lib\HtmlTimeFormatter extends abstract Class \ValueFormatters\ValueFormatterBase declared at ../../vendor/data-values/interfaces/src/ValueFormatters/ValueFormatterBase.php:13 which is also declared at vendor/data-values/interfaces/src/ValueFormatters/ValueFormatterBase.php:13. This may lead to confusing errors.
# lib/includes/Formatters/HtmlUrlFormatter.php:17 PhanRedefinedInheritedInterface \Wikibase\Lib\HtmlUrlFormatter inherits Interface \ValueFormatters\ValueFormatter declared at ../../vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14 which is also declared at vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14. This may lead to confusing errors.
# lib/includes/Formatters/InterWikiLinkHtmlFormatter.php:16 PhanRedefinedInheritedInterface \Wikibase\Lib\Formatters\InterWikiLinkHtmlFormatter inherits Interface \ValueFormatters\ValueFormatter declared at ../../vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14 which is also declared at vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14. This may lead to confusing errors.
# lib/includes/Formatters/InterWikiLinkWikitextFormatter.php:15 PhanRedefinedInheritedInterface \Wikibase\Lib\Formatters\InterWikiLinkWikitextFormatter inherits Interface \ValueFormatters\ValueFormatter declared at ../../vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14 which is also declared at vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14. This may lead to confusing errors.
# lib/includes/Formatters/ItemPropertyIdHtmlLinkFormatter.php:22 PhanRedefinedExtendedClass \Wikibase\Lib\Formatters\ItemPropertyIdHtmlLinkFormatter extends Class \Wikibase\DataModel\Services\EntityId\EntityIdLabelFormatter declared at ../../vendor/wikibase/data-model-services/src/EntityId/EntityIdLabelFormatter.php:18 which is also declared at vendor/wikibase/data-model-services/src/EntityId/EntityIdLabelFormatter.php:18. This may lead to confusing errors.
# lib/includes/Formatters/LabelsProviderEntityIdHtmlLinkFormatter.php:21 PhanRedefinedExtendedClass \Wikibase\Lib\LabelsProviderEntityIdHtmlLinkFormatter extends Class \Wikibase\DataModel\Services\EntityId\EntityIdLabelFormatter declared at ../../vendor/wikibase/data-model-services/src/EntityId/EntityIdLabelFormatter.php:18 which is also declared at vendor/wikibase/data-model-services/src/EntityId/EntityIdLabelFormatter.php:18. This may lead to confusing errors.
# lib/includes/Formatters/MediaWikiNumberLocalizer.php:15 PhanRedefinedInheritedInterface \Wikibase\Lib\MediaWikiNumberLocalizer inherits Interface \ValueFormatters\NumberLocalizer declared at ../../vendor/data-values/number/src/ValueFormatters/NumberLocalizer.php:19 which is also declared at vendor/data-values/number/src/ValueFormatters/NumberLocalizer.php:19. This may lead to confusing errors.
# lib/includes/Formatters/MonolingualHtmlFormatter.php:14 PhanRedefinedInheritedInterface \Wikibase\Formatters\MonolingualHtmlFormatter inherits Interface \ValueFormatters\ValueFormatter declared at ../../vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14 which is also declared at vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14. This may lead to confusing errors.
# lib/includes/Formatters/MonolingualTextFormatter.php:13 PhanRedefinedInheritedInterface \Wikibase\Formatters\MonolingualTextFormatter inherits Interface \ValueFormatters\ValueFormatter declared at ../../vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14 which is also declared at vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14. This may lead to confusing errors.
# lib/includes/Formatters/MonolingualWikitextFormatter.php:13 PhanRedefinedInheritedInterface \Wikibase\Lib\Formatters\MonolingualWikitextFormatter inherits Interface \ValueFormatters\ValueFormatter declared at ../../vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14 which is also declared at vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14. This may lead to confusing errors.
# lib/includes/Formatters/MwTimeIsoFormatter.php:20 PhanRedefinedExtendedClass \Wikibase\Lib\MwTimeIsoFormatter extends abstract Class \ValueFormatters\ValueFormatterBase declared at ../../vendor/data-values/interfaces/src/ValueFormatters/ValueFormatterBase.php:13 which is also declared at vendor/data-values/interfaces/src/ValueFormatters/ValueFormatterBase.php:13. This may lead to confusing errors.
# lib/includes/Formatters/NonExistingEntityIdHtmlFormatter.php:14 PhanRedefinedInheritedInterface \Wikibase\Lib\NonExistingEntityIdHtmlFormatter inherits Interface \Wikibase\DataModel\Services\EntityId\EntityIdFormatter declared at ../../vendor/wikibase/data-model-services/src/EntityId/EntityIdFormatter.php:14 which is also declared at vendor/wikibase/data-model-services/src/EntityId/EntityIdFormatter.php:14. This may lead to confusing errors.
# lib/includes/Formatters/QuantityDetailsFormatter.php:25 PhanRedefinedExtendedClass \Wikibase\Lib\QuantityDetailsFormatter extends abstract Class \ValueFormatters\ValueFormatterBase declared at ../../vendor/data-values/interfaces/src/ValueFormatters/ValueFormatterBase.php:13 which is also declared at vendor/data-values/interfaces/src/ValueFormatters/ValueFormatterBase.php:13. This may lead to confusing errors.
# lib/includes/Formatters/TimeDetailsFormatter.php:21 PhanRedefinedExtendedClass \Wikibase\Lib\TimeDetailsFormatter extends abstract Class \ValueFormatters\ValueFormatterBase declared at ../../vendor/data-values/interfaces/src/ValueFormatters/ValueFormatterBase.php:13 which is also declared at vendor/data-values/interfaces/src/ValueFormatters/ValueFormatterBase.php:13. This may lead to confusing errors.
# lib/includes/Formatters/UnDeserializableValueFormatter.php:18 PhanRedefinedExtendedClass \Wikibase\Lib\UnDeserializableValueFormatter extends abstract Class \ValueFormatters\ValueFormatterBase declared at ../../vendor/data-values/interfaces/src/ValueFormatters/ValueFormatterBase.php:13 which is also declared at vendor/data-values/interfaces/src/ValueFormatters/ValueFormatterBase.php:13. This may lead to confusing errors.
# lib/includes/Formatters/UnknownTypeEntityIdHtmlLinkFormatter.php:16 PhanRedefinedInheritedInterface \Wikibase\Lib\UnknownTypeEntityIdHtmlLinkFormatter inherits Interface \Wikibase\DataModel\Services\EntityId\EntityIdFormatter declared at ../../vendor/wikibase/data-model-services/src/EntityId/EntityIdFormatter.php:14 which is also declared at vendor/wikibase/data-model-services/src/EntityId/EntityIdFormatter.php:14. This may lead to confusing errors.
# lib/includes/Formatters/UnmappedEntityIdValueFormatter.php:6 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace UnmappedEntityIdValue (\Wikibase\Lib\DataValue\UnmappedEntityIdValue)
# lib/includes/Formatters/UnmappedEntityIdValueFormatter.php:11 PhanRedefinedInheritedInterface \Wikibase\Lib\Formatters\UnmappedEntityIdValueFormatter inherits Interface \ValueFormatters\ValueFormatter declared at ../../vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14 which is also declared at vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14. This may lead to confusing errors.
# lib/includes/Formatters/VocabularyUriFormatter.php:18 PhanRedefinedInheritedInterface \Wikibase\Lib\VocabularyUriFormatter inherits Interface \ValueFormatters\ValueFormatter declared at ../../vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14 which is also declared at vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14. This may lead to confusing errors.
# lib/includes/PropertyInfoDataTypeLookup.php:18 PhanRedefinedInheritedInterface \Wikibase\Lib\PropertyInfoDataTypeLookup inherits Interface \Wikibase\DataModel\Services\Lookup\PropertyDataTypeLookup declared at ../../vendor/wikibase/data-model-services/src/Lookup/PropertyDataTypeLookup.php:13 which is also declared at vendor/wikibase/data-model-services/src/Lookup/PropertyDataTypeLookup.php:13. This may lead to confusing errors.
# lib/includes/RepositoryDefinitions.php:200 PhanCommentParamWithoutRealParam Saw an @param annotation for entityTypeDefinitions, but it was not found in the param list of function buildEntityTypeMappings(array $repositoryDefinitions)
# lib/includes/SimpleCacheWithBagOStuff.php:13 PhanRedefinedInheritedInterface \Wikibase\Lib\SimpleCacheWithBagOStuff inherits Interface \Psr\SimpleCache\CacheInterface declared at ../../vendor/psr/simple-cache/src/CacheInterface.php:5 which is also declared at vendor/psr/simple-cache/src/CacheInterface.php:5. This may lead to confusing errors.
# lib/includes/SimpleCacheWithBagOStuff.php:13 PhanRedefinedUsedTrait \Wikibase\Lib\SimpleCacheWithBagOStuff uses Trait \Psr\Log\LoggerAwareTrait declared at ../../vendor/psr/log/Psr/Log/LoggerAwareTrait.php:8 which is also declared at vendor/psr/log/Psr/Log/LoggerAwareTrait.php:8. This may lead to confusing errors.
# lib/includes/SimpleCacheWithBagOStuff.php:65 PhanTypeInvalidThrowsIsInterface @throws annotation of get has suspicious interface type \Psr\SimpleCache\InvalidArgumentException for an @throws annotation, expected class (PHP allows interfaces to be caught, so this might be intentional) (Did you mean class \InvalidArgumentException)
# lib/includes/SimpleCacheWithBagOStuff.php:90 PhanTypeInvalidThrowsIsInterface @throws annotation of set has suspicious interface type \Psr\SimpleCache\InvalidArgumentException for an @throws annotation, expected class (PHP allows interfaces to be caught, so this might be intentional) (Did you mean class \InvalidArgumentException)
# lib/includes/SimpleCacheWithBagOStuff.php:109 PhanTypeInvalidThrowsIsInterface @throws annotation of delete has suspicious interface type \Psr\SimpleCache\InvalidArgumentException for an @throws annotation, expected class (PHP allows interfaces to be caught, so this might be intentional) (Did you mean class \InvalidArgumentException)
# lib/includes/SimpleCacheWithBagOStuff.php:137 PhanTypeInvalidThrowsIsInterface @throws annotation of getMultiple has suspicious interface type \Psr\SimpleCache\InvalidArgumentException for an @throws annotation, expected class (PHP allows interfaces to be caught, so this might be intentional) (Did you mean class \InvalidArgumentException)
# lib/includes/SimpleCacheWithBagOStuff.php:179 PhanTypeInvalidThrowsIsInterface @throws annotation of setMultiple has suspicious interface type \Psr\SimpleCache\InvalidArgumentException for an @throws annotation, expected class (PHP allows interfaces to be caught, so this might be intentional) (Did you mean class \InvalidArgumentException)
# lib/includes/SimpleCacheWithBagOStuff.php:202 PhanTypeInvalidThrowsIsInterface @throws annotation of deleteMultiple has suspicious interface type \Psr\SimpleCache\InvalidArgumentException for an @throws annotation, expected class (PHP allows interfaces to be caught, so this might be intentional) (Did you mean class \InvalidArgumentException)
# lib/includes/SimpleCacheWithBagOStuff.php:227 PhanTypeInvalidThrowsIsInterface @throws annotation of has has suspicious interface type \Psr\SimpleCache\InvalidArgumentException for an @throws annotation, expected class (PHP allows interfaces to be caught, so this might be intentional) (Did you mean class \InvalidArgumentException)
# lib/includes/SimpleCacheWithBagOStuff.php:246 PhanTypeInvalidThrowsIsInterface @throws annotation of assertKeyIsValid has suspicious interface type \Psr\SimpleCache\InvalidArgumentException for an @throws annotation, expected class (PHP allows interfaces to be caught, so this might be intentional) (Did you mean class \InvalidArgumentException)
# lib/includes/SimpleCacheWithBagOStuff.php:266 PhanRedefinedInheritedInterface \Wikibase\Lib\anonymous_class_ef8e487e inherits Interface \Psr\SimpleCache\InvalidArgumentException declared at ../../vendor/psr/simple-cache/src/InvalidArgumentException.php:11 which is also declared at vendor/psr/simple-cache/src/InvalidArgumentException.php:11. This may lead to confusing errors.
# lib/includes/SimpleCacheWithBagOStuff.php:276 PhanTypeInvalidThrowsIsInterface @throws annotation of toArray has suspicious interface type \Psr\SimpleCache\InvalidArgumentException for an @throws annotation, expected class (PHP allows interfaces to be caught, so this might be intentional) (Did you mean class \InvalidArgumentException)
# lib/includes/SimpleCacheWithBagOStuff.php:299 PhanTypeInvalidThrowsIsInterface @throws annotation of toAssociativeArray has suspicious interface type \Psr\SimpleCache\InvalidArgumentException for an @throws annotation, expected class (PHP allows interfaces to be caught, so this might be intentional) (Did you mean class \InvalidArgumentException)
# lib/includes/SimpleCacheWithBagOStuff.php:330 PhanTypeInvalidThrowsIsInterface @throws annotation of normalizeTtl has suspicious interface type \Psr\SimpleCache\InvalidArgumentException for an @throws annotation, expected class (PHP allows interfaces to be caught, so this might be intentional) (Did you mean class \InvalidArgumentException)
# lib/includes/StatsdMissRecordingSimpleCache.php:18 PhanRedefinedInheritedInterface \Wikibase\Lib\StatsdMissRecordingSimpleCache inherits Interface \Psr\SimpleCache\CacheInterface declared at ../../vendor/psr/simple-cache/src/CacheInterface.php:5 which is also declared at vendor/psr/simple-cache/src/CacheInterface.php:5. This may lead to confusing errors.
# lib/includes/Store/CachingFallbackLabelDescriptionLookup.php:24 PhanRedefinedInheritedInterface \Wikibase\Lib\Store\CachingFallbackLabelDescriptionLookup inherits Interface \Wikibase\DataModel\Services\Lookup\LabelDescriptionLookup declared at ../../vendor/wikibase/data-model-services/src/Lookup/LabelDescriptionLookup.php:15 which is also declared at vendor/wikibase/data-model-services/src/Lookup/LabelDescriptionLookup.php:15. This may lead to confusing errors.
# lib/includes/Store/CachingFallbackLabelDescriptionLookup.php:199 PhanUnextractableAnnotation Saw unextractable annotation for comment '* @return [int, EntityId]|null Returns a tuple containing revision ID and target entity ID.'
# lib/includes/Store/DispatchingEntityPrefetcher.php:17 PhanRedefinedInheritedInterface \Wikibase\Lib\Store\DispatchingEntityPrefetcher inherits Interface \Wikibase\DataModel\Services\Entity\EntityPrefetcher declared at ../../vendor/wikibase/data-model-services/src/Entity/EntityPrefetcher.php:16 which is also declared at vendor/wikibase/data-model-services/src/Entity/EntityPrefetcher.php:16. This may lead to confusing errors.
# lib/includes/Store/Elastic/TermLookupSearcher.php:37 PhanUndeclaredStaticMethod Static call to undeclared method \CirrusSearch\ElasticsearchIntermediary::__construct
# lib/includes/Store/Elastic/TermLookupSearcher.php:49 PhanUndeclaredTypeReturnType Return type of newLog() is undeclared type \CirrusSearch\RequestLog
# lib/includes/Store/EntityInfoTermLookup.php:20 PhanRedefinedInheritedInterface \Wikibase\Lib\Store\EntityInfoTermLookup inherits Interface \Wikibase\DataModel\Services\Lookup\TermLookup declared at ../../vendor/wikibase/data-model-services/src/Lookup/TermLookup.php:17 which is also declared at vendor/wikibase/data-model-services/src/Lookup/TermLookup.php:17. This may lead to confusing errors.
# lib/includes/Store/EntityTermLookupBase.php:16 PhanRedefinedInheritedInterface \Wikibase\Lib\Store\EntityTermLookupBase inherits Interface \Wikibase\DataModel\Services\Lookup\TermLookup declared at ../../vendor/wikibase/data-model-services/src/Lookup/TermLookup.php:17 which is also declared at vendor/wikibase/data-model-services/src/Lookup/TermLookup.php:17. This may lead to confusing errors.
# lib/includes/Store/HashSiteLinkStore.php:71 PhanTypeNoAccessiblePropertiesForeach Class \Wikibase\DataModel\SiteLink was passed to foreach, but it does not extend Traversable and none of its declared properties are accessible from this context. (This check excludes dynamic properties)
# lib/includes/Store/HttpUrlPropertyOrderProvider.php:33 PhanCommentParamOutOfOrder Expected @param annotation for http to be before the @param annotation for logger
# lib/includes/Store/HttpUrlPropertyOrderProvider.php:33 PhanTypeMismatchDeclaredParam Doc-block of $logger in __construct contains phpdoc param type \Http which is incompatible with the param type \Psr\Log\LoggerInterface declared in the signature
# lib/includes/Store/HttpUrlPropertyOrderProvider.php:34 PhanTypeMismatchDeclaredParam Doc-block of $http in __construct contains phpdoc param type \Psr\Log\LoggerInterface which is incompatible with the param type \Http declared in the signature
# lib/includes/Store/LanguageFallbackLabelDescriptionLookup.php:18 PhanRedefinedInheritedInterface \Wikibase\Lib\Store\LanguageFallbackLabelDescriptionLookup inherits Interface \Wikibase\DataModel\Services\Lookup\LabelDescriptionLookup declared at ../../vendor/wikibase/data-model-services/src/Lookup/LabelDescriptionLookup.php:15 which is also declared at vendor/wikibase/data-model-services/src/Lookup/LabelDescriptionLookup.php:15. This may lead to confusing errors.
# lib/includes/Store/PrefetchingTermLookup.php:12 PhanRedefinedInheritedInterface \Wikibase\Lib\Store\PrefetchingTermLookup inherits Interface \Wikibase\DataModel\Services\Lookup\TermLookup declared at ../../vendor/wikibase/data-model-services/src/Lookup/TermLookup.php:17 which is also declared at vendor/wikibase/data-model-services/src/Lookup/TermLookup.php:17. This may lead to confusing errors.
# lib/includes/Store/PrefetchingTermLookup.php:12 PhanRedefinedInheritedInterface \Wikibase\Lib\Store\PrefetchingTermLookup inherits Interface \Wikibase\DataModel\Services\Term\TermBuffer declared at ../../vendor/wikibase/data-model-services/src/Term/TermBuffer.php:15 which is also declared at vendor/wikibase/data-model-services/src/Term/TermBuffer.php:15. This may lead to confusing errors.
# lib/includes/Store/RevisionBasedEntityLookup.php:18 PhanRedefinedInheritedInterface \Wikibase\Lib\Store\RevisionBasedEntityLookup inherits Interface \Wikibase\DataModel\Services\Lookup\EntityLookup declared at ../../vendor/wikibase/data-model-services/src/Lookup/EntityLookup.php:17 which is also declared at vendor/wikibase/data-model-services/src/Lookup/EntityLookup.php:17. This may lead to confusing errors.
# lib/includes/Store/RevisionedUnresolvedRedirectException.php:15 PhanRedefinedExtendedClass \Wikibase\Lib\Store\RevisionedUnresolvedRedirectException extends Class \Wikibase\DataModel\Services\Lookup\UnresolvedEntityRedirectException declared at ../../vendor/wikibase/data-model-services/src/Lookup/UnresolvedEntityRedirectException.php:17 which is also declared at vendor/wikibase/data-model-services/src/Lookup/UnresolvedEntityRedirectException.php:17. This may lead to confusing errors.
# lib/includes/Store/Sql/PageTableEntityQueryBase.php:71 PhanTypeMismatchDeclaredParam Doc-block of $entityIds in getQueryInfo contains phpdoc param type \Wikibase\DataModel\Entity\EntityId which is incompatible with the param type array declared in the signature
# lib/includes/Store/Sql/PrefetchingWikiPageEntityMetaDataAccessor.php:22 PhanRedefinedInheritedInterface \Wikibase\Lib\Store\Sql\PrefetchingWikiPageEntityMetaDataAccessor inherits Interface \Wikibase\DataModel\Services\Entity\EntityPrefetcher declared at ../../vendor/wikibase/data-model-services/src/Entity/EntityPrefetcher.php:16 which is also declared at vendor/wikibase/data-model-services/src/Entity/EntityPrefetcher.php:16. This may lead to confusing errors.
# lib/includes/Store/Sql/WikiPageEntityRevisionLookup.php:17 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace EntityRedirect (\Wikibase\DataModel\Entity\EntityRedirect)
# lib/includes/Store/TermPropertyLabelResolver.php:20 PhanRedefinedInheritedInterface \Wikibase\Lib\Store\TermPropertyLabelResolver inherits Interface \Wikibase\DataModel\Services\Term\PropertyLabelResolver declared at ../../vendor/wikibase/data-model-services/src/Term/PropertyLabelResolver.php:15 which is also declared at vendor/wikibase/data-model-services/src/Term/PropertyLabelResolver.php:15. This may lead to confusing errors.
# lib/includes/Units/CSVUnitStorage.php:43 PhanTypeArraySuspiciousNullable Suspicious array access to nullable ?array|null
# repo/WikibaseRepo.entitytypes.php:94 PhanDeprecatedInterface Using a deprecated interface \Wikibase\DataModel\Statement\StatementListHolder defined at ../../vendor/wikibase/data-model/src/Statement/StatementListHolder.php:15
# repo/config/Wikibase.searchindex.php:6 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace Statement (\Wikibase\DataModel\Statement\Statement)
# repo/config/Wikibase.searchindex.php:26 PhanUndeclaredVariableDim Variable $wgHooks was undeclared, but array fields are being added to it.
# repo/includes/Api/CreateClaim.php:7 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace ChangeOpMainSnak (\Wikibase\Repo\ChangeOp\ChangeOpMainSnak)
# repo/includes/Api/EditEntity.php:223 PhanTypeMismatchDeclaredParam Doc-block of $entity in modifyEntity contains phpdoc param type \Wikibase\DataModel\Entity\Clearable which is incompatible with the param type \Wikibase\DataModel\Entity\EntityDocument declared in the signature
# repo/includes/Api/EntityByTitleHelper.php:71 PhanUnextractableAnnotationSuffix Saw a token Phan may have failed to parse after '* @return array( EntityId[], array[] )': after array, saw '('
# repo/includes/Api/EntityIdSearchHelper.php:186 PhanTypeInvalidExpressionArrayDestructuring Invalid value of type string in an array destructuring assignment, expected array|ArrayAccess
# repo/includes/Api/GetClaims.php:8 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace EntityId (\Wikibase\DataModel\Entity\EntityId)
# repo/includes/Api/GetClaimsStatementFilter.php:19 PhanRedefinedInheritedInterface \Wikibase\Repo\Api\GetClaimsStatementFilter inherits Interface \Wikibase\DataModel\Statement\StatementFilter declared at ../../vendor/wikibase/data-model/src/Statement/StatementFilter.php:11 which is also declared at vendor/wikibase/data-model/src/Statement/StatementFilter.php:11. This may lead to confusing errors.
# repo/includes/Api/LinkTitles.php:7 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace Site (\Site)
# repo/includes/Api/LinkTitles.php:133 PhanDeprecatedInterface Using a deprecated interface \Wikibase\DataModel\Statement\StatementListHolder defined at ../../vendor/wikibase/data-model/src/Statement/StatementListHolder.php:15
# repo/includes/Api/LinkTitles.php:179 PhanUnextractableAnnotationSuffix Saw a token Phan may have failed to parse after '* @return array( Site $site, string $pageName )': after array, saw '('
# repo/includes/Api/RemoveClaims.php:13 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace Statement (\Wikibase\DataModel\Statement\Statement)
# repo/includes/Api/SearchEntities.php:134 PhanTypeMismatchDeclaredParamNullable Doc-block of $props in buildTermSearchMatchEntry is phpdoc param type string[] which is not a permitted replacement of the nullable param type ?array declared in the signature ('?T' should be documented as 'T|null' or '?T')
# repo/includes/Api/SetReference.php:13 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace SnakList (\Wikibase\DataModel\Snak\SnakList)
# repo/includes/ChangeDispatcher.php:280 PhanUnextractableAnnotationSuffix Saw a token Phan may have failed to parse after '* @return array( Change[] $batch, int $seen ), where $batch is a list of Change objects, and': after array, saw '('
# repo/includes/ChangeDispatcher.php:379 PhanUnextractableAnnotationSuffix Saw a token Phan may have failed to parse after '* @return array( Change[] $batch, int $seen ), where $batch is the filtered list of Change': after array, saw '('
# repo/includes/Content/DataUpdateAdapter.php:40 PhanUnextractableAnnotationElementName Saw possibly unextractable annotation for a fragment of comment '* @param mixed [$args,...]': after mixed, did not see an element name (will guess based on comment order)
# repo/includes/Content/EntityContent.php:37 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace EntityHandler (\Wikibase\Repo\Content\EntityHandler)
# repo/includes/Content/EntityContentDiff.php:14 PhanRedefinedExtendedClass \Wikibase\Repo\Content\EntityContentDiff extends Class \Diff\DiffOp\Diff\Diff declared at ../../vendor/diff/diff/src/DiffOp/Diff/Diff.php:23 which is also declared at vendor/diff/diff/src/DiffOp/Diff/Diff.php:23. This may lead to confusing errors.
# repo/includes/Content/EntityHandler.php:255 PhanTypeMismatchDeclaredParamNullable Doc-block of $oldContent in getAutosummary is phpdoc param type \Content which is not a permitted replacement of the nullable param type ?\Content declared in the signature ('?T' should be documented as 'T|null' or '?T')
# repo/includes/Content/EntityHandler.php:256 PhanTypeMismatchDeclaredParamNullable Doc-block of $newContent in getAutosummary is phpdoc param type \Content which is not a permitted replacement of the nullable param type ?\Content declared in the signature ('?T' should be documented as 'T|null' or '?T')
# repo/includes/Content/ItemHandler.php:206 PhanDeprecatedInterface Using a deprecated interface \Wikibase\DataModel\Statement\StatementListHolder defined at ../../vendor/wikibase/data-model/src/Statement/StatementListHolder.php:15
# repo/includes/Diff/BasicDiffView.php:7 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace DiffOpAdd (\Diff\DiffOp\DiffOpAdd)
# repo/includes/Diff/BasicDiffView.php:8 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace DiffOpChange (\Diff\DiffOp\DiffOpChange)
# repo/includes/Diff/BasicDiffView.php:9 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace DiffOpRemove (\Diff\DiffOp\DiffOpRemove)
# repo/includes/Diff/BasicDiffView.php:80 PhanTypeNoPropertiesForeach Class \Diff\DiffOp\DiffOp was passed to foreach, but it does not extend Traversable and doesn't have any declared properties. (This check excludes dynamic properties)
# repo/includes/Diff/ClaimDifference.php:17 PhanRedefinedInheritedInterface \Wikibase\Repo\Diff\ClaimDifference inherits Interface \Comparable declared at ../../vendor/data-values/data-values/src/interfaces/Comparable.php:11 which is also declared at vendor/data-values/data-values/src/interfaces/Comparable.php:11. This may lead to confusing errors.
# repo/includes/Diff/ItemDiffView.php:7 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace DiffOpAdd (\Diff\DiffOp\DiffOpAdd)
# repo/includes/Diff/ItemDiffView.php:8 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace DiffOpChange (\Diff\DiffOp\DiffOpChange)
# repo/includes/Diff/ItemDiffView.php:9 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace DiffOpRemove (\Diff\DiffOp\DiffOpRemove)
# repo/includes/Diff/ItemDiffView.php:129 PhanTypeNoPropertiesForeach Class \Diff\DiffOp\DiffOp was passed to foreach, but it does not extend Traversable and doesn't have any declared properties. (This check excludes dynamic properties)
# repo/includes/DispatchingEntityTypeStatementGrouper.php:17 PhanRedefinedInheritedInterface \Wikibase\Repo\DispatchingEntityTypeStatementGrouper inherits Interface \Wikibase\DataModel\Services\Statement\Grouper\StatementGrouper declared at ../../vendor/wikibase/data-model-services/src/Statement/Grouper/StatementGrouper.php:13 which is also declared at vendor/wikibase/data-model-services/src/Statement/Grouper/StatementGrouper.php:13. This may lead to confusing errors.
# repo/includes/Dumpers/RdfDumpGenerator.php:236 PhanTypeMismatchDeclaredParamNullable Doc-block of $labeler in createDumpGenerator is phpdoc param type \Wikimedia\Purtle\BNodeLabeler which is not a permitted replacement of the nullable param type ?\Wikimedia\Purtle\BNodeLabeler declared in the signature ('?T' should be documented as 'T|null' or '?T')
# repo/includes/EntityReferenceExtractors/StatementEntityReferenceExtractor.php:39 PhanTypeMismatchDeclaredParam Doc-block of $entity in extractEntityIds contains phpdoc param type \Wikibase\DataModel\Statement\StatementListProvider which is incompatible with the param type \Wikibase\DataModel\Entity\EntityDocument declared in the signature
# repo/includes/GenericEventDispatcher.php:81 PhanUnextractableAnnotationElementName Saw possibly unextractable annotation for a fragment of comment '* @param mixed [$arg,...] Any extra parameters are passed to the watcher method.': after mixed, did not see an element name (will guess based on comment order)
# repo/includes/IO/EntityIdReader.php:18 PhanRedefinedInheritedInterface \Wikibase\Repo\IO\EntityIdReader inherits Interface \Wikibase\DataModel\Services\EntityId\EntityIdPager declared at ../../vendor/wikibase/data-model-services/src/EntityId/EntityIdPager.php:15 which is also declared at vendor/wikibase/data-model-services/src/EntityId/EntityIdPager.php:15. This may lead to confusing errors.
# repo/includes/LinkedData/EntityDataRequestHandler.php:17 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace EntityRevision (\Wikibase\Lib\Store\EntityRevision)
# repo/includes/Localizer/MessageParameterFormatter.php:23 PhanRedefinedInheritedInterface \Wikibase\Repo\Localizer\MessageParameterFormatter inherits Interface \ValueFormatters\ValueFormatter declared at ../../vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14 which is also declared at vendor/data-values/interfaces/src/ValueFormatters/ValueFormatter.php:14. This may lead to confusing errors.
# repo/includes/Merge/StatementsMerger.php:6 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace Reference (\Wikibase\DataModel\Reference)
# repo/includes/ParserOutput/EntityParserOutputGeneratorFactory.php:116 PhanCommentParamOutOfOrder Expected @param annotation for kartographerEmbeddingHandler to be before the @param annotation for stats
# repo/includes/Parsers/DateFormatParser.php:20 PhanRedefinedExtendedClass \Wikibase\Repo\Parsers\DateFormatParser extends abstract Class \ValueParsers\StringValueParser declared at ../../vendor/data-values/common/src/ValueParsers/StringValueParser.php:16 which is also declared at vendor/data-values/common/src/ValueParsers/StringValueParser.php:16. This may lead to confusing errors.
# repo/includes/Parsers/EntityIdValueParser.php:18 PhanRedefinedExtendedClass \Wikibase\Repo\Parsers\EntityIdValueParser extends abstract Class \ValueParsers\StringValueParser declared at ../../vendor/data-values/common/src/ValueParsers/StringValueParser.php:16 which is also declared at vendor/data-values/common/src/ValueParsers/StringValueParser.php:16. This may lead to confusing errors.
# repo/includes/Parsers/MediaWikiMonthNameProvider.php:14 PhanRedefinedInheritedInterface \Wikibase\Repo\Parsers\MediaWikiMonthNameProvider inherits Interface \ValueParsers\MonthNameProvider declared at ../../vendor/data-values/time/src/ValueParsers/MonthNameProvider.php:14 which is also declared at vendor/data-values/time/src/ValueParsers/MonthNameProvider.php:14. This may lead to confusing errors.
# repo/includes/Parsers/MediaWikiNumberUnlocalizer.php:12 PhanRedefinedExtendedClass \Wikibase\Repo\Parsers\MediaWikiNumberUnlocalizer extends Class \ValueParsers\BasicNumberUnlocalizer declared at ../../vendor/data-values/number/src/ValueParsers/BasicNumberUnlocalizer.php:13 which is also declared at vendor/data-values/number/src/ValueParsers/BasicNumberUnlocalizer.php:13. This may lead to confusing errors.
# repo/includes/Parsers/MonolingualTextParser.php:17 PhanRedefinedExtendedClass \Wikibase\Repo\Parsers\MonolingualTextParser extends abstract Class \ValueParsers\StringValueParser declared at ../../vendor/data-values/common/src/ValueParsers/StringValueParser.php:16 which is also declared at vendor/data-values/common/src/ValueParsers/StringValueParser.php:16. This may lead to confusing errors.
# repo/includes/Parsers/MwTimeIsoParser.php:25 PhanRedefinedExtendedClass \Wikibase\Repo\Parsers\MwTimeIsoParser extends abstract Class \ValueParsers\StringValueParser declared at ../../vendor/data-values/common/src/ValueParsers/StringValueParser.php:16 which is also declared at vendor/data-values/common/src/ValueParsers/StringValueParser.php:16. This may lead to confusing errors.
# repo/includes/Parsers/WikibaseStringValueNormalizer.php:15 PhanRedefinedInheritedInterface \Wikibase\Repo\Parsers\WikibaseStringValueNormalizer inherits Interface \ValueParsers\Normalizers\StringNormalizer declared at ../../vendor/data-values/common/src/ValueParsers/Normalizers/StringNormalizer.php:15 which is also declared at vendor/data-values/common/src/ValueParsers/Normalizers/StringNormalizer.php:15. This may lead to confusing errors.
# repo/includes/PidLock.php:47 PhanParamSuspiciousOrder Argument #2 of this call to \strpos is typically a literal or constant but isn't, but argument #1 (which is typically a variable) is a literal or constant. The arguments may be in the wrong order.
# repo/includes/PropertyDataTypeChanger.php:7 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace Property (\Wikibase\DataModel\Entity\Property)
# repo/includes/Rdf/FullStatementRdfBuilder.php:7 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace Reference (\Wikibase\DataModel\Reference)
# repo/includes/Rdf/RdfBuilder.php:375 PhanTypeMismatchDimFetch When fetching an array index from a value of type string, found an array index of type 'type', but expected the index to be of type int
# repo/includes/Rdf/RdfBuilder.php:379 PhanTypeMismatchDimFetch When fetching an array index from a value of type string, found an array index of type 'name', but expected the index to be of type int
# repo/includes/Rdf/SiteLinksRdfBuilder.php:8 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace SiteLink (\Wikibase\DataModel\SiteLink)
# repo/includes/Rdf/TermsRdfBuilder.php:7 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace AliasGroup (\Wikibase\DataModel\Term\AliasGroup)
# repo/includes/Rdf/Values/MonolingualTextRdfBuilder.php:5 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace MonolingualTextValue (\DataValues\MonolingualTextValue)
# repo/includes/Search/Elastic/ElasticTermResult.php:190 PhanUnextractableAnnotationSuffix Saw a token Phan may have failed to parse after '* @return array( string $termType, string $languageCode, string $term )': after array, saw '('
# repo/includes/Search/Elastic/EntityFullTextQueryBuilder.php:301 PhanTypeMismatchDimFetch When fetching an array index from a value of type float, found an array index of type 'slop', but expected the index to be of type int
# repo/includes/Search/Elastic/EntityFullTextQueryBuilder.php:303 PhanTypeMismatchDimFetch When fetching an array index from a value of type float, found an array index of type 'all', but expected the index to be of type int
# repo/includes/Search/Elastic/EntityFullTextQueryBuilder.php:303 PhanTypeMismatchDimFetch When fetching an array index from a value of type float, found an array index of type 'all.plain', but expected the index to be of type int
# repo/includes/Search/Elastic/EntityResult.php:74 PhanUndeclaredStaticMethod Static call to undeclared method \CirrusSearch\Search\Result::__construct
# repo/includes/Search/Elastic/EntityResultSet.php:32 PhanUndeclaredStaticMethod Static call to undeclared method \CirrusSearch\Search\ResultSet::__construct
# repo/includes/Search/Elastic/Fields/StatementQuantityField.php:11 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace Statement (\Wikibase\DataModel\Statement\Statement)
# repo/includes/Search/Elastic/Fields/StatementsField.php:15 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace Statement (\Wikibase\DataModel\Statement\Statement)
# repo/includes/Search/Elastic/Query/HasWbStatementFeature.php:115 PhanTypeMismatchDimFetch When fetching an array index from a value of type string, found an array index of type 'class', but expected the index to be of type int
# repo/includes/Search/Elastic/Query/HasWbStatementFeature.php:117 PhanTypeMismatchDimFetch When fetching an array index from a value of type string, found an array index of type 'field', but expected the index to be of type int
# repo/includes/Search/Elastic/Query/HasWbStatementFeature.php:119 PhanTypeMismatchDimFetch When fetching an array index from a value of type string, found an array index of type 'string', but expected the index to be of type int
# repo/includes/Search/Elastic/Query/HasWbStatementFeature.php:124 PhanTypeMismatchDimFetch When fetching an array index from a value of type string, found an array index of type 'class', but expected the index to be of type int
# repo/includes/Search/Elastic/Query/HasWbStatementFeature.php:126 PhanTypeMismatchDimFetch When fetching an array index from a value of type string, found an array index of type 'field', but expected the index to be of type int
# repo/includes/Search/Elastic/Query/HasWbStatementFeature.php:127 PhanTypeMismatchDimFetch When fetching an array index from a value of type string, found an array index of type 'string', but expected the index to be of type int
# repo/includes/Search/Elastic/WikibasePrefixSearcher.php:29 PhanTypeMismatchDeclaredParamNullable Doc-block of $options in __construct is phpdoc param type \CirrusSearch\CirrusDebugOptions which is not a permitted replacement of the nullable param type ?\CirrusSearch\CirrusDebugOptions declared in the signature ('?T' should be documented as 'T|null' or '?T')
# repo/includes/Search/Elastic/WikibasePrefixSearcher.php:34 PhanUndeclaredStaticMethod Static call to undeclared method \CirrusSearch\Searcher::__construct
# repo/includes/SiteLinkTargetProvider.php:5 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace Site (\Site)
# repo/includes/Specials/SpecialGoToLinkedPage.php:82 PhanUnextractableAnnotationSuffix Saw a token Phan may have failed to parse after '* @return array( string[] $sites, string $itemString )': after array, saw '('
# repo/includes/Specials/SpecialMergeItems.php:12 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace EntityRevision (\Wikibase\Lib\Store\EntityRevision)
# repo/includes/Specials/SpecialNewItem.php:11 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace Term (\Wikibase\DataModel\Term\Term)
# repo/includes/Specials/SpecialNewItem.php:98 PhanDeprecatedInterface Using a deprecated interface \Wikibase\DataModel\Statement\StatementListHolder defined at ../../vendor/wikibase/data-model/src/Statement/StatementListHolder.php:15
# repo/includes/Specials/SpecialNewProperty.php:9 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace Term (\Wikibase\DataModel\Term\Term)
# repo/includes/StatementRankSerializer.php:18 PhanRedefinedInheritedInterface \Wikibase\StatementRankSerializer inherits Interface \Deserializers\Deserializer declared at ../../vendor/serialization/serialization/src/Deserializers/Deserializer.php:13 which is also declared at vendor/serialization/serialization/src/Deserializers/Deserializer.php:13. This may lead to confusing errors.
# repo/includes/StatementRankSerializer.php:18 PhanRedefinedInheritedInterface \Wikibase\StatementRankSerializer inherits Interface \Serializers\Serializer declared at ../../vendor/serialization/serialization/src/Serializers/Serializer.php:13 which is also declared at vendor/serialization/serialization/src/Serializers/Serializer.php:13. This may lead to confusing errors.
# repo/includes/Store/Sql/SqlChangeDispatchCoordinator.php:653 PhanUndeclaredInvokeInCallable Possible attempt to access missing magic method __invoke of '\Monolog\Processor\PsrLogMessageProcessor'
# repo/includes/Store/Sql/SqlEntityIdPager.php:21 PhanRedefinedInheritedInterface \Wikibase\Repo\Store\Sql\SqlEntityIdPager inherits Interface \Wikibase\DataModel\Services\EntityId\EntityIdPager declared at ../../vendor/wikibase/data-model-services/src/EntityId/EntityIdPager.php:15 which is also declared at vendor/wikibase/data-model-services/src/EntityId/EntityIdPager.php:15. This may lead to confusing errors.
# repo/includes/Store/Sql/SqlSiteLinkConflictLookup.php:8 PhanUnreferencedUseNormal Possibly zero references to use statement for classlike/namespace SiteLink (\Wikibase\DataModel\SiteLink)
# repo/includes/Store/Sql/WikiPageEntityRedirectLookup.php:18 PhanRedefinedInheritedInterface \Wikibase\Repo\Store\Sql\WikiPageEntityRedirectLookup inherits Interface \Wikibase\DataModel\Services\Lookup\EntityRedirectLookup declared at ../../vendor/wikibase/data-model-services/src/Lookup/EntityRedirectLookup.php:15 which is also declared at vendor/wikibase/data-model-services/src/Lookup/EntityRedirectLookup.php:15. This may lead to confusing errors.
# repo/includes/Validators/AlternativeValidator.php:18 PhanRedefinedInheritedInterface \Wikibase\Repo\Validators\AlternativeValidator inherits Interface \ValueValidators\ValueValidator declared at ../../vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13 which is also declared at vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13. This may lead to confusing errors.
# repo/includes/Validators/CommonsMediaExistsValidator.php:20 PhanRedefinedInheritedInterface \Wikibase\Repo\Validators\CommonsMediaExistsValidator inherits Interface \ValueValidators\ValueValidator declared at ../../vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13 which is also declared at vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13. This may lead to confusing errors.
# repo/includes/Validators/CompositeValidator.php:16 PhanRedefinedInheritedInterface \Wikibase\Repo\Validators\CompositeValidator inherits Interface \ValueValidators\ValueValidator declared at ../../vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13 which is also declared at vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13. This may lead to confusing errors.
# repo/includes/Validators/DataFieldValidator.php:20 PhanRedefinedInheritedInterface \Wikibase\Repo\Validators\DataFieldValidator inherits Interface \ValueValidators\ValueValidator declared at ../../vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13 which is also declared at vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13. This may lead to confusing errors.
# repo/includes/Validators/DataValueValidator.php:17 PhanRedefinedInheritedInterface \Wikibase\Repo\Validators\DataValueValidator inherits Interface \ValueValidators\ValueValidator declared at ../../vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13 which is also declared at vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13. This may lead to confusing errors.
# repo/includes/Validators/EntityExistsValidator.php:19 PhanRedefinedInheritedInterface \Wikibase\Repo\Validators\EntityExistsValidator inherits Interface \ValueValidators\ValueValidator declared at ../../vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13 which is also declared at vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13. This may lead to confusing errors.
# repo/includes/Validators/ForeignEntityValidator.php:16 PhanRedefinedInheritedInterface \Wikibase\Repo\Validators\ForeignEntityValidator inherits Interface \ValueValidators\ValueValidator declared at ../../vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13 which is also declared at vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13. This may lead to confusing errors.
# repo/includes/Validators/InterWikiLinkExistsValidator.php:20 PhanRedefinedInheritedInterface \Wikibase\Repo\Validators\InterWikiLinkExistsValidator inherits Interface \ValueValidators\ValueValidator declared at ../../vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13 which is also declared at vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13. This may lead to confusing errors.
# repo/includes/Validators/MembershipValidator.php:16 PhanRedefinedInheritedInterface \Wikibase\Repo\Validators\MembershipValidator inherits Interface \ValueValidators\ValueValidator declared at ../../vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13 which is also declared at vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13. This may lead to confusing errors.
# repo/includes/Validators/NotEntityIdValidator.php:19 PhanRedefinedInheritedInterface \Wikibase\Repo\Validators\NotEntityIdValidator inherits Interface \ValueValidators\ValueValidator declared at ../../vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13 which is also declared at vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13. This may lead to confusing errors.
# repo/includes/Validators/NumberRangeValidator.php:15 PhanRedefinedInheritedInterface \Wikibase\Repo\Validators\NumberRangeValidator inherits Interface \ValueValidators\ValueValidator declared at ../../vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13 which is also declared at vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13. This may lead to confusing errors.
# repo/includes/Validators/NumberValidator.php:13 PhanRedefinedInheritedInterface \Wikibase\Repo\Validators\NumberValidator inherits Interface \ValueValidators\ValueValidator declared at ../../vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13 which is also declared at vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13. This may lead to confusing errors.
# repo/includes/Validators/RegexValidator.php:15 PhanRedefinedInheritedInterface \Wikibase\Repo\Validators\RegexValidator inherits Interface \ValueValidators\ValueValidator declared at ../../vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13 which is also declared at vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13. This may lead to confusing errors.
# repo/includes/Validators/SnakValidator.php:28 PhanRedefinedInheritedInterface \Wikibase\Repo\Validators\SnakValidator inherits Interface \ValueValidators\ValueValidator declared at ../../vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13 which is also declared at vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13. This may lead to confusing errors.
# repo/includes/Validators/StringLengthValidator.php:16 PhanRedefinedInheritedInterface \Wikibase\Repo\Validators\StringLengthValidator inherits Interface \ValueValidators\ValueValidator declared at ../../vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13 which is also declared at vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13. This may lead to confusing errors.
# repo/includes/Validators/TypeValidator.php:15 PhanRedefinedInheritedInterface \Wikibase\Repo\Validators\TypeValidator inherits Interface \ValueValidators\ValueValidator declared at ../../vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13 which is also declared at vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13. This may lead to confusing errors.
# repo/includes/Validators/UniquenessViolation.php:14 PhanRedefinedExtendedClass \Wikibase\Repo\Validators\UniquenessViolation extends Class \ValueValidators\Error declared at ../../vendor/data-values/interfaces/src/ValueValidators/Error.php:11 which is also declared at vendor/data-values/interfaces/src/ValueValidators/Error.php:11. This may lead to confusing errors.
# repo/includes/Validators/UrlValidator.php:16 PhanRedefinedInheritedInterface \Wikibase\Repo\Validators\UrlValidator inherits Interface \ValueValidators\ValueValidator declared at ../../vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13 which is also declared at vendor/data-values/interfaces/src/ValueValidators/ValueValidator.php:13. This may lead to confusing errors.
# repo/maintenance/updateUnits.php:202 PhanTypeMismatchDimFetch When fetching an array index from a value of type string, found an array index of type 'siUnit', but expected the index to be of type int
# repo/maintenance/updateUnits.php:205 PhanTypeMismatchDimFetch When fetching an array index from a value of type string, found an array index of type 'siUnit', but expected the index to be of type int
# repo/maintenance/updateUnits.php:207 PhanTypeMismatchDimFetch When fetching an array index from a value of type string, found an array index of type 'si', but expected the index to be of type int
# repo/maintenance/updateUnits.php:212 PhanTypeMismatchDimFetch When fetching an array index from a value of type string, found an array index of type 'unitLabel', but expected the index to be of type int
# view/src/FingerprintableEntityMetaTagsCreator.php:58 PhanTypeMismatchDeclaredParam Doc-block of $entity in getTitleText contains phpdoc param type \Wikibase\DataModel\Entity\EntityDocument which is incompatible with the param type \Wikibase\DataModel\Term\FingerprintProvider declared in the signature

Change 494176 had a related patch set uploaded (by Matěj Suchánek; owner: Drishya Ramesh):
[mediawiki/extensions/Wikibase@master] Upgrade Wikibase extension to use newer phan

https://gerrit.wikimedia.org/r/494176

This is blocking T225456 because the version of phan Wikibase master is using is so old. :-(

Change 494176 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Upgrade Wikibase extension to use newer phan

https://gerrit.wikimedia.org/r/494176

MaxSem claimed this task.

The ElasticSearch stubs added to Wikibase cause phan to fail for WikibaseCirrusSearch. Got filled as T226005