Page MenuHomePhabricator
Paste P84566

Phan v6 on MediaWiki core
ActivePublic

Authored by Daimona on Oct 31 2025, 11:06 PM.
Tags
None
Referenced Files
F68981916: Phan v6 on MediaWiki core
Oct 31 2025, 11:06 PM
Subscribers
None
includes/Auth/AuthManager.php:379 PhanTypeMismatchArgument Argument 4 ($extraData) is ['performer'=>$performer] of type array{performer:\MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\MediaWiki\HookContainer\ProtectedHookAccessorTrait|\MediaWiki\Mail\UserEmailContact|\MediaWiki\Permissions\Authority|\MediaWiki\User\User|\MediaWiki\User\UserIdentity|\Stringable|\User|\Wikimedia\DebugInfo\DebugInfoTrait} but \MediaWiki\HookContainer\HookRunner::onAuthManagerLoginAuthenticateAudit() takes string[] defined at includes/HookContainer/HookRunner.php:964
includes/Auth/AuthManager.php:399 PhanTypeMismatchArgument Argument 4 ($extraData) is ['performer'=>$session->getUser()] of type array{performer:\MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\MediaWiki\HookContainer\ProtectedHookAccessorTrait|\MediaWiki\Mail\UserEmailContact|\MediaWiki\Permissions\Authority|\MediaWiki\User\User|\MediaWiki\User\UserIdentity|\Stringable|\User|\Wikimedia\DebugInfo\DebugInfoTrait} but \MediaWiki\HookContainer\HookRunner::onAuthManagerLoginAuthenticateAudit() takes string[] defined at includes/HookContainer/HookRunner.php:964
includes/Auth/AuthManager.php:548 PhanTypeMismatchArgument Argument 4 ($extraData) is ['performer'=>$session->getUser()] of type array{performer:\MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\MediaWiki\HookContainer\ProtectedHookAccessorTrait|\MediaWiki\Mail\UserEmailContact|\MediaWiki\Permissions\Authority|\MediaWiki\User\User|\MediaWiki\User\UserIdentity|\Stringable|\User|\Wikimedia\DebugInfo\DebugInfoTrait} but \MediaWiki\HookContainer\HookRunner::onAuthManagerLoginAuthenticateAudit() takes string[] defined at includes/HookContainer/HookRunner.php:964
includes/Auth/AuthManager.php:625 PhanTypeMismatchArgument Argument 4 ($extraData) is ['performer'=>$session->getUser()] of type array{performer:\MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\MediaWiki\HookContainer\ProtectedHookAccessorTrait|\MediaWiki\Mail\UserEmailContact|\MediaWiki\Permissions\Authority|\MediaWiki\User\User|\MediaWiki\User\UserIdentity|\Stringable|\User|\Wikimedia\DebugInfo\DebugInfoTrait} but \MediaWiki\HookContainer\HookRunner::onAuthManagerLoginAuthenticateAudit() takes string[] defined at includes/HookContainer/HookRunner.php:964
includes/Auth/AuthManager.php:706 PhanTypeMismatchArgument Argument 4 ($extraData) is ['performer'=>$session->getUser()] of type array{performer:\MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\MediaWiki\HookContainer\ProtectedHookAccessorTrait|\MediaWiki\Mail\UserEmailContact|\MediaWiki\Permissions\Authority|\MediaWiki\User\User|\MediaWiki\User\UserIdentity|\Stringable|\User|\Wikimedia\DebugInfo\DebugInfoTrait} but \MediaWiki\HookContainer\HookRunner::onAuthManagerLoginAuthenticateAudit() takes string[] defined at includes/HookContainer/HookRunner.php:964
includes/Auth/AuthManager.php:751 PhanTypeMismatchArgument Argument 4 ($extraData) is ['performer'=>$session->getUser()] of type array{performer:\MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\MediaWiki\HookContainer\ProtectedHookAccessorTrait|\MediaWiki\Mail\UserEmailContact|\MediaWiki\Permissions\Authority|\MediaWiki\User\User|\MediaWiki\User\UserIdentity|\Stringable|\User|\Wikimedia\DebugInfo\DebugInfoTrait} but \MediaWiki\HookContainer\HookRunner::onAuthManagerLoginAuthenticateAudit() takes string[] defined at includes/HookContainer/HookRunner.php:964
includes/Auth/AuthManager.php:791 PhanTypeMismatchArgument Argument 4 ($extraData) is ['performer'=>$session->getUser()] of type array{performer:\MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\MediaWiki\HookContainer\ProtectedHookAccessorTrait|\MediaWiki\Mail\UserEmailContact|\MediaWiki\Permissions\Authority|\MediaWiki\User\User|\MediaWiki\User\UserIdentity|\Stringable|\User|\Wikimedia\DebugInfo\DebugInfoTrait} but \MediaWiki\HookContainer\HookRunner::onAuthManagerLoginAuthenticateAudit() takes string[] defined at includes/HookContainer/HookRunner.php:964
includes/Auth/AuthManager.php:824 PhanTypeMismatchArgument Argument 4 ($extraData) is ['performer'=>$session->getUser()] of type array{performer:\MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\MediaWiki\HookContainer\ProtectedHookAccessorTrait|\MediaWiki\Mail\UserEmailContact|\MediaWiki\Permissions\Authority|\MediaWiki\User\User|\MediaWiki\User\UserIdentity|\Stringable|\User|\Wikimedia\DebugInfo\DebugInfoTrait} but \MediaWiki\HookContainer\HookRunner::onAuthManagerLoginAuthenticateAudit() takes string[] defined at includes/HookContainer/HookRunner.php:964
includes/Auth/AuthManager.php:868 PhanTypeMismatchArgument Argument 4 ($extraData) is ['performer'=>$performer] of type array{performer:\MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\MediaWiki\HookContainer\ProtectedHookAccessorTrait|\MediaWiki\Mail\UserEmailContact|\MediaWiki\Permissions\Authority|\MediaWiki\User\User|\MediaWiki\User\UserIdentity|\Stringable|\User|\Wikimedia\DebugInfo\DebugInfoTrait} but \MediaWiki\HookContainer\HookRunner::onAuthManagerLoginAuthenticateAudit() takes string[] defined at includes/HookContainer/HookRunner.php:964
includes/Auth/AuthManager.php:2887 PhanTypeMismatchProperty Assigning $this->providerArrayFromSpecs(PreAuthenticationProvider::class, $conf['preauth']) of type \MediaWiki\Auth\AuthenticationProvider[] to property but \MediaWiki\Auth\AuthManager->preAuthenticationProviders is \MediaWiki\Auth\PreAuthenticationProvider[]
includes/Auth/AuthManager.php:2890 PhanTypeMismatchProperty Assigning $this->providerArrayFromSpecs(PrimaryAuthenticationProvider::class, $conf['primaryauth']) of type \MediaWiki\Auth\AuthenticationProvider[] to property but \MediaWiki\Auth\AuthManager->primaryAuthenticationProviders is \MediaWiki\Auth\PrimaryAuthenticationProvider[]
includes/Auth/AuthManager.php:2893 PhanTypeMismatchProperty Assigning $this->providerArrayFromSpecs(SecondaryAuthenticationProvider::class, $conf['secondaryauth']) of type \MediaWiki\Auth\AuthenticationProvider[] to property but \MediaWiki\Auth\AuthManager->secondaryAuthenticationProviders is \MediaWiki\Auth\SecondaryAuthenticationProvider[]
includes/Auth/ButtonAuthenticationRequest.php:97 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanParamTooFewUnpack on this line but this suppression is unused or suppressed elsewhere
includes/Auth/ButtonAuthenticationRequest.php:105 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanParamTooFewUnpack on this line but this suppression is unused or suppressed elsewhere
includes/Auth/ResetPasswordSecondaryAuthenticationProvider.php:111 PhanTemplateTypeConstraintViolation Template type T of \MediaWiki\Auth\AuthenticationRequest::getRequestByClass() must be compatible with \MediaWiki\Auth\AuthenticationRequest, but class-string was provided in call to \MediaWiki\Auth\AuthenticationRequest::getRequestByClass()
includes/Content/ContentJsonCodec.php:33 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeMismatchArgument on this line but this suppression is unused or suppressed elsewhere
includes/Content/ContentJsonCodec.php:45 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeMismatchReturn on this line but this suppression is unused or suppressed elsewhere
includes/DB/MWLBFactory.php:207 PhanTypeArraySuspiciousNullable Suspicious array access to $lbConf['serverTemplate'] of nullable type ?\Closure|?\Psr\Log\LoggerInterface|?\Wikimedia\Rdbms\DatabaseDomain|?\Wikimedia\Rdbms\TransactionProfiler|?\Wikimedia\RequestTimeout\CriticalSectionProvider|?\Wikimedia\Stats\StatsFactory|?array<int,string>|?bool|?string|mixed
includes/Debug/Logger/LoggerFactory.php:72 PhanTypeMismatchReturnProbablyReal Returning self::$spi of type null but getProvider() is declared to return \MediaWiki\Logger\Spi (no real type) (the inferred real return type has nothing in common with the declared phpdoc return type)
includes/Debug/Logger/monolog/LineFormatter.php:90 PhanParamSignatureMismatch Declaration of function normalizeException(\Throwable $e, int $depth = 0) : string should be compatible with function normalizeException(\Throwable $e, int $depth = 0) : mixed[] defined in vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php:202
includes/Debug/Logger/monolog/LineFormatter.php:142 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeMismatchArgumentNullable on this line but this suppression is unused or suppressed elsewhere
includes/Debug/Logger/monolog/LineFormatter.php:150 PhanTypeMismatchArgumentNullableInternal Argument 1 ($object_or_class) is $prev['class'] of type ?array|?string but \is_a() takes object|string (expected type to be non-nullable)
includes/HookContainer/HookContainer.php:141 PhanEmptyFQSENInCallable Possible call to a function '' with an empty FQSEN.
includes/HookContainer/HookContainer.php:141 PhanInvalidFQSENInCallable Possible call to a function '0' with an invalid FQSEN.
includes/HookContainer/HookContainer.php:141 PhanTypeInvalidCallableArraySize In a place where phan was expecting a callable, saw an array of size 0, but callable arrays must be of size 2
includes/LinkedData/PageDataRequestHandler.php:93 PhanTypeMismatchArgument Argument 2 ($params) is $title of type \MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\MediaWiki\Linker\LinkTarget|\MediaWiki\Page\PageIdentity|\MediaWiki\Page\PageReference|\MediaWiki\Title\Title|\Stringable|\Wikimedia\Parsoid\Core\LinkTarget|\Wikimedia\Parsoid\Core\LinkTargetTrait but \wfMessage() takes \Wikimedia\Message\MessageParam|\Wikimedia\Message\MessageSpecifier|float|int|list<\Wikimedia\Message\MessageParam>|list<\Wikimedia\Message\MessageSpecifier>|list<float>|list<int>|list<string>|string defined at includes/GlobalFunctions.php:850
includes/Mail/UserMailer.php:391 PhanPossiblyUndeclaredVariable Variable $recip is possibly undeclared
includes/MediaWikiServices.php:359 PhanNonClassMethodCall Call to method getHookContainer on non-class type null
includes/MediaWikiServices.php:360 PhanTypeMismatchArgumentProbablyReal Argument 1 ($services) is self::$instance of type null but \MediaWiki\HookContainer\HookRunner::onMediaWikiServices() takes \MediaWiki\MediaWikiServices (no real type) defined at includes/HookContainer/HookRunner.php:2877 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
includes/Output/OutputPage.php:2905 PhanTypeMismatchArgumentProbablyReal Argument 2 ($cookies) is self::$cacheVaryCookies of type null but \MediaWiki\HookContainer\HookRunner::onGetCacheVaryCookies() takes string[] (no real type) defined at includes/HookContainer/HookRunner.php:2018 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
includes/Output/OutputPage.php:2907 PhanTypeMismatchReturnProbablyReal Returning self::$cacheVaryCookies of type null but getCacheVaryCookies() is declared to return array (no real type) (the inferred real return type has nothing in common with the declared phpdoc return type)
includes/OutputTransform/Stages/HandleParsoidSectionLinks.php:212 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeMismatchArgumentNullableInternal on this line but this suppression is unused or suppressed elsewhere
includes/OutputTransform/Stages/HandleParsoidSectionLinks.php:238 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeMismatchArgumentNullableInternal on this line but this suppression is unused or suppressed elsewhere
includes/OutputTransform/Stages/HandleTOCMarkersDOM.php:64 PhanParamTooManyInternal Call with 1 arg(s) to \DOMElement::replaceWith() which only takes 0 arg(s). This would throw an ArgumentCountError.
includes/Page/MergeHistory.php:351 PhanTypeMismatchArgumentProbablyReal Argument 1 ($ts) is $destTs of type \MWTimestamp|\MediaWiki\Utils\MWTimestamp|\Stringable|\Wikimedia\Timestamp\ConvertibleTimestamp but \Wikimedia\Rdbms\IDatabase::timestamp() takes int|string (no real type) defined at includes/libs/rdbms/platform/ISQLPlatform.php:368 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
includes/Page/MergeHistory.php:643 PhanTypeMismatchArgumentProbablyReal Argument 1 ($ts) is $mwTimestamp of type \MWTimestamp|\MediaWiki\Utils\MWTimestamp|\Stringable|\Wikimedia\Timestamp\ConvertibleTimestamp but \Wikimedia\Rdbms\IDatabase::timestamp() takes int|string (no real type) defined at includes/libs/rdbms/platform/ISQLPlatform.php:368 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
includes/Page/MergeHistory.php:691 PhanTypeMismatchArgumentProbablyReal Argument 1 ($ts) is $mwTimestamp of type \MWTimestamp|\MediaWiki\Utils\MWTimestamp|\Stringable|\Wikimedia\Timestamp\ConvertibleTimestamp but \Wikimedia\Rdbms\IDatabase::timestamp() takes int|string (no real type) defined at includes/libs/rdbms/platform/ISQLPlatform.php:368 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
includes/Page/MergeHistory.php:701 PhanTypeMismatchArgumentProbablyReal Argument 1 ($ts) is $timeInsert of type \MWTimestamp|\MediaWiki\Utils\MWTimestamp|\Stringable|\Wikimedia\Timestamp\ConvertibleTimestamp but \Wikimedia\Rdbms\IDatabase::timestamp() takes int|string (no real type) defined at includes/libs/rdbms/platform/ISQLPlatform.php:368 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
includes/Page/MergeHistory.php:712 PhanTypeMismatchArgumentProbablyReal Argument 1 ($ts) is $this->timestampStartLimit of type \MWTimestamp|\MediaWiki\Utils\MWTimestamp|\Stringable|\Wikimedia\Timestamp\ConvertibleTimestamp but \Wikimedia\Rdbms\IDatabase::timestamp() takes int|string (no real type) defined at includes/libs/rdbms/platform/ISQLPlatform.php:368 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
includes/Parser/ParserOptions.php:1266 PhanTypeMismatchArgumentProbablyReal Argument 1 ($defaults) is self::$defaults of type null but \MediaWiki\HookContainer\HookRunner::onParserOptionsRegister() takes array (no real type) defined at includes/HookContainer/HookRunner.php:3444 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
includes/Parser/ParserOutput.php:2687 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeMismatchArgumentNullable on this line but this suppression is unused or suppressed elsewhere
includes/PoolCounter/PoolCounter.php:228 PhanTypeInvalidModuloOperand Operand hexdec(substr(sha1($key), 0, 4)) of type float|int to modulo (%%) operator is implicitly converted to int (deprecated in PHP 8.1)
includes/Registration/ExtensionRegistry.php:178 PhanTypeMismatchReturnProbablyReal Returning self::$instance of type null but getInstance() is declared to return \MediaWiki\Registration\ExtensionRegistry (no real type) (the inferred real return type has nothing in common with the declared phpdoc return type)
includes/ResourceLoader/ClientHtml.php:346 PhanTypeInvalidDimOffset Invalid offset "styles" of $data['embed'] of array type array{general:non-empty-mixed}
includes/ResourceLoader/StartUpModule.php:240 PhanTypeMismatchArgument Argument 1 ($registryData) is $registryData of type array{}|non-empty-array<string,array{version:''|string,dependencies:string[],group:?int,source:string,skip:?string}> but \MediaWiki\ResourceLoader\StartUpModule::compileUnresolvedDependencies() takes array<string,array{version:string,dependencies:array,group:?string,source:string}> defined at includes/ResourceLoader/StartUpModule.php:122
includes/Rest/Handler/EditHandler.php:88 PhanTypeInvalidDimOffset Invalid offset "title" of $data['edit'] of array type array{result:non-empty-mixed}
includes/Rest/Handler/EditHandler.php:88 PhanTypeMismatchArgument Argument 1 ($text) is $data['edit']['title'] of type null but \MediaWiki\Title\TitleParser::parseTitle() takes string defined at includes/title/TitleParser.php:97
includes/Rest/Handler/EditHandler.php:92 PhanTypeInvalidDimOffset Invalid offset "newrevid" of $data['edit'] of array type array{result:non-empty-mixed}
includes/Rest/Handler/EditHandler.php:96 PhanTypeInvalidDimOffset Invalid offset "pageid" of $data['edit'] of array type array{result:non-empty-mixed}
includes/Rest/Handler/EditHandler.php:100 PhanTypeInvalidDimOffset Invalid offset "newrevid" of $data['edit'] of array type array{result:non-empty-mixed}
includes/Rest/Handler/EditHandler.php:101 PhanTypeInvalidDimOffset Invalid offset "newtimestamp" of $data['edit'] of array type array{result:non-empty-mixed}
includes/Rest/Handler/EditHandler.php:107 PhanTypeInvalidDimOffset Invalid offset "contentmodel" of $data['edit'] of array type array{result:non-empty-mixed}
includes/Rest/Handler/Helper/HtmlOutputRendererHelper.php:937 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanSuspiciousValueComparison on this line but this suppression is unused or suppressed elsewhere
includes/RevisionList/RevisionItem.php:32 PhanTypeMismatchProperty Assigning $list->getContext() of type \MediaWiki\Context\IContextSource to property but \MediaWiki\RevisionList\RevisionItem->context is \MediaWiki\Context\RequestContext
includes/Settings/Source/EtcdSource.php:120 PhanTypeMismatchProperty Assigning new Uri()->withHost($params['host'])->withPort($params['port'])->withPath((('/v2/keys/' . trim($params['directory'], '/')) . '/'))->withScheme($params['protocol'])->withQuery('recursive=true') of type \Psr\Http\Message\UriInterface to property but \MediaWiki\Settings\Source\EtcdSource->uri is \GuzzleHttp\Psr7\Uri
includes/Settings/Source/EtcdSource.php:131 PhanTypeMismatchProperty Assigning $this->uri->withHost($discoverer->getSrvName())->withPort(null) of type \Psr\Http\Message\UriInterface to property but \MediaWiki\Settings\Source\EtcdSource->uri is \GuzzleHttp\Psr7\Uri
includes/Utils/GitInfo.php:439 PhanTypeMismatchArgumentProbablyReal Argument 1 ($extTypes) is self::$viewers of type false but \MediaWiki\HookContainer\HookRunner::onGitViewers() takes string[] (no real type) defined at includes/HookContainer/HookRunner.php:2274 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
includes/actions/DeleteAction.php:82 PhanTypeMismatchPropertyReal Assigning $services->getWatchedItemStore() of type \MediaWiki\Watchlist\WatchedItemStoreInterface to property but \MediaWiki\Actions\DeleteAction->watchedItemStore is \MediaWiki\Watchlist\WatchedItemStore
includes/actions/HistoryAction.php:446 PhanTypeMismatchArgument Argument 2 ($oldid) is false of type false but \MediaWiki\Feed\FeedUtils::formatDiffRow2() takes int defined at includes/Feed/FeedUtils.php:128
includes/api/ApiBase.php:2146 PhanImpossibleTypeComparisonInLoop Impossible attempt to check if $path of type non-empty-string is identical to keys of self::$extensionInfo of type (no types in empty array) in a loop body (likely a false positive)
includes/api/ApiBase.php:2146 PhanTypeMismatchArgumentInternalReal Argument 2 ($array) is self::$extensionInfo of type null but \array_key_exists() takes array
includes/api/ApiComparePages.php:540 PhanPossiblyUndeclaredVariable Variable $content is possibly undeclared
includes/api/ApiComparePages.php:540 PhanTypeMismatchArgumentNullable Argument 1 ($content) is $content of type ?\Content|?\MediaWiki\Content\Content but \MediaWiki\Content\Transform\ContentTransformer::preSaveTransform() takes \MediaWiki\Content\Content defined at includes/Content/Transform/ContentTransformer.php:26 (expected type to be non-nullable)
includes/api/ApiComparePages.php:561 PhanPossiblyUndeclaredVariable Variable $content is possibly undeclared
includes/api/ApiComparePages.php:565 PhanPossiblyUndeclaredVariable Variable $content is possibly undeclared
includes/api/ApiComparePages.php:580 PhanPossiblyUndeclaredVariable Variable $content is possibly undeclared
includes/api/ApiComparePages.php:590 PhanPossiblyUndeclaredVariable Variable $content is possibly undeclared
includes/api/ApiErrorFormatter.php:126 PhanTypeMismatchReturnReal Returning self::$dummyTitle of type null but getDummyTitle() is declared to return \MediaWiki\Page\PageReference
includes/api/ApiFeedWatchlist.php:169 PhanTypeMismatchArgument Argument 1 ($title) is $errorTitle of type \MediaWiki\HookContainer\ProtectedHookAccessorTrait|\MediaWiki\Message\Message|\Message|\MessageSpecifier|\Serializable|\Stringable|\Wikimedia\Message\MessageSpecifier but \MediaWiki\Feed\FeedItem::__construct() takes string defined at includes/Feed/FeedItem.php:61
includes/api/ApiFeedWatchlist.php:176 PhanTypeMismatchArgument Argument 1 ($title) is $errorTitle of type \MediaWiki\HookContainer\ProtectedHookAccessorTrait|\MediaWiki\Message\Message|\Message|\MessageSpecifier|\Serializable|\Stringable|\Wikimedia\Message\MessageSpecifier but \MediaWiki\Feed\FeedItem::__construct() takes string defined at includes/Feed/FeedItem.php:61
includes/api/ApiHelp.php:408 PhanTypeMismatchArgument Argument 2 ($params) is $link of type \MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\MediaWiki\Linker\LinkTarget|\MediaWiki\Page\PageIdentity|\MediaWiki\Page\PageReference|\MediaWiki\Title\Title|\Stringable|\Wikimedia\Parsoid\Core\LinkTarget|\Wikimedia\Parsoid\Core\LinkTargetTrait but \MediaWiki\Context\IContextSource::msg() takes \Wikimedia\Message\MessageParam|\Wikimedia\Message\MessageSpecifier|float|int|list<\Wikimedia\Message\MessageParam>|list<\Wikimedia\Message\MessageSpecifier>|list<float>|list<int>|list<string>|string defined at includes/language/MessageLocalizer.php:34
includes/api/ApiHelp.php:412 PhanTypeMismatchArgument Argument 2 ($params) is $link of type \MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\MediaWiki\Linker\LinkTarget|\MediaWiki\Page\PageIdentity|\MediaWiki\Page\PageReference|\MediaWiki\Title\Title|\Stringable|\Wikimedia\Parsoid\Core\LinkTarget|\Wikimedia\Parsoid\Core\LinkTargetTrait but \MediaWiki\Context\IContextSource::msg() takes \Wikimedia\Message\MessageParam|\Wikimedia\Message\MessageSpecifier|float|int|list<\Wikimedia\Message\MessageParam>|list<\Wikimedia\Message\MessageSpecifier>|list<float>|list<int>|list<string>|string defined at includes/language/MessageLocalizer.php:34
includes/api/ApiMain.php:1763 PhanPossiblyUndeclaredVariable Variable $match is possibly undeclared
includes/api/ApiMain.php:1763 PhanPossiblyUndeclaredVariable Variable $test is possibly undeclared
includes/api/ApiMain.php:1763 PhanTypeMismatchArgumentNullableInternal Argument 2 ($haystack) is $match of type ?array but \in_array() takes array (expected type to be non-nullable)
includes/api/ApiMain.php:1763 PhanTypeMismatchArgumentNullableInternal Argument 2 ($haystack) is $match of type ?non-empty-array<mixed,'*'>|?non-empty-array<mixed,string> but \in_array() takes array (expected type to be non-nullable)
includes/api/ApiParse.php:513 PhanTypePossiblyInvalidDimOffset Possibly invalid offset 'redirects' of $params of array type array|array{useskin?:mixed,redirects?:non-empty-mixed,generatexml?:non-empty-mixed,sectiontitle?:non-empty-mixed|non-null-mixed,pst?:non-empty-mixed,onlypst?:non-empty-mixed,mobileformat?:mixed}|non-empty-array<mixed,mixed>
includes/api/ApiParse.php:742 PhanTypePossiblyInvalidDimOffset Possibly invalid offset 'generatexml' of $params of array type array|array{useskin?:mixed,redirects?:non-empty-mixed,generatexml?:non-empty-mixed,sectiontitle?:non-empty-mixed|non-null-mixed,pst?:non-empty-mixed,onlypst?:non-empty-mixed,mobileformat?:mixed,summary?:non-empty-mixed|non-null-mixed,effectivelanglinks?:non-empty-mixed}|non-empty-array<mixed,mixed>
includes/api/ApiQueryBacklinksprop.php:317 PhanPossiblyUndeclaredVariable Variable $fld_title is possibly undeclared
includes/api/ApiQueryLinks.php:136 PhanPossiblyUndeclaredVariable Variable $lb is possibly undeclared
includes/api/ApiQueryLinks.php:137 PhanPossiblyUndeclaredVariable Variable $lb is possibly undeclared
includes/api/ApiResult.php:973 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeMismatchReturnNullable on this line but this suppression is unused or suppressed elsewhere
includes/api/ApiResult.php:1024 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeMismatchReturnNullable on this line but this suppression is unused or suppressed elsewhere
includes/api/ApiResult.php:1059 PhanRedundantCondition Redundant attempt to cast $data of type object to object
includes/api/ApiResult.php:1095 PhanRedundantCondition Redundant attempt to cast $data of type object to object
includes/api/ApiTag.php:40 PhanTypeMismatchPropertyReal Assigning $dbProvider->getReplicaDatabase() of type \Wikimedia\Rdbms\IReadableDatabase to property but \MediaWiki\Api\ApiTag->dbr is \Wikimedia\Rdbms\IDatabase
includes/api/ApiUpload.php:170 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeArraySuspiciousNullable on this line but this suppression is unused or suppressed elsewhere
includes/block/BlockUser.php:778 PhanTypeMismatchArgument Argument 2 ($title) is $this->target of type (\MediaWiki\User\UserIdentity&\MediaWiki\Block\BlockTarget)|?\MediaWiki\Block\BlockTarget|?\MediaWiki\DAO\WikiAwareEntity|?\MediaWiki\DAO\WikiAwareEntityTrait|?\Stringable|\MediaWiki\Block\BlockTarget|\MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\MediaWiki\User\UserIdentity|\Stringable|null but \MediaWiki\Title\Title::makeTitle() takes string defined at includes/title/Title.php:613
includes/block/BlockUser.php:778 PhanTypeMismatchArgument Argument 2 ($title) is $this->target of type \MediaWiki\Block\BlockTarget|\MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\Stringable|null but \MediaWiki\Title\Title::makeTitle() takes string defined at includes/title/Title.php:613
includes/block/DatabaseBlockStore.php:248 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeMismatchArgument on this line but this suppression is unused or suppressed elsewhere
includes/block/DatabaseBlockStore.php:254 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeMismatchArgument on this line but this suppression is unused or suppressed elsewhere
includes/block/DatabaseBlockStore.php:258 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeMismatchArgument on this line but this suppression is unused or suppressed elsewhere
includes/block/UnblockUser.php:155 PhanTypeMismatchArgument Argument 2 ($parameters) is $this->target of type (\MediaWiki\User\UserIdentity&\MediaWiki\Block\BlockTarget)|?\MediaWiki\Block\BlockTarget|?\MediaWiki\DAO\WikiAwareEntity|?\MediaWiki\DAO\WikiAwareEntityTrait|?\Stringable|\MediaWiki\Block\BlockTarget|\MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\MediaWiki\User\UserIdentity|\Stringable|null but \MediaWiki\Status\Status::fatal() takes \Wikimedia\Message\MessageParam|\Wikimedia\Message\MessageSpecifier|float|int|list<\Wikimedia\Message\MessageParam>|list<\Wikimedia\Message\MessageSpecifier>|list<float>|list<int>|list<string>|string defined at includes/libs/StatusValue.php:288
includes/block/UnblockUser.php:155 PhanTypeMismatchArgument Argument 2 ($parameters) is $this->target of type \MediaWiki\Block\BlockTarget|\MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\Stringable|null but \MediaWiki\Status\Status::fatal() takes \Wikimedia\Message\MessageParam|\Wikimedia\Message\MessageSpecifier|float|int|list<\Wikimedia\Message\MessageParam>|list<\Wikimedia\Message\MessageSpecifier>|list<float>|list<int>|list<string>|string defined at includes/libs/StatusValue.php:288
includes/block/UnblockUser.php:162 PhanTypeMismatchArgument Argument 2 ($parameters) is $this->target of type (\MediaWiki\User\UserIdentity&\MediaWiki\Block\BlockTarget)|?\MediaWiki\Block\BlockTarget|?\MediaWiki\DAO\WikiAwareEntity|?\MediaWiki\DAO\WikiAwareEntityTrait|?\Stringable|\MediaWiki\Block\BlockTarget|\MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\MediaWiki\User\UserIdentity|\Stringable|null but \MediaWiki\Status\Status::fatal() takes \Wikimedia\Message\MessageParam|\Wikimedia\Message\MessageSpecifier|float|int|list<\Wikimedia\Message\MessageParam>|list<\Wikimedia\Message\MessageSpecifier>|list<float>|list<int>|list<string>|string defined at includes/libs/StatusValue.php:288
includes/block/UnblockUser.php:162 PhanTypeMismatchArgument Argument 2 ($parameters) is $this->target of type \MediaWiki\Block\BlockTarget|\MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\Stringable|null but \MediaWiki\Status\Status::fatal() takes \Wikimedia\Message\MessageParam|\Wikimedia\Message\MessageSpecifier|float|int|list<\Wikimedia\Message\MessageParam>|list<\Wikimedia\Message\MessageSpecifier>|list<float>|list<int>|list<string>|string defined at includes/libs/StatusValue.php:288
includes/block/UnblockUser.php:220 PhanTypeMismatchArgument Argument 2 ($parameters) is $this->target of type (\MediaWiki\User\UserIdentity&\MediaWiki\Block\BlockTarget)|?\MediaWiki\Block\BlockTarget|?\MediaWiki\DAO\WikiAwareEntity|?\MediaWiki\DAO\WikiAwareEntityTrait|?\Stringable|\MediaWiki\Block\BlockTarget|\MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\MediaWiki\User\UserIdentity|\Stringable|null but \MediaWiki\Status\Status::fatal() takes \Wikimedia\Message\MessageParam|\Wikimedia\Message\MessageSpecifier|float|int|list<\Wikimedia\Message\MessageParam>|list<\Wikimedia\Message\MessageSpecifier>|list<float>|list<int>|list<string>|string defined at includes/libs/StatusValue.php:288
includes/block/UnblockUser.php:220 PhanTypeMismatchArgument Argument 2 ($parameters) is $this->target of type \MediaWiki\Block\BlockTarget|\MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\Stringable|null but \MediaWiki\Status\Status::fatal() takes \Wikimedia\Message\MessageParam|\Wikimedia\Message\MessageSpecifier|float|int|list<\Wikimedia\Message\MessageParam>|list<\Wikimedia\Message\MessageSpecifier>|list<float>|list<int>|list<string>|string defined at includes/libs/StatusValue.php:288
includes/changetags/ChangeTagsList.php:22 PhanParamSignatureMismatchInternal Declaration of function next() : \MediaWiki\ChangeTags\ChangeTagsLogItem should be compatible with internal function next() : void
includes/changetags/ChangeTagsList.php:22 PhanParamSignaturePHPDocMismatchReturnType Declaration of real/@method function next() should be compatible with real/@method function next() : void (method returning '\MediaWiki\ChangeTags\ChangeTagsLogItem' cannot override method returning 'void') defined in internal:0
includes/diff/DifferenceEngine.php:310 PhanTypePossiblyInvalidDimOffset Possibly invalid offset 'old' of $contents of array type array{new:\MediaWiki\Content\Content,old?:\MediaWiki\Content\Content}|non-empty-array<mixed,?\MediaWiki\Content\Content>
includes/diff/DifferenceEngine.php:316 PhanTypePossiblyInvalidDimOffset Possibly invalid offset 'old' of $contents of array type (?\MediaWiki\Content\Content)[]|array{new:\MediaWiki\Content\Content,old?:\MediaWiki\Content\Content}|non-empty-array<mixed,?\MediaWiki\Content\Content>
includes/diff/DifferenceEngine.php:320 PhanTypePossiblyInvalidDimOffset Possibly invalid offset 'old' of $contents of array type array{new:\MediaWiki\Content\Content,old?:\MediaWiki\Content\Content}|non-empty-array<mixed,?\MediaWiki\Content\Content>
includes/diff/DifferenceEngine.php:1082 PhanTypeMismatchArgumentInternal Argument 2 ($pieces) is $parts of type associative-array<mixed,?string> but \implode() takes string[]
includes/diff/TextSlotDiffRenderer.php:257 PhanTypeMismatchArgumentProbablyReal Argument 3 ($contents) is new OOUI\FieldLayout(new ToggleSwitchWidget(['id'=>'mw-diffPage-inline-toggle-switch','href'=>$newTitle->getLocalURL($values),'value'=>$isInlineDiffType,'title'=>$context->msg('diff-inline-switch-desc')->plain()]), ['id'=>'mw-diffPage-inline-toggle-switch-layout','label'=>$context->msg('diff-inline-format-label')->plain(),'infusable'=>true,'title'=>$context->msg('diff-inline-switch-desc')->plain()]) of type \OOUI\Element|\OOUI\FieldLayout|\OOUI\LabelElement|\OOUI\Layout|\OOUI\Tag|\OOUI\TitledElement|\Stringable but \MediaWiki\Html\Html::rawElement() takes string (no real type) defined at includes/Html/Html.php:205 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
includes/editpage/Constraint/PageSizeConstraint.php:50 PhanAccessReadOnlyPropertyMultipleTimes Cannot modify readonly property \MediaWiki\EditPage\Constraint\PageSizeConstraint->errorCode after initialization
includes/editpage/EditPage.php:1398 PhanTypeMismatchArgument Argument 1 ($text) is $this->context->msg('missing-revision-content', $this->oldid, Message::plaintextParam($this->mTitle->getPrefixedText())) of type \MediaWiki\HookContainer\ProtectedHookAccessorTrait|\MediaWiki\Message\Message|\Message|\MessageSpecifier|\Serializable|\Stringable|\Wikimedia\Message\MessageSpecifier but \MediaWiki\Output\OutputPage::parseAsInterface() takes string defined at includes/Output/OutputPage.php:2708
includes/editpage/EditPage.php:2469 PhanSuspiciousValueComparison Suspicious attempt to compare $this->section of type string to '' of type string with operator '!=='
includes/editpage/EditPage.php:2587 PhanTypeMismatchArgumentNullable Argument 2 ($oldModel) is $oldContentModel of type ?string but \MediaWiki\EditPage\EditPage::addContentModelChangeLogEntry() takes false|string defined at includes/editpage/EditPage.php:2690 (expected type to be non-nullable)
includes/editpage/EditPage.php:3485 PhanTypeMismatchArgumentProbablyReal Argument 1 ($text) is $this->getSummaryInputWidget(($isSubjectPreview ? $this->sectiontitle : $this->summary), $labelText, ['class'=>$summaryClass]) of type \OOUI\Element|\OOUI\FieldLayout|\OOUI\LabelElement|\OOUI\Layout|\OOUI\Tag|\OOUI\TitledElement|\Stringable but \MediaWiki\Output\OutputPage::addHTML() takes string (no real type) defined at includes/Output/OutputPage.php:1965 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
includes/editpage/IntroMessageBuilder.php:434 PhanTypeMismatchArgumentProbablyReal Argument 2 ($page) is $page of type \MediaWiki\DAO\WikiAwareEntity|\MediaWiki\Page\PageIdentity|\MediaWiki\Page\PageReference|\MediaWiki\Page\ProperPageIdentity|\Stringable but \MediaWiki\EditPage\IntroMessageBuilder::getLogExtract() takes string (no real type) defined at includes/editpage/IntroMessageBuilder.php:111 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
includes/editpage/IntroMessageBuilder.php:620 PhanTypeMismatchArgumentProbablyReal Argument 2 ($page) is $page of type \MediaWiki\DAO\WikiAwareEntity|\MediaWiki\Page\PageIdentity|\MediaWiki\Page\PageReference|\MediaWiki\Page\ProperPageIdentity|\Stringable but \MediaWiki\EditPage\IntroMessageBuilder::getLogExtract() takes string (no real type) defined at includes/editpage/IntroMessageBuilder.php:111 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
includes/editpage/IntroMessageBuilder.php:644 PhanTypeMismatchArgumentProbablyReal Argument 2 ($page) is $page of type \MediaWiki\DAO\WikiAwareEntity|\MediaWiki\Page\PageIdentity|\MediaWiki\Page\PageReference|\MediaWiki\Page\ProperPageIdentity|\Stringable but \MediaWiki\EditPage\IntroMessageBuilder::getLogExtract() takes string (no real type) defined at includes/editpage/IntroMessageBuilder.php:111 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
includes/filerepo/LocalRepo.php:84 PhanTypeMismatchProperty Assigning WikiMap::getCurrentWikiDbDomain() of type \Wikimedia\Rdbms\DatabaseDomain to property but \MediaWiki\FileRepo\LocalRepo->dbDomain is string
includes/filerepo/RepoGroup.php:380 PhanTypeMismatchProperty Assigning $this->newRepo($this->localInfo) of type \MediaWiki\FileRepo\FileRepo to property but \MediaWiki\FileRepo\RepoGroup->localRepo is \MediaWiki\FileRepo\LocalRepo
includes/filerepo/file/File.php:1327 PhanTypeMismatchArgument Argument 1 ($msg) is wfMessage('thumbnail_error', 'MediaWiki is configured to disallow local image scaling') of type \MediaWiki\HookContainer\ProtectedHookAccessorTrait|\MediaWiki\Message\Message|\Message|\MessageSpecifier|\Serializable|\Stringable|\Wikimedia\Message\MessageSpecifier but \MediaTransformError::__construct() takes string defined at includes/media/MediaTransformError.php:33
includes/filerepo/file/File.php:1365 PhanTypeMismatchArgument Argument 1 ($msg) is wfMessage('thumbnail_error', 'MediaWiki is configured to disallow local image scaling') of type \MediaWiki\HookContainer\ProtectedHookAccessorTrait|\MediaWiki\Message\Message|\Message|\MessageSpecifier|\Serializable|\Stringable|\Wikimedia\Message\MessageSpecifier but \MediaTransformError::__construct() takes string defined at includes/media/MediaTransformError.php:33
includes/filerepo/file/LocalFileDeleteBatch.php:57 PhanTypeMismatchProperty Assigning $file of type \MediaWiki\FileRepo\File\File to property but \MediaWiki\FileRepo\File\LocalFileDeleteBatch->file is \MediaWiki\FileRepo\File\LocalFile
includes/gallery/ImageGalleryBase.php:141 PhanTypeMismatchArgumentProbablyReal Argument 1 ($modeArray) is self::$modeMapping of type null but \MediaWiki\HookContainer\HookRunner::onGalleryGetModes() takes array (no real type) defined at includes/HookContainer/HookRunner.php:1984 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
includes/htmlform/CodexHTMLForm.php:223 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypePossiblyInvalidDimOffset on this line but this suppression is unused or suppressed elsewhere
includes/htmlform/HTMLForm.php:1415 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypePossiblyInvalidDimOffset on this line but this suppression is unused or suppressed elsewhere
includes/htmlform/OOUIHTMLForm.php:95 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypePossiblyInvalidDimOffset on this line but this suppression is unused or suppressed elsewhere
includes/htmlform/OOUIHTMLForm.php:139 PhanParamSignatureMismatch Declaration of function wrapFieldSetSection(string $legend, string $section, array $attributes, bool $isRoot) : \OOUI\PanelLayout should be compatible with function wrapFieldSetSection(string $legend, string $section, array $attributes, bool $isRoot) : string defined in includes/htmlform/HTMLForm.php:1824
includes/htmlform/OOUIHTMLForm.php:262 PhanTypeMismatchReturnReal Returning new \OOUI\FieldLayout($element, ['align'=>'top','errors'=>$this->oouiErrors,'notices'=>$this->oouiWarnings,'classes'=>$classes]) of type \OOUI\FieldLayout but formatFormHeader() is declared to return string
includes/installer/MysqlUpdater.php:211 PhanParamTooFewInPHPDoc Call with 2 arg(s) to \Wikimedia\Rdbms\DatabaseMySQL::indexExists($table, $index, mixed|string $fname = __METHOD__) which has phpdoc indicating it requires 3 arg(s) ($fname is mandatory) defined at includes/libs/rdbms/database/Database.php:1472
includes/installer/PostgresUpdater.php:782 PhanParamTooFewInPHPDoc Call with 2 arg(s) to \Wikimedia\Rdbms\DatabasePostgres::indexExists($table, $index, mixed|string $fname = __METHOD__) which has phpdoc indicating it requires 3 arg(s) ($fname is mandatory) defined at includes/libs/rdbms/database/Database.php:1472
includes/installer/Task/AddWikiTaskContext.php:52 PhanTypeMismatchArgumentProbablyReal Argument 1 ($domain) is $localDomain of type \Stringable|\Wikimedia\Rdbms\DatabaseDomain but \Wikimedia\Rdbms\LBFactory::getLoadBalancer() takes false|string (no real type) defined at includes/libs/rdbms/lbfactory/LBFactory.php:569 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
includes/jobqueue/Job.php:65 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanParamTooFewUnpack on this line but this suppression is unused or suppressed elsewhere
includes/jobqueue/jobs/RefreshLinksJob.php:603 PhanTypeMismatchDimAssignment When appending to a value of type int|mixed|non-null-mixed|string, found an array access index of type 'userId', but expected the index to be of type int
includes/json/JsonDeserializableCodec.php:21 PhanGenericMissingParameters Class \MediaWiki\Json\JsonDeserializableCodec must substitute all 1 template parameters when inheriting \Wikimedia\JsonCodec\JsonClassCodec (found 0) defined at vendor/wikimedia/json-codec/src/JsonClassCodec.php:34 (use @extends or @inherit)
includes/json/JsonSerializableCodec.php:24 PhanGenericMissingParameters Class \MediaWiki\Json\JsonSerializableCodec must substitute all 1 template parameters when inheriting \Wikimedia\JsonCodec\JsonClassCodec (found 0) defined at vendor/wikimedia/json-codec/src/JsonClassCodec.php:34 (use @extends or @inherit)
includes/language/Language.php:1437 PhanTypeInvalidModuloOperand Operand ($jDayNo - 1) of type float to modulo (%%) operator is implicitly converted to int (deprecated in PHP 8.1)
includes/libs/MappedIterator.php:79 PhanParamSignatureRealMismatchReturnTypeInternal Declaration of function key() should be compatible with internal function key() : mixed (method where the return type in the real signature is '' cannot override method where the return type in the real signature is 'mixed')
includes/libs/MappedIterator.php:93 PhanParamSignatureRealMismatchReturnTypeInternal Declaration of function current() should be compatible with internal function current() : mixed (method where the return type in the real signature is '' cannot override method where the return type in the real signature is 'mixed')
includes/libs/ParamValidator/SimpleCallbacks.php:59 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeMismatchReturnNullable on this line but this suppression is unused or suppressed elsewhere
includes/libs/ParamValidator/TypeDef/ExpiryDef.php:45 PhanPossiblyUndeclaredVariable Variable $expiry is possibly undeclared
includes/libs/ParamValidator/TypeDef/ExpiryDef.php:51 PhanPossiblyUndeclaredVariable Variable $expiry is possibly undeclared
includes/libs/ParamValidator/TypeDef/ExpiryDef.php:65 PhanPossiblyUndeclaredVariable Variable $expiry is possibly undeclared
includes/libs/Stats/StatsUtils.php:194 PhanTypeInvalidModuloOperand Operand $y of type float|int to modulo (%%) operator is implicitly converted to int (deprecated in PHP 8.1)
includes/libs/filebackend/FSFileBackend.php:251 PhanPossiblyUndeclaredVariable Variable $bytes is possibly undeclared
includes/libs/http/MultiHttpClient.php:487 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypePossiblyInvalidDimOffset on this line but this suppression is unused or suppressed elsewhere
includes/libs/mime/XmlTypeCheck.php:358 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeInvalidCallable on this line but this suppression is unused or suppressed elsewhere
includes/libs/rdbms/ChronologyProtector.php:358 PhanTypeMismatchArgument Argument 2 ($shutdownPositions) is $this->shutdownPositionsByPrimary of type non-empty-array<string,?\Stringable>|non-empty-array<string,?\Wikimedia\Rdbms\DBPrimaryPos> but \Wikimedia\Rdbms\ChronologyProtector::mergePositions() takes array<string,\Wikimedia\Rdbms\DBPrimaryPos> defined at includes/libs/rdbms/ChronologyProtector.php:488
includes/libs/rdbms/ChronologyProtector.php:423 PhanTypeMismatchReturn Returning $this->startupPositionsByPrimary of type array<string,?\Wikimedia\Rdbms\DBPrimaryPos> but getStartupSessionPositions() is declared to return array<string,\Wikimedia\Rdbms\DBPrimaryPos>
includes/libs/rdbms/database/DBConnRef.php:101 PhanParamTooFewInPHPDoc Call with 0 arg(s) to \Wikimedia\Rdbms\Database::close(string $fname = __METHOD__) which has phpdoc indicating it requires 1 arg(s) ($fname is mandatory) defined at includes/libs/rdbms/database/Database.php:476
includes/libs/rdbms/database/DBConnRef.php:107 PhanTypeMismatchProperty Assigning $this->lb->getConnectionInternal($this->params[self::FLD_INDEX], $this->params[self::FLD_GROUPS], $this->params[self::FLD_DOMAIN]->getId(), $this->params[self::FLD_FLAGS]) of type \Wikimedia\Rdbms\IDatabase to property but \Wikimedia\Rdbms\DBConnRef->conn is \Wikimedia\Rdbms\Database|null
includes/libs/rdbms/database/Database.php:3159 PhanTypeMismatchProperty Assigning $e of type \RuntimeException to property but \Wikimedia\Rdbms\Database->csmError is \Wikimedia\Rdbms\DBUnexpectedError|null
includes/libs/rdbms/database/DatabasePostgres.php:317 PhanParamTooFewInPHPDoc Call with 1 arg(s) to \Wikimedia\Rdbms\DatabasePostgres::query($sql, mixed|string $fname = __METHOD__, int|mixed $flags = 0) which has phpdoc indicating it requires 2 arg(s) ($fname is mandatory) defined at includes/libs/rdbms/database/Database.php:619
includes/libs/rdbms/database/resultwrapper/SqliteResultWrapper.php:24 PhanTypeMismatchPropertyProbablyReal Assigning $result->fetchAll(PDO::FETCH_OBJ) of type array to property but \Wikimedia\Rdbms\SqliteResultWrapper->rows is \ArrayIterator|null (no real type) (the inferred real assigned type has nothing in common with the declared phpdoc property type)
includes/libs/rdbms/lbfactory/LBFactoryMulti.php:214 PhanTypeMismatchProperty Assigning ($this->newMainLB($domain) as a field) of type array<string,\Wikimedia\Rdbms\ILoadBalancerForOwner> to property but \Wikimedia\Rdbms\LBFactoryMulti->mainLBs is array<string,\Wikimedia\Rdbms\LoadBalancer>
includes/libs/rdbms/lbfactory/LBFactoryMulti.php:240 PhanTypeMismatchProperty Assigning ($this->newExternalLB($cluster) as a field) of type array<string,\Wikimedia\Rdbms\ILoadBalancerForOwner> to property but \Wikimedia\Rdbms\LBFactoryMulti->externalLBs is array<string,\Wikimedia\Rdbms\LoadBalancer>
includes/libs/rdbms/lbfactory/LBFactorySimple.php:98 PhanTypeMismatchProperty Assigning ($this->newExternalLB($cluster) as a field) of type array<string,\Wikimedia\Rdbms\ILoadBalancerForOwner> to property but \Wikimedia\Rdbms\LBFactorySimple->externalLBs is \Wikimedia\Rdbms\LoadBalancer[]
includes/libs/rdbms/loadbalancer/LoadBalancer.php:856 PhanTypeMismatchProperty Assigning $conn of type \Wikimedia\Rdbms\IDatabaseForOwner to property but \Wikimedia\Rdbms\LoadBalancer->lastErrorConn is \Wikimedia\Rdbms\Database|null
includes/libs/rdbms/platform/SQLPlatform.php:1668 PhanRedundantCondition Redundant attempt to cast $conds of type non-empty-array<mixed,mixed>|non-empty-string to truthy
includes/libs/uuid/GlobalIdGenerator.php:607 PhanTypeInvalidModuloOperand Operand $ts of type float|int to modulo (%%) operator is implicitly converted to int (deprecated in PHP 8.1)
includes/linker/Linker.php:710 PhanTypeMismatchArgumentNullable Argument 1 ($name) is $manual_title of type ?\MediaWiki\DAO\WikiAwareEntity|?\MediaWiki\DAO\WikiAwareEntityTrait|?\MediaWiki\Linker\LinkTarget|?\MediaWiki\Page\PageIdentity|?\MediaWiki\Page\PageReference|?\MediaWiki\Title\Title|?\Stringable|?\Wikimedia\Parsoid\Core\LinkTarget|?\Wikimedia\Parsoid\Core\LinkTargetTrait|?string but \MediaWiki\Page\File\BadFileLookup::isBadFile() takes string defined at includes/Page/File/BadFileLookup.php:61 (expected type to be non-nullable)
includes/logging/LogEventsList.php:684 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanParamTooFewUnpack on this line but this suppression is unused or suppressed elsewhere
includes/logging/LogFormatter.php:130 PhanTypeMismatchProperty Assigning $entry of type \MediaWiki\Logging\LogEntry to property but \MediaWiki\Logging\LogFormatter->entry is \MediaWiki\Logging\LogEntryBase
includes/media/BitmapHandler.php:309 PhanTypeMismatchArgumentInternal Argument 1 ($quality) is $qualityVal of type non-empty-string but \Imagick::setCompressionQuality() takes int
includes/media/BitmapHandler.php:580 PhanTypeInvalidModuloOperand Operand ($params['rotation'] + $this->getRotation($file)) of type float|int to modulo (%%) operator is implicitly converted to int (deprecated in PHP 8.1)
includes/media/JpegHandler.php:138 PhanTypeInvalidModuloOperand Operand ($params['rotation'] + $this->getRotation($file)) of type float|int to modulo (%%) operator is implicitly converted to int (deprecated in PHP 8.1)
includes/media/JpegHandler.php:154 PhanTypeMismatchArgumentProbablyReal Argument 3 ($cmd) is $command of type \MediaWiki\Shell\Command|\Shellbox\Command\Command|\Shellbox\Command\UnboxedCommand|\Stringable but \JpegHandler::logErrorForExternalProcess() takes string (no real type) defined at includes/media/MediaHandler.php:1015 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
includes/media/JpegHandler.php:224 PhanTypeMismatchReturnProbablyReal Returning false of type false but transformImageMagick() is declared to return \MediaTransformError (no real type) (the inferred real return type has nothing in common with the declared phpdoc return type)
includes/media/JpegHandler.php:291 PhanTypeMismatchArgumentProbablyReal Argument 3 ($cmd) is $command of type \MediaWiki\Shell\Command|\Shellbox\Command\Command|\Shellbox\Command\UnboxedCommand|\Stringable but \JpegHandler::logErrorForExternalProcess() takes string (no real type) defined at includes/media/MediaHandler.php:1015 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
includes/media/MediaTransformOutput.php:255 PhanTypeMismatchArgumentProbablyReal Argument 2 ($attribs) is null of type null but \MediaWiki\Html\Html::rawElement() takes array (no real type) defined at includes/Html/Html.php:205 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
includes/objectcache/ObjectCacheFactory.php:199 PhanUndeclaredInvokeInCallable Possible attempt to access missing magic method __invoke of '\Psr\Log\LoggerInterface'
includes/objectcache/ObjectCacheFactory.php:199 PhanUndeclaredInvokeInCallable Possible attempt to access missing magic method __invoke of '\Wikimedia\Stats\StatsFactory'
includes/objectcache/ObjectCacheFactory.php:199 PhanUndeclaredInvokeInCallable Possible attempt to access missing magic method __invoke of '\Wikimedia\Telemetry\TracerInterface'
includes/objectcache/ObjectCacheFactory.php:225 PhanParamTooMany Call with 1 arg(s) to \Psr\Log\LoggerInterface::__construct() which only takes 0 arg(s) defined at vendor/psr/log/Psr/Log/LoggerInterface.php:20
includes/objectcache/ObjectCacheFactory.php:225 PhanTypeMismatchReturn Returning new $class($params) of type \Psr\Log\LoggerInterface|\Wikimedia\Stats\StatsFactory|\Wikimedia\Telemetry\TracerInterface but newFromParams() is declared to return \Wikimedia\ObjectCache\BagOStuff
includes/pager/TablePager.php:308 PhanTypeMismatchReturnProbablyReal Returning new ButtonGroupWidget(['classes'=>[$this->getNavClass()],'items'=>$buttons]) of type \OOUI\ButtonGroupWidget but getNavigationBar() is declared to return string (no real type) (the inferred real return type has nothing in common with the declared phpdoc return type)
includes/recentchanges/RecentChange.php:687 PhanSuspiciousValueComparison Suspicious attempt to compare $name of type string to 'rc_actor' of type string with operator '==='
includes/recentchanges/RecentChangeMailComposer.php:102 PhanTypeMismatchPropertyReal Assigning $services->getEmailer() of type \MediaWiki\Mail\IEmailer to property but \MediaWiki\RecentChanges\RecentChangeMailComposer->emailer is \MediaWiki\Mail\Emailer
includes/recentchanges/RecentChangeNotificationHandler.php:54 PhanTypeMismatchArgument Argument 1 ($watchingUser) is $recipient of type \MediaWiki\DAO\WikiAwareEntity|\MediaWiki\User\UserIdentity but \MediaWiki\RecentChanges\RecentChangeMailComposer::compose() takes \MediaWiki\Mail\UserEmailContact defined at includes/recentchanges/RecentChangeMailComposer.php:232
includes/revisiondelete/RevDelList.php:25 PhanParamSignatureMismatchInternal Declaration of function next() : \RevDelItem should be compatible with internal function next() : void
includes/revisiondelete/RevDelList.php:25 PhanParamSignaturePHPDocMismatchReturnType Declaration of real/@method function next() should be compatible with real/@method function next() : void (method returning '\RevDelItem' cannot override method returning 'void') defined in internal:0
includes/search/BaseSearchResultSet.php:48 PhanTypeMismatchProperty Assigning $this->getIterator() of type \Traversable to property but \BaseSearchResultSet->bcIterator is \ArrayIterator|null
includes/search/searchwidgets/FullSearchResultWidget.php:380 PhanTypeMismatchArgument Argument 1 ($params) is $title of type \MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\MediaWiki\Linker\LinkTarget|\MediaWiki\Page\PageIdentity|\MediaWiki\Page\PageReference|\MediaWiki\Title\Title|\Stringable|\Wikimedia\Parsoid\Core\LinkTarget|\Wikimedia\Parsoid\Core\LinkTargetTrait but \MediaWiki\Message\Message::params() takes \Wikimedia\Message\MessageParam|\Wikimedia\Message\MessageSpecifier|float|int|list<\Wikimedia\Message\MessageParam>|list<\Wikimedia\Message\MessageSpecifier>|list<float>|list<int>|list<string>|string defined at includes/language/Message/Message.php:589
includes/search/searchwidgets/FullSearchResultWidget.php:389 PhanTypeMismatchArgument Argument 1 ($params) is $title of type \MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\MediaWiki\Linker\LinkTarget|\MediaWiki\Page\PageIdentity|\MediaWiki\Page\PageReference|\MediaWiki\Title\Title|\Stringable|\Wikimedia\Parsoid\Core\LinkTarget|\Wikimedia\Parsoid\Core\LinkTargetTrait but \MediaWiki\Message\Message::params() takes \Wikimedia\Message\MessageParam|\Wikimedia\Message\MessageSpecifier|float|int|list<\Wikimedia\Message\MessageParam>|list<\Wikimedia\Message\MessageSpecifier>|list<float>|list<int>|list<string>|string defined at includes/language/Message/Message.php:589
includes/search/searchwidgets/SearchFormWidget.php:320 PhanTypeMismatchReturnReal Returning new FieldLayout(new CheckboxInputWidget(['name'=>'nsRemember','selected'=>false,'inputId'=>'mw-search-powersearch-remember','value'=>$this->specialSearch->getContext()->getCsrfTokenSet()->getToken('searchnamespace')]), ['label'=>$this->specialSearch->msg('powersearch-remember')->text(),'align'=>'inline']) of type \OOUI\FieldLayout but createPowerSearchRememberCheckBoxHtml() is declared to return string
includes/search/searchwidgets/SearchFormWidget.php:366 PhanTypeMismatchReturnReal Returning new FieldLayout(new CheckboxInputWidget(['name'=>"ns{$namespace}",'selected'=>in_array($namespace, $activeNamespaces),'inputId'=>"mw-search-ns{$namespace}",'value'=>'1']), ['label'=>$namespaceDisplayName,'align'=>'inline']) of type \OOUI\FieldLayout but createNamespaceCheckbox() is declared to return string
includes/session/Session.php:453 PhanTypeMismatchReturnProbablyReal Returning self::$encryptionAlgorithm of type null but getEncryptionAlgorithm() is declared to return array (no real type) (the inferred real return type has nothing in common with the declared phpdoc return type)
includes/session/Session.php:457 PhanTypeMismatchReturnProbablyReal Returning self::$encryptionAlgorithm of type null but getEncryptionAlgorithm() is declared to return array (no real type) (the inferred real return type has nothing in common with the declared phpdoc return type)
includes/specialpage/ChangesListSpecialPage.php:1495 PhanTypeMismatchArgumentProbablyReal Argument 3 ($contents) is $widget of type \OOUI\Element|\OOUI\FlaggedElement|\OOUI\IconElement|\OOUI\IconWidget|\OOUI\LabelElement|\OOUI\Tag|\OOUI\TitledElement|\OOUI\Widget|\Stringable but \MediaWiki\Html\Html::rawElement() takes string (no real type) defined at includes/Html/Html.php:205 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
includes/specialpage/ContributionsSpecialPage.php:253 PhanTypeMismatchArgumentProbablyReal Argument 1 ($text) is new ButtonWidget(['id'=>'mw-specialcontributions-newcontribution','href'=>SpecialPage::getTitleFor('Contribute')->getLinkURL(),'label'=>$this->msg('sp-contributions-newcontribution')->text(),'icon'=>'add','framed'=>true,'flags'=>'progressive']) of type \OOUI\AccessKeyedElement|\OOUI\ButtonElement|\OOUI\ButtonWidget|\OOUI\Element|\OOUI\FlaggedElement|\OOUI\IconElement|\OOUI\IndicatorElement|\OOUI\LabelElement|\OOUI\TabIndexedElement|\OOUI\Tag|\OOUI\TitledElement|\OOUI\Widget|\Stringable but \MediaWiki\Output\OutputPage::addHTML() takes string (no real type) defined at includes/Output/OutputPage.php:1965 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
includes/specialpage/ContributionsSpecialPage.php:562 PhanTypeMismatchArgumentReal Argument 1 ($target) is $userObj of type \MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\MediaWiki\HookContainer\ProtectedHookAccessorTrait|\MediaWiki\Mail\UserEmailContact|\MediaWiki\Permissions\Authority|\MediaWiki\User\User|\MediaWiki\User\UserIdentity|\Stringable|\User|\Wikimedia\DebugInfo\DebugInfoTrait but \MediaWiki\SpecialPage\ContributionsSpecialPage::isValidIPOrQueryableRange() takes string defined at includes/specials/helpers/ContributionsRangeTrait.php:48
includes/specialpage/LoginSignupSpecialPage.php:996 PhanTypeMismatchProperty Assigning $this->msg('createacct-reason-confirm') of type \MediaWiki\Message\Message to property but \MediaWiki\SpecialPage\LoginSignupSpecialPage->reasonValidatorResult is null|string|true
includes/specials/SpecialBotPasswords.php:211 PhanUndeclaredVariable Variable $password is undeclared (Did you mean $passwordInvalid or $this->password)
includes/specials/SpecialChangeContentModel.php:266 PhanTypeMismatchArgument Argument 2 ($args) is $this->title of type \MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\MediaWiki\Linker\LinkTarget|\MediaWiki\Page\PageIdentity|\MediaWiki\Page\PageReference|\MediaWiki\Title\Title|\Stringable|\Wikimedia\Parsoid\Core\LinkTarget|\Wikimedia\Parsoid\Core\LinkTargetTrait|null but \MediaWiki\Output\OutputPage::addWikiMsg() takes \Wikimedia\Message\MessageParam|\Wikimedia\Message\MessageSpecifier|float|int|string defined at includes/Output/OutputPage.php:4970
includes/specials/SpecialMergeHistory.php:333 PhanTypeMismatchArgument Argument 1 ($html) is $this->msg('mergehistory-empty') of type \MediaWiki\HookContainer\ProtectedHookAccessorTrait|\MediaWiki\Message\Message|\Message|\MessageSpecifier|\Serializable|\Stringable|\Wikimedia\Message\MessageSpecifier but \MediaWiki\HTMLForm\HTMLForm::setFooterHtml() takes string defined at includes/htmlform/HTMLForm.php:987
includes/specials/SpecialMovePage.php:665 PhanTypeMismatchArgumentProbablyReal Argument 1 ($text) is new PanelLayout(['classes'=>['movepage-wrapper'],'expanded'=>false,'padded'=>true,'framed'=>true,'content'=>$form]) of type \OOUI\Element|\OOUI\Layout|\OOUI\PanelLayout|\OOUI\Tag|\Stringable but \MediaWiki\Output\OutputPage::addHTML() takes string (no real type) defined at includes/Output/OutputPage.php:1965 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
includes/specials/SpecialMovePage.php:751 PhanTypeMismatchArgument Argument 2 ($params) is $ot of type \MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\MediaWiki\Linker\LinkTarget|\MediaWiki\Page\PageIdentity|\MediaWiki\Page\PageReference|\MediaWiki\Title\Title|\Stringable|\Wikimedia\Parsoid\Core\LinkTarget|\Wikimedia\Parsoid\Core\LinkTargetTrait but \MediaWiki\Specials\SpecialMovePage::msg() takes \Wikimedia\Message\MessageParam|\Wikimedia\Message\MessageSpecifier|float|int|list<\Wikimedia\Message\MessageParam>|list<\Wikimedia\Message\MessageSpecifier>|list<float>|list<int>|list<string>|string defined at includes/specialpage/SpecialPage.php:985
includes/specials/SpecialPasswordPolicies.php:158 PhanTypeMismatchArgument Argument 1 ($list) is $flagMsgs of type non-empty-list<\MediaWiki\HookContainer\ProtectedHookAccessorTrait>|non-empty-list<\MediaWiki\Message\Message>|non-empty-list<\Message>|non-empty-list<\MessageSpecifier>|non-empty-list<\Serializable>|non-empty-list<\Stringable>|non-empty-list<\Wikimedia\Message\MessageSpecifier> but \MediaWiki\Language\Language::commaList() takes string[] defined at includes/language/Language.php:3691
includes/specials/SpecialPreferences.php:113 PhanTypeMismatchArgumentProbablyReal Argument 1 ($text) is new FieldLayout(new SearchInputWidget(['placeholder'=>$this->msg('searchprefs')->text()]), ['classes'=>['mw-prefs-search'],'label'=>$this->msg('searchprefs')->text(),'invisibleLabel'=>true,'infusable'=>true]) of type \OOUI\Element|\OOUI\FieldLayout|\OOUI\LabelElement|\OOUI\Layout|\OOUI\Tag|\OOUI\TitledElement|\Stringable but \MediaWiki\Output\OutputPage::addHTML() takes string (no real type) defined at includes/Output/OutputPage.php:1965 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
includes/specials/SpecialRedirect.php:114 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeMismatchArgumentNullable on this line but this suppression is unused or suppressed elsewhere
includes/specials/SpecialSpecialPages.php:131 PhanTypeMismatchArgumentProbablyReal Argument 1 ($text) is new FieldLayout(new SearchInputWidget(['placeholder'=>$this->msg('specialpages-header-search')->text()]), ['classes'=>['mw-special-pages-search'],'label'=>$this->msg('specialpages-header-search')->text(),'invisibleLabel'=>true,'infusable'=>true]) of type \OOUI\Element|\OOUI\FieldLayout|\OOUI\LabelElement|\OOUI\Layout|\OOUI\Tag|\OOUI\TitledElement|\Stringable but \MediaWiki\Output\OutputPage::addHTML() takes string (no real type) defined at includes/Output/OutputPage.php:1965 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
includes/specials/SpecialUnblock.php:124 PhanTypeMismatchArgument Argument 2 ($parameters) is $this->target of type (\MediaWiki\Block\BlockTarget&\MediaWiki\Block\BlockTargetWithUserPage)|(\MediaWiki\Block\BlockTarget&\MediaWiki\Block\BlockTargetWithUserPage)|?\MediaWiki\Block\BlockTarget|?\MediaWiki\DAO\WikiAwareEntity|?\MediaWiki\DAO\WikiAwareEntityTrait|?\Stringable|\MediaWiki\Block\BlockTarget|\MediaWiki\Block\BlockTargetWithUserIdentity|\MediaWiki\Block\BlockTargetWithUserPage|\MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\Stringable|null but \MediaWiki\Status\Status::error() takes \Wikimedia\Message\MessageParam|\Wikimedia\Message\MessageSpecifier|float|int|list<\Wikimedia\Message\MessageParam>|list<\Wikimedia\Message\MessageSpecifier>|list<float>|list<int>|list<string>|string defined at includes/libs/StatusValue.php:270
includes/specials/SpecialUndelete.php:464 PhanTypeMismatchArgumentProbablyReal Argument 1 ($text) is new PanelLayout(['expanded'=>false,'padded'=>true,'framed'=>true,'content'=>$form]) of type \OOUI\Element|\OOUI\Layout|\OOUI\PanelLayout|\OOUI\Tag|\Stringable but \MediaWiki\Output\OutputPage::addHTML() takes string (no real type) defined at includes/Output/OutputPage.php:1965 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
includes/specials/SpecialUserLogout.php:81 PhanTypeMismatchArgument Argument 3 ($contents) is $this->msg('userlogout-temp') of type \MediaWiki\HookContainer\ProtectedHookAccessorTrait|\MediaWiki\Message\Message|\Message|\MessageSpecifier|\Serializable|\Stringable|\Wikimedia\Message\MessageSpecifier but \MediaWiki\Html\Html::rawElement() takes string defined at includes/Html/Html.php:205
includes/specials/SpecialUserLogout.php:82 PhanTypeMismatchArgument Argument 3 ($contents) is $this->msg('userlogout-temp-moreinfo') of type \MediaWiki\HookContainer\ProtectedHookAccessorTrait|\MediaWiki\Message\Message|\Message|\MessageSpecifier|\Serializable|\Stringable|\Wikimedia\Message\MessageSpecifier but \MediaWiki\Html\Html::rawElement() takes string defined at includes/Html/Html.php:205
includes/specials/SpecialUserLogout.php:89 PhanTypeMismatchArgument Argument 3 ($contents) is $this->msg('userlogout-temp-messagebox-title') of type \MediaWiki\HookContainer\ProtectedHookAccessorTrait|\MediaWiki\Message\Message|\Message|\MessageSpecifier|\Serializable|\Stringable|\Wikimedia\Message\MessageSpecifier but \MediaWiki\Html\Html::rawElement() takes string defined at includes/Html/Html.php:205
includes/specials/SpecialUserLogout.php:98 PhanTypeMismatchArgument Argument 3 ($contents) is $this->msg('userlogout-continue') of type \MediaWiki\HookContainer\ProtectedHookAccessorTrait|\MediaWiki\Message\Message|\Message|\MessageSpecifier|\Serializable|\Stringable|\Wikimedia\Message\MessageSpecifier but \MediaWiki\Html\Html::rawElement() takes string defined at includes/Html/Html.php:205
includes/specials/SpecialVersion.php:516 PhanTypeMismatchArgumentProbablyReal Argument 1 ($extTypes) is self::$extensionTypes of type false but \MediaWiki\HookContainer\HookRunner::onExtensionTypes() takes string[] (no real type) defined at includes/HookContainer/HookRunner.php:1924 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
includes/specials/forms/PreferencesFormOOUI.php:123 PhanParamSignatureMismatch Declaration of function wrapFieldSetSection(string $legend, string $section, array $attributes, bool $isRoot) : \OOUI\PanelLayout should be compatible with function wrapFieldSetSection(string $legend, string $section, array $attributes, bool $isRoot) : string defined in includes/htmlform/HTMLForm.php:1824
includes/specials/forms/PreferencesFormOOUI.php:242 PhanTypeMismatchArgument Argument 2 ($label) is $label of type \OOUI\Tag|\Stringable but \PreferencesFormOOUI::createContentMobile() takes string defined at includes/specials/forms/PreferencesFormOOUI.php:314
includes/upload/UploadFromChunks.php:61 PhanTypeMismatchProperty Assigning $repo of type \MediaWiki\FileRepo\FileRepo to property but \UploadFromChunks->repo is \MediaWiki\FileRepo\LocalRepo
includes/upload/UploadStash.php:82 PhanTypeMismatchProperty Assigning $repo of type \MediaWiki\FileRepo\FileRepo to property but \UploadStash->repo is \MediaWiki\FileRepo\LocalRepo
includes/user/BotPassword.php:469 PhanTypeMismatchArgument Argument 4 ($extraData) is $extraData of type array{performer:\MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\MediaWiki\HookContainer\ProtectedHookAccessorTrait|\MediaWiki\Mail\UserEmailContact|\MediaWiki\Permissions\Authority|\MediaWiki\User\User|\MediaWiki\User\UserIdentity|\Stringable|\User|\Wikimedia\DebugInfo\DebugInfoTrait,appId?:string} but \MediaWiki\HookContainer\HookRunner::onAuthManagerLoginAuthenticateAudit() takes string[] defined at includes/HookContainer/HookRunner.php:964
includes/user/Registration/UserRegistrationLookup.php:116 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeMismatchProperty on this line but this suppression is unused or suppressed elsewhere
includes/user/UserGroupManager.php:1014 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeMismatchReturn on this line but this suppression is unused or suppressed elsewhere
includes/widget/CheckMatrixWidget.php:201 PhanTypeMismatchReturnProbablyReal Returning new HtmlSnippet($this->tooltipsHtml[$label]) of type \OOUI\HtmlSnippet but getTooltip() is declared to return string (no real type) (the inferred real return type has nothing in common with the declared phpdoc return type)
internal:940 PhanGenericConstructorTypes Missing template parameter for type TKey on constructor for generic class \WeakMap
internal:940 PhanGenericConstructorTypes Missing template parameter for type TValue on constructor for generic class \WeakMap
maintenance/Version.php:48 PhanTypeInvalidModuloOperand Operand ($x - 19) of type float to modulo (%%) operator is implicitly converted to int (deprecated in PHP 8.1)
maintenance/compareLanguageConverterOutput.php:261 PhanPossiblyUndeclaredVariable Variable $diff is possibly undeclared
maintenance/compareLanguageConverterOutput.php:261 PhanTypeMismatchArgumentNullable Argument 1 ($diff) is $diff of type ?\Diff|?\Wikimedia\Diff\Diff but \Wikimedia\Diff\ArrayDiffFormatter::format() takes \Wikimedia\Diff\Diff defined at includes/libs/Diff/ArrayDiffFormatter.php:28 (expected type to be non-nullable)
maintenance/copyFileBackend.php:353 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeArraySuspiciousNullable on this line but this suppression is unused or suppressed elsewhere
maintenance/generateSitemap.php:175 PhanTypeMismatchProperty Assigning $this->getReplicaDB() of type \Wikimedia\Rdbms\IReadableDatabase to property but \GenerateSitemap->dbr is \Wikimedia\Rdbms\IDatabase
maintenance/importImages.php:301 PhanPossiblyUndeclaredVariable Variable $f is possibly undeclared
maintenance/importImages.php:301 PhanTypeMismatchArgumentNullableInternal Argument 1 ($filename) is $f of type ?false|?non-empty-string|?string but \file_get_contents() takes string (expected type to be non-nullable)
maintenance/includes/ForkController.php:148 PhanUndeclaredVariable Variable $status is undeclared
maintenance/includes/ForkController.php:152 PhanPossiblyUndeclaredVariable Variable $this is possibly undeclared
maintenance/includes/ForkController.php:153 PhanPossiblyUndeclaredVariable Variable $this is possibly undeclared
maintenance/includes/ForkController.php:158 PhanPossiblyUndeclaredVariable Variable $this is possibly undeclared
maintenance/includes/SchemaMaintenance.php:166 PhanPossiblyUndeclaredVariable Variable $sql is possibly undeclared
maintenance/includes/SchemaMaintenance.php:171 PhanPossiblyUndeclaredVariable Variable $sql is possibly undeclared
maintenance/includes/TextPassDumper.php:667 PhanPossiblyUndeclaredVariable Variable $tryIsPrefetch is possibly undeclared
maintenance/rebuildImages.php:72 PhanTypeMismatchProperty Assigning $this->getPrimaryDB() of type \Wikimedia\Rdbms\IDatabase to property but \ImageBuilder->dbw is \Wikimedia\Rdbms\IMaintainableDatabase
maintenance/storage/checkStorage.php:221 PhanTypeMismatchProperty Assigning $esFactory->getStore('DB') of type \ExternalStoreMedium to property but \CheckStorage->dbStore is \ExternalStoreDB
maintenance/storage/checkStorage.php:424 PhanTypeMismatchProperty Assigning $esFactory->getStore('DB') of type \ExternalStoreMedium to property but \CheckStorage->dbStore is \ExternalStoreDB
maintenance/storage/recompressTracked.php:127 PhanTypeMismatchProperty Assigning $esFactory->getStore('DB') of type \ExternalStoreMedium to property but \RecompressTracked->store is \ExternalStoreDB
maintenance/storage/recompressTracked.php:729 PhanTypeMismatchProperty Assigning new $class() of type \HistoryBlob to property but \CgzCopyTransaction->cgz is \ConcatenatedGzipHistoryBlob|false
maintenance/storage/recompressTracked.php:747 PhanTypeMismatchProperty Assigning new $class() of type \HistoryBlob to property but \CgzCopyTransaction->cgz is \ConcatenatedGzipHistoryBlob|false
maintenance/storage/storageTypeStats.php:54 PhanTypeInvalidModuloOperand Operand ($rangeStart / $binSize) of type float|int to modulo (%%) operator is implicitly converted to int (deprecated in PHP 8.1)
maintenance/updateCollation.php:137 PhanTypeMismatchProperty Assigning $this->getPrimaryDB() of type \Wikimedia\Rdbms\IDatabase to property but \UpdateCollation->dbw is \Wikimedia\Rdbms\IMaintainableDatabase
maintenance/updateCollation.php:138 PhanTypeMismatchProperty Assigning $this->getReplicaDB() of type \Wikimedia\Rdbms\IReadableDatabase to property but \UpdateCollation->dbr is \Wikimedia\Rdbms\IDatabase
tests/common/Parser/ParserTestRunner.php:3103 PhanTypeMismatchArgument Argument 1 ($title) is $title of type \MediaWiki\Linker\LinkTarget|\MediaWiki\Title\TitleValue|\Stringable|\TitleValue|\Wikimedia\Parsoid\Core\LinkTarget|\Wikimedia\Parsoid\Core\LinkTargetTrait but \MediaWiki\FileRepo\RepoGroup::clearCache() takes \MediaWiki\Page\PageIdentity|null|string defined at includes/filerepo/RepoGroup.php:453
tests/phan/RdbmsTypeHintsTest.php:47 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeMismatchArgument on this line but this suppression is unused or suppressed elsewhere