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/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/ApiEditPage.php:356 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypePossiblyInvalidDimOffset on this line but this suppression is unused or suppressed elsewhere
includes/Api/ApiEditPage.php:368 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypePossiblyInvalidDimOffset on this line but this suppression is unused or suppressed elsewhere
includes/Api/ApiEditPage.php:650 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypePossiblyInvalidDimOffset on this line but this suppression is unused or suppressed elsewhere
includes/Api/ApiHelp.php:643 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypePossiblyInvalidDimOffset on this line but this suppression is unused or suppressed elsewhere
includes/Api/ApiMain.php:1764 PhanPossiblyUndeclaredVariable Variable $match is possibly undeclared
includes/Api/ApiMain.php:1764 PhanPossiblyUndeclaredVariable Variable $test is possibly undeclared
includes/Api/ApiQueryBacklinks.php:494 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanSuspiciousValueComparison on this line but this suppression is unused or suppressed elsewhere
includes/Api/ApiQueryBacklinks.php:495 PhanRedundantValueComparison Redundant comparison of count($this->cont) of type int (value: 8) to 7 of type int (value: 7) with operator '>=' (the comparison is always true)
includes/Api/ApiQueryBacklinks.php:519 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanSuspiciousValueComparisonInLoop on this line but this suppression is unused or suppressed elsewhere
includes/Api/ApiQueryBacklinks.php:520 PhanRedundantValueComparisonInLoop Redundant comparison of count($this->cont) of type int (value: 8) to 8 of type int (value: 8) with operator '>=' in a loop (the comparison is always true, likely a false positive)
includes/Api/ApiQueryBacklinksprop.php:317 PhanPossiblyUndeclaredVariable Variable $fld_title is possibly undeclared
includes/Api/ApiQueryRevisions.php:260 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypePossiblyInvalidDimOffset on this line but this suppression is unused or suppressed elsewhere
includes/Api/ApiQueryRevisions.php:265 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypePossiblyInvalidDimOffset on this line but this suppression is unused or suppressed elsewhere
includes/Api/ApiQueryRevisions.php:271 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypePossiblyInvalidDimOffset on this line but this suppression is unused or suppressed elsewhere
includes/Api/ApiQueryRevisions.php:274 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypePossiblyInvalidDimOffset on this line but this suppression is unused or suppressed elsewhere
includes/Api/ApiQueryRevisions.php:285 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypePossiblyInvalidDimOffset on this line but this suppression is unused or suppressed elsewhere
includes/Api/ApiQueryRevisions.php:288 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypePossiblyInvalidDimOffset on this line but this suppression is unused or suppressed elsewhere
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/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/Auth/AuthManager.php:574 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypePossiblyInvalidDimOffset on this line but this suppression is unused or suppressed elsewhere
includes/Auth/AuthManager.php:645 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypePossiblyInvalidDimOffset on this line but this suppression is unused or suppressed elsewhere
includes/Auth/AuthManager.php:1648 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypePossiblyInvalidDimOffset on this line but this suppression is unused or suppressed elsewhere
includes/Auth/AuthManager.php:1719 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypePossiblyInvalidDimOffset on this line but this suppression is unused or suppressed elsewhere
includes/Auth/AuthManager.php:1758 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypePossiblyInvalidDimOffset on this line but this suppression is unused or suppressed elsewhere
includes/Auth/AuthManager.php:2889 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:2892 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:2895 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/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/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/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:216 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:135 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeMismatchArgumentNullableInternal on this line but this suppression is unused or suppressed elsewhere
includes/Debug/Logger/Monolog/LineFormatter.php:138 PhanTypeSuspiciousStringExpression Suspicious type null of a variable or expression $e['line'] used to build a string. (Expected type to be able to cast to a string)
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:152 PhanTypeSuspiciousStringExpression Suspicious type null of a variable or expression $prev['line'] used to build a string. (Expected type to be able to cast to a string)
includes/Diff/DifferenceEngine.php:1082 PhanTypeMismatchArgumentInternal Argument 2 ($pieces) is $parts of type associative-array<mixed,?string> but \implode() takes string[]
includes/EditPage/EditPage.php:1238 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanSuspiciousValueComparison on this line but this suppression is unused or suppressed elsewhere
includes/EditPage/EditPage.php:1239 PhanRedundantValueComparison Redundant comparison of $this->section of type string to 'new' of type string with operator '===' (the comparison is always true)
includes/EditPage/EditPage.php:2470 PhanImpossibleValueComparison Impossible comparison of $this->section of type string to '' of type string with operator '!==' (the comparison is always false)
includes/EditPage/EditPage.php:2588 PhanTypeMismatchArgumentNullable Argument 2 ($oldModel) is $oldContentModel of type ?string but \MediaWiki\EditPage\EditPage::addContentModelChangeLogEntry() takes false|string defined at includes/EditPage/EditPage.php:2691 (expected type to be non-nullable)
includes/EditPage/EditPage.php:3145 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanSuspiciousValueComparison on this line but this suppression is unused or suppressed elsewhere
includes/EditPage/EditPage.php:3146 PhanImpossibleValueComparison Impossible comparison of $this->section of type string to 'new' of type string with operator '===' (the comparison is always false)
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/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/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/Installer/DatabaseUpdater.php:1481 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanUndeclaredInvokeInCallable on this line but this suppression is unused or suppressed elsewhere
includes/Installer/DatabaseUpdater.php:1521 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanUndeclaredInvokeInCallable on this line but this suppression is unused or suppressed elsewhere
includes/Installer/MysqlUpdater.php:214 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:785 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/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 PhanTypeArraySuspiciousNullable Suspicious array access to $userInfo of nullable type ?int|?mixed|?string|mixed
includes/JobQueue/Jobs/RefreshLinksJob.php:607 PhanTypeArraySuspiciousNullable Suspicious array access to $userInfo of nullable type ?int|?mixed|?string|mixed
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:1515 PhanTypeInvalidModuloOperand Operand ($jDayNo - 1) of type float to modulo (%%) operator is implicitly converted to int (deprecated in PHP 8.1)
includes/Language/LocalisationCache.php:1002 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanSuspiciousValueComparison on this line but this suppression is unused or suppressed elsewhere
includes/Language/LocalisationCache.php:1003 PhanRedundantValueComparison Redundant comparison of $coreData['fallback'] of type null to null of type null with operator '===' (the comparison is always true)
includes/Language/LocalisationCache.php:1077 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeArraySuspiciousNullable on this line but this suppression is unused or suppressed elsewhere
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/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/Mail/UserMailer.php:391 PhanPossiblyUndeclaredVariable Variable $recip is possibly undeclared
includes/Mail/UserMailer.php:406 PhanRedundantCondition Redundant attempt to cast self::$mErrorString of type '' to falsey
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/ImageHandler.php:137 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypePossiblyInvalidDimOffset on this line but this suppression is unused or suppressed elsewhere
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: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/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: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/OutputTransform/DefaultOutputPipelineFactory.php:174 PhanTypeInvalidCallableArrayKey In a place where phan was expecting a callable, saw an array with an unexpected key for element #0 (expected [$class_or_expr, $method_name])
includes/OutputTransform/DefaultOutputPipelineFactory.php:194 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeInvalidCallableArrayKey on this line but this suppression is unused or suppressed elsewhere
includes/OutputTransform/DefaultOutputPipelineFactory.php:195 PhanTypeInvalidCallableArraySize In a place where phan was expecting a callable, saw an array of size 7, but callable arrays must be of size 2
includes/OutputTransform/DefaultOutputPipelineFactory.php:195 PhanUndeclaredFunctionInCallable Call to undeclared function MediaWiki\OutputTransform\Stages\AddRedirectHeader in callable
includes/OutputTransform/DefaultOutputPipelineFactory.php:195 PhanUndeclaredFunctionInCallable Call to undeclared function MediaWiki\OutputTransform\Stages\ExpandToAbsoluteUrls in callable
includes/OutputTransform/DefaultOutputPipelineFactory.php:195 PhanUndeclaredFunctionInCallable Call to undeclared function MediaWiki\OutputTransform\Stages\HardenNFC in callable
includes/OutputTransform/DefaultOutputPipelineFactory.php:195 PhanUndeclaredFunctionInCallable Call to undeclared function MediaWiki\OutputTransform\Stages\HydrateHeaderPlaceholders in callable
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/Parser/CoreParserFunctions.php:2069 PhanUnusedVariableDeclarationCaughtException Variable $_ for caught exception is declared as unused. Omit the variable instead.
includes/Parser/DateFormatter.php:241 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypePossiblyInvalidDimOffset on this line but this suppression is unused or suppressed elsewhere
includes/Parser/Parser.php:2518 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypePossiblyInvalidDimOffset on this line but this suppression is unused or suppressed elsewhere
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/RecentChanges/ChangesListQuery/SeenCondition.php:56 PhanTypeMismatchArgumentNullable Argument 2 ($user) is $this->user of type ?\MediaWiki\DAO\WikiAwareEntity|?\MediaWiki\User\UserIdentity but \MediaWiki\Watchlist\WatchedItemStoreInterface::getLatestNotificationTimestamp() takes \MediaWiki\User\UserIdentity defined at includes/Watchlist/WatchedItemStoreInterface.php:384 (expected type to be non-nullable)
includes/RecentChanges/RecentChange.php:687 PhanRedundantValueComparison Redundant comparison of $name of type string to 'rc_actor' of type string with operator '===' (the comparison is always true)
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/ResourceLoader/ClientHtml.php:346 PhanTypeInvalidDimOffset Invalid offset "styles" of $data['embed'] of array type array{general:non-empty-mixed}
includes/ResourceLoader/CodexModule.php:247 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeArraySuspiciousNullable on this line but this suppression is unused or suppressed elsewhere
includes/ResourceLoader/FileModule.php:1426 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypePossiblyInvalidDimOffset on this line but this suppression is unused or suppressed elsewhere
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/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/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/Search/BaseSearchResultSet.php:48 PhanTypeMismatchProperty Assigning $this->getIterator() of type \Traversable to property but \BaseSearchResultSet->bcIterator is \ArrayIterator|null
includes/Search/SearchEngine.php:781 PhanTypeInvalidDimOffset Invalid offset $fieldName of $fields of array type array{}
includes/Session/SessionManager.php:262 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypePossiblyInvalidDimOffset on this line but this suppression is unused or suppressed elsewhere
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/Skin/SkinTemplate.php:1392 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypePossiblyInvalidDimOffset on this line but this suppression is unused or suppressed elsewhere
includes/SpecialPage/UserGroupsSpecialPage.php:205 PhanTypeMismatchReturnReal Returning new PanelLayout(['expanded'=>false,'padded'=>true,'framed'=>true,'content'=>new FieldsetLayout(['label'=>$panelLabel,'items'=>$panelItems])]) of type \OOUI\PanelLayout but buildViewGroupsFormContent() is declared to return string
includes/SpecialPage/UserGroupsSpecialPage.php:288 PhanTypeMismatchReturnReal Returning new PanelLayout(['expanded'=>false,'padded'=>true,'framed'=>true,'content'=>[new FieldsetLayout(['label'=>$panelLabel,'items'=>$panelItems]),new PanelLayout(['expanded'=>false,'content'=>new HtmlSnippet($form)])]]) of type \OOUI\PanelLayout but buildEditGroupsFormContent() is declared to return string
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/SpecialRedirect.php:114 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeMismatchArgumentNullable on this line but this suppression is unused or suppressed elsewhere
includes/Title/Title.php:805 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanSuspiciousValueComparison on this line but this suppression is unused or suppressed elsewhere
includes/Title/Title.php:806 PhanRedundantValueComparison Redundant comparison of $ord1 of type int (value: 0) to 128 of type int (value: 128) with operator '<' (the comparison is always true)
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/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)
includes/Widget/ComplexTitleInputWidget.php:44 PhanTypePossiblyInvalidDimOffset Possibly invalid offset 'namespace' of $config of array type array{namespace?:array,title?:array}
includes/Widget/ComplexTitleInputWidget.php:46 PhanTypePossiblyInvalidDimOffset Possibly invalid offset 'title' of $config of array type array{namespace?:array,title?:array}
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/Http/MultiHttpClient.php:490 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeArraySuspiciousNullable on this line but this suppression is unused or suppressed elsewhere
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/Mime/XmlTypeCheck.php:358 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeInvalidCallable on this line but this suppression is unused or suppressed elsewhere
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/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:852 PhanTypeMismatchProperty Assigning $conn of type \Wikimedia\Rdbms\IDatabaseForOwner to property but \Wikimedia\Rdbms\LoadBalancer->lastErrorConn is \Wikimedia\Rdbms\Database|null
includes/libs/Rdbms/LoadBalancer/LoadBalancer.php:2084 PhanUndeclaredMethod Call to undeclared method \Wikimedia\Rdbms\ILoadMonitor::setMockTime
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/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/UUID/GlobalIdGenerator.php:607 PhanTypeInvalidModuloOperand Operand $ts of type float|int to modulo (%%) operator is implicitly converted to int (deprecated in PHP 8.1)
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/doMaintenance.php:28 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanSuspiciousValueComparisonInGlobalScope on this line but this suppression is unused or suppressed elsewhere
maintenance/doMaintenance.php:29 PhanRedundantValueComparisonInGlobalScope Redundant comparison of $maintClass of type string to CommandLineInc::class of type string with operator '!=' in the global scope (the comparison is always true, likely a false positive)
maintenance/generateSitemap.php:175 PhanTypeMismatchProperty Assigning $this->getReplicaDB() of type \Wikimedia\Rdbms\IReadableDatabase to property but \GenerateSitemap->dbr is \Wikimedia\Rdbms\IDatabase
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:549 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanSuspiciousValueComparisonInLoop on this line but this suppression is unused or suppressed elsewhere
maintenance/includes/TextPassDumper.php:550 PhanRedundantValueComparisonInLoop Redundant comparison of $text of type false to false of type false with operator '===' in a loop (the comparison is always true, likely a false positive)
maintenance/includes/TextPassDumper.php:650 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/sql.php:70 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanSuspiciousValueComparison on this line but this suppression is unused or suppressed elsewhere
maintenance/sql.php:71 PhanRedundantValueComparison Redundant comparison of $index of type int (value: 0) to ServerInfo::WRITER_INDEX of type int (value: 0) with operator '===' (the comparison is always true)
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/parser/editTests.php:270 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanUndeclaredProperty on this line but this suppression is unused or suppressed elsewhere
tests/phan/RdbmsTypeHintsTest.php:47 UnusedPluginSuppression Plugin BuiltinSuppressionPlugin suppresses issue PhanTypeMismatchArgument on this line but this suppression is unused or suppressed elsewhere