From 130ec2523df12a3ca2fe0d422163696d09fcea08 Mon Sep 17 00:00:00 2001 From: Umherirrender Date: Tue, 26 Jun 2018 23:14:43 +0200 Subject: [PATCH] Fix PhanTypeMismatchDeclaredParam Auto fix MediaWiki.Commenting.FunctionComment.DefaultNullTypeParam sniff Change-Id: I865323fd0295aabd06f3e3c75e0e5043fb31069e --- .phpcs.xml | 1 - includes/Block.php | 8 ++--- includes/Category.php | 2 +- includes/CommentStore.php | 12 +++---- includes/EditPage.php | 10 +++--- includes/FileDeleteForm.php | 2 +- includes/FormOptions.php | 2 +- includes/GlobalFunctions.php | 12 +++---- includes/Html.php | 4 +-- includes/Linker.php | 6 ++-- includes/MWNamespace.php | 2 +- includes/MWTimestamp.php | 6 ++-- includes/MagicWord.php | 2 +- includes/MediaWiki.php | 4 +-- includes/Message.php | 2 +- includes/OutputPage.php | 18 +++++----- includes/Pingback.php | 4 +-- includes/ProtectionForm.php | 2 +- includes/Revision.php | 2 +- includes/SiteConfiguration.php | 10 +++--- includes/Status.php | 8 ++--- includes/Storage/DerivedPageDataUpdater.php | 2 +- includes/Storage/NameTableStore.php | 4 +-- includes/Storage/RevisionFactory.php | 2 +- includes/Storage/RevisionLookup.php | 4 +-- includes/Storage/RevisionStore.php | 8 ++--- includes/StubObject.php | 4 +-- includes/TemplateParser.php | 2 +- includes/Title.php | 12 +++---- includes/WebRequest.php | 8 ++--- includes/WikiMap.php | 4 +-- includes/Xml.php | 16 ++++----- includes/api/ApiBase.php | 8 ++--- includes/api/ApiDelete.php | 2 +- includes/api/ApiMain.php | 4 +-- includes/api/ApiModuleManager.php | 8 ++--- includes/api/ApiPageSet.php | 10 +++--- includes/api/ApiQueryAllDeletedRevisions.php | 2 +- includes/api/ApiQueryAllRevisions.php | 2 +- includes/api/ApiQueryBacklinksprop.php | 2 +- includes/api/ApiQueryBase.php | 8 ++--- includes/api/ApiQueryIWBacklinks.php | 2 +- includes/api/ApiQueryImageInfo.php | 2 +- includes/api/ApiQueryLangBacklinks.php | 2 +- includes/api/ApiQueryQueryPage.php | 2 +- includes/api/ApiQueryRecentChanges.php | 2 +- includes/api/ApiQueryRevisionsBase.php | 2 +- includes/api/ApiResult.php | 10 +++--- ...tPasswordPrimaryAuthenticationProvider.php | 2 +- includes/auth/AuthManager.php | 2 +- includes/auth/AuthenticationResponse.php | 2 +- includes/auth/Throttler.php | 2 +- includes/cache/LinkCache.php | 4 +-- includes/cache/MessageBlobStore.php | 4 +-- includes/cache/MessageCache.php | 14 ++++---- includes/changes/CategoryMembershipChange.php | 4 +-- includes/changes/ChangesList.php | 10 +++--- includes/changes/EnhancedChangesList.php | 2 +- includes/changes/OldChangesList.php | 2 +- includes/changes/RecentChange.php | 10 +++--- includes/changetags/ChangeTags.php | 6 ++-- includes/content/AbstractContent.php | 10 +++--- includes/content/CodeContentHandler.php | 4 +-- includes/content/Content.php | 12 +++---- includes/content/ContentHandler.php | 18 +++++----- includes/content/MessageContent.php | 6 ++-- includes/content/TextContent.php | 2 +- includes/content/TextContentHandler.php | 4 +-- includes/db/CloneDatabase.php | 2 +- includes/db/PatchFileLocation.php | 2 +- .../debug/logger/monolog/LineFormatter.php | 4 +-- includes/deferred/SearchUpdate.php | 2 +- includes/diff/DairikiDiff.php | 2 +- includes/diff/DifferenceEngine.php | 2 +- includes/exception/LocalizedException.php | 3 +- includes/exception/MWExceptionHandler.php | 16 ++++----- includes/export/DumpPipeOutput.php | 2 +- includes/filerepo/file/OldLocalFile.php | 2 +- includes/htmlform/HTMLForm.php | 2 +- includes/http/MWHttpRequest.php | 2 +- includes/installer/CliInstaller.php | 2 +- includes/installer/DatabaseUpdater.php | 6 ++-- includes/installer/Installer.php | 2 +- includes/installer/WebInstaller.php | 2 +- includes/installer/WebInstallerPage.php | 2 +- includes/interwiki/Interwiki.php | 2 +- includes/jobqueue/JobRunner.php | 2 +- includes/jobqueue/JobSpecification.php | 2 +- includes/libs/Cookie.php | 2 +- includes/libs/MapCacheLRU.php | 2 +- includes/libs/ProcessCacheLRU.php | 2 +- includes/libs/StatusValue.php | 4 +-- includes/libs/Timing.php | 4 +-- includes/libs/filebackend/FileBackend.php | 2 +- .../libs/filebackend/FileBackendStore.php | 2 +- .../libs/filebackend/SwiftFileBackend.php | 4 +-- .../filebackend/filejournal/FileJournal.php | 4 +-- includes/libs/lockmanager/ScopedLock.php | 2 +- includes/libs/mime/MimeAnalyzer.php | 4 +-- includes/libs/mime/XmlTypeCheck.php | 6 ++-- includes/libs/objectcache/BagOStuff.php | 6 ++-- includes/libs/objectcache/WANObjectCache.php | 10 +++--- includes/libs/rdbms/database/Database.php | 2 +- .../libs/rdbms/database/DatabaseMysqlBase.php | 8 ++--- .../libs/rdbms/database/DatabaseMysqli.php | 2 +- .../libs/rdbms/database/DatabaseSqlite.php | 2 +- includes/libs/rdbms/database/IDatabase.php | 12 +++---- .../rdbms/database/IMaintainableDatabase.php | 4 +-- .../rdbms/exception/DBConnectionError.php | 2 +- includes/libs/rdbms/exception/DBError.php | 2 +- .../libs/rdbms/exception/DBQueryError.php | 2 +- includes/libs/rdbms/lbfactory/ILBFactory.php | 2 +- .../libs/rdbms/loadbalancer/ILoadBalancer.php | 6 ++-- .../libs/rdbms/loadbalancer/LoadBalancer.php | 2 +- includes/libs/redis/RedisConnRef.php | 16 ++++----- includes/libs/redis/RedisConnectionPool.php | 4 +-- includes/logging/LogEntry.php | 2 +- includes/logging/LogEventsList.php | 10 +++--- includes/logging/LogFormatter.php | 2 +- includes/logging/PatrolLog.php | 4 +-- includes/mail/MailAddress.php | 4 +-- includes/media/BmpHandler.php | 2 +- includes/media/MediaHandler.php | 2 +- includes/media/MediaTransformOutput.php | 2 +- includes/media/TiffHandler.php | 2 +- includes/media/XCF.php | 2 +- includes/page/Article.php | 8 ++--- includes/page/PageArchive.php | 4 +-- includes/page/WikiPage.php | 32 ++++++++--------- includes/pager/IndexPager.php | 4 +-- includes/parser/CoreParserFunctions.php | 34 +++++++++---------- includes/parser/Parser.php | 10 +++--- includes/parser/ParserOptions.php | 6 ++-- includes/parser/ParserOutput.php | 2 +- includes/parser/Sanitizer.php | 4 +-- includes/poolcounter/PoolWorkArticleView.php | 2 +- includes/profiler/Profiler.php | 2 +- includes/resourceloader/ResourceLoader.php | 31 +++++++++-------- .../ResourceLoaderClientHtml.php | 3 +- .../ResourceLoaderFileModule.php | 16 ++++----- .../ResourceLoaderImageModule.php | 4 +-- .../ResourceLoaderLanguageDataModule.php | 2 +- .../ResourceLoaderLanguageNamesModule.php | 2 +- .../resourceloader/ResourceLoaderModule.php | 2 +- ...sourceLoaderSpecialCharacterDataModule.php | 2 +- .../ResourceLoaderUserOptionsModule.php | 2 +- .../ResourceLoaderWikiModule.php | 3 +- includes/search/SearchDatabase.php | 2 +- includes/search/SearchEngine.php | 2 +- includes/search/SearchEngineFactory.php | 2 +- includes/search/SearchHighlighter.php | 4 +-- includes/search/SearchResult.php | 2 +- includes/session/CookieSessionProvider.php | 2 +- includes/session/Session.php | 4 +-- includes/session/SessionBackend.php | 2 +- includes/site/SiteSQLStore.php | 2 +- includes/skins/BaseTemplate.php | 4 +-- includes/skins/QuickTemplate.php | 4 +-- includes/skins/Skin.php | 8 ++--- includes/skins/SkinTemplate.php | 4 +-- .../specialpage/AuthManagerSpecialPage.php | 6 ++-- .../specialpage/LoginSignupSpecialPage.php | 2 +- includes/specialpage/SpecialPage.php | 7 ++-- includes/specialpage/SpecialPageFactory.php | 2 +- includes/specials/SpecialBlock.php | 4 +-- includes/specials/SpecialEmailuser.php | 2 +- includes/specials/SpecialPrefixindex.php | 2 +- includes/specials/SpecialUndelete.php | 2 +- includes/specials/SpecialUpload.php | 4 +-- includes/specials/pagers/ActiveUsersPager.php | 2 +- includes/specials/pagers/UsersPager.php | 6 ++-- includes/tidy/RaggettBase.php | 2 +- includes/tidy/RaggettExternal.php | 2 +- includes/tidy/RaggettInternalHHVM.php | 2 +- includes/tidy/RaggettInternalPHP.php | 2 +- includes/title/MalformedTitleException.php | 2 +- includes/upload/UploadBase.php | 8 ++--- includes/upload/UploadStash.php | 7 ++-- includes/user/PasswordReset.php | 4 +-- includes/user/User.php | 25 +++++++------- includes/user/UserGroupMembership.php | 2 +- includes/utils/MWRestrictions.php | 2 +- includes/utils/ZipDirectoryReader.php | 2 +- .../watcheditem/WatchedItemStoreInterface.php | 2 +- languages/ConverterRule.php | 2 +- languages/Language.php | 4 +-- languages/LanguageConverter.php | 2 +- languages/classes/LanguageFi.php | 2 +- maintenance/Maintenance.php | 18 +++++----- maintenance/backup.inc | 2 +- maintenance/dumpTextPass.php | 2 +- tests/parser/ParserTestRunner.php | 2 +- tests/phan/config.php | 4 --- tests/phpunit/MediaWikiTestCase.php | 13 +++---- tests/phpunit/includes/TestLogger.php | 2 +- .../includes/api/RandomImageGenerator.php | 2 +- .../includes/api/query/ApiQueryTestBase.php | 4 +-- .../includes/media/MediaWikiMediaTestCase.php | 2 +- .../includes/page/WikiPageDbTestBase.php | 2 +- tests/phpunit/includes/session/TestUtils.php | 4 +-- .../mocks/content/DummyContentForTesting.php | 2 +- .../content/DummyContentHandlerForTesting.php | 4 +-- .../mocks/content/DummyNonTextContent.php | 2 +- .../content/DummyNonTextContentHandler.php | 4 +-- .../DummySerializeErrorContentHandler.php | 2 +- thumb.php | 2 +- 206 files changed, 495 insertions(+), 492 deletions(-) diff --git a/.phpcs.xml b/.phpcs.xml index e15eca089e..8d33f6969d 100644 --- a/.phpcs.xml +++ b/.phpcs.xml @@ -7,7 +7,6 @@ - diff --git a/includes/Block.php b/includes/Block.php index a7b80352b3..1d2e3417ab 100644 --- a/includes/Block.php +++ b/includes/Block.php @@ -299,7 +299,7 @@ class Block { * 1) A block directly on the given user or IP * 2) A rangeblock encompassing the given IP (smallest first) * 3) An autoblock on the given IP - * @param User|string $vagueTarget Also search for blocks affecting this target. Doesn't + * @param User|string|null $vagueTarget Also search for blocks affecting this target. Doesn't * make any sense to use TYPE_AUTO / TYPE_ID here. Leave blank to skip IP lookups. * @throws MWException * @return bool Whether a relevant block was found @@ -405,7 +405,7 @@ class Block { /** * Get a set of SQL conditions which will select rangeblocks encompassing a given range * @param string $start Hexadecimal IP representation - * @param string $end Hexadecimal IP representation, or null to use $start = $end + * @param string|null $end Hexadecimal IP representation, or null to use $start = $end * @return string */ public static function getRangeCond( $start, $end = null ) { @@ -519,7 +519,7 @@ class Block { * Insert a block into the block table. Will fail if there is a conflicting * block (same name and options) already in the database. * - * @param IDatabase $dbw If you have one available + * @param IDatabase|null $dbw If you have one available * @return bool|array False on failure, assoc array on success: * ('id' => block ID, 'autoIds' => array of autoblock IDs) */ @@ -1162,7 +1162,7 @@ class Block { * Calling this with a user, IP address or range will not select autoblocks, and will * only select a block where the targets match exactly (so looking for blocks on * 1.2.3.4 will not select 1.2.0.0/16 or even 1.2.3.4/32) - * @param string|User|int $vagueTarget As above, but we will search for *any* block which + * @param string|User|int|null $vagueTarget As above, but we will search for *any* block which * affects that target (so for an IP address, get ranges containing that IP; and also * get any relevant autoblocks). Leave empty or blank to skip IP-based lookups. * @param bool $fromMaster Whether to use the DB_MASTER database diff --git a/includes/Category.php b/includes/Category.php index 41ecc65032..fe3dd0d80e 100644 --- a/includes/Category.php +++ b/includes/Category.php @@ -171,7 +171,7 @@ class Category { * fields are null, the resulting Category object will represent an empty * category if a title object was given. If the fields are null and no * title was given, this method fails and returns false. - * @param Title $title Optional title object for the category represented by + * @param Title|null $title Optional title object for the category represented by * the given row. May be provided if it is already known, to avoid having * to re-create a title object later. * @return Category|false diff --git a/includes/CommentStore.php b/includes/CommentStore.php index 6b94d58e6c..8a1901c747 100644 --- a/includes/CommentStore.php +++ b/includes/CommentStore.php @@ -158,7 +158,7 @@ class CommentStore { * * @since 1.30 * @since 1.31 Method signature changed, $key parameter added (with deprecated back compat) - * @param string $key A key such as "rev_comment" identifying the comment + * @param string|null $key A key such as "rev_comment" identifying the comment * field being fetched. * @return string[] to include in the `$vars` to `IDatabase->select()`. All * fields are aliased, so `+` is safe to use. @@ -191,7 +191,7 @@ class CommentStore { * * @since 1.30 * @since 1.31 Method signature changed, $key parameter added (with deprecated back compat) - * @param string $key A key such as "rev_comment" identifying the comment + * @param string|null $key A key such as "rev_comment" identifying the comment * field being fetched. * @return array With three keys: * - tables: (string[]) to include in the `$table` to `IDatabase->select()` @@ -381,7 +381,7 @@ class CommentStore { * @since 1.31 Method signature changed, $key parameter added (with deprecated back compat) * @param string $key A key such as "rev_comment" identifying the comment * field being fetched. - * @param object|array $row Result row. + * @param object|array|null $row Result row. * @param bool $fallback If true, fall back as well as possible instead of throwing an exception. * @return CommentStoreComment */ @@ -415,7 +415,7 @@ class CommentStore { * @param IDatabase $db Database handle to use for lookup * @param string $key A key such as "rev_comment" identifying the comment * field being fetched. - * @param object|array $row Result row. + * @param object|array|null $row Result row. * @param bool $fallback If true, fall back as well as possible instead of throwing an exception. * @return CommentStoreComment */ @@ -567,7 +567,7 @@ class CommentStore { * @param IDatabase $dbw Database handle to insert on * @param string $key A key such as "rev_comment" identifying the comment * field being fetched. - * @param string|Message|CommentStoreComment $comment As for `self::createComment()` + * @param string|Message|CommentStoreComment|null $comment As for `self::createComment()` * @param array|null $data As for `self::createComment()` * @return array Fields for the insert or update */ @@ -606,7 +606,7 @@ class CommentStore { * @param IDatabase $dbw Database handle to insert on * @param string $key A key such as "rev_comment" identifying the comment * field being fetched. - * @param string|Message|CommentStoreComment $comment As for `self::createComment()` + * @param string|Message|CommentStoreComment|null $comment As for `self::createComment()` * @param array|null $data As for `self::createComment()` * @return array Two values: * - array Fields for the insert or update diff --git a/includes/EditPage.php b/includes/EditPage.php index de89ab44b6..dfb2b43381 100644 --- a/includes/EditPage.php +++ b/includes/EditPage.php @@ -3193,8 +3193,8 @@ ERROR; * Builds a standard summary input with a label. * * @param string $summary The value of the summary input - * @param string $labelText The html to place inside the label - * @param array $inputAttrs Array of attrs to use on the input + * @param string|null $labelText The html to place inside the label + * @param array|null $inputAttrs Array of attrs to use on the input * * @return OOUI\FieldLayout OOUI FieldLayout with Label and Input */ @@ -3327,8 +3327,8 @@ ERROR; * The $textoverride method can be used by subclasses overriding showContentForm * to pass back to this method. * - * @param array $customAttribs Array of html attributes to use in the textarea - * @param string $textoverride Optional text to override $this->textarea1 with + * @param array|null $customAttribs Array of html attributes to use in the textarea + * @param string|null $textoverride Optional text to override $this->textarea1 with */ protected function showTextbox1( $customAttribs = null, $textoverride = null ) { if ( $this->wasDeletedSinceLastEdit() && $this->formtype == 'save' ) { @@ -4026,7 +4026,7 @@ ERROR; * Shows a bulletin board style toolbar for common editing functions. * It can be disabled in the user preferences. * - * @param Title $title Title object for the page being edited (optional) + * @param Title|null $title Title object for the page being edited (optional) * @return string */ public static function getEditToolbar( $title = null ) { diff --git a/includes/FileDeleteForm.php b/includes/FileDeleteForm.php index 898005ecc9..ce75037049 100644 --- a/includes/FileDeleteForm.php +++ b/includes/FileDeleteForm.php @@ -148,7 +148,7 @@ class FileDeleteForm { * @param string &$oldimage Archive name * @param string $reason Reason of the deletion * @param bool $suppress Whether to mark all deleted versions as restricted - * @param User $user User object performing the request + * @param User|null $user User object performing the request * @param array $tags Tags to apply to the deletion action * @throws MWException * @return Status diff --git a/includes/FormOptions.php b/includes/FormOptions.php index 53c8d3bf7c..53ddac9b19 100644 --- a/includes/FormOptions.php +++ b/includes/FormOptions.php @@ -336,7 +336,7 @@ class FormOptions implements ArrayAccess { * available for accessing with getValue() or consumeValue() etc. * * @param WebRequest $r The request to fetch values from - * @param array $optionKeys Which options to fetch the values for (default: + * @param array|null $optionKeys Which options to fetch the values for (default: * all of them). Note that passing an empty array will also result in * values for all keys being fetched. * @throws MWException If the type of any option is invalid diff --git a/includes/GlobalFunctions.php b/includes/GlobalFunctions.php index d0229bc353..543978b56e 100644 --- a/includes/GlobalFunctions.php +++ b/includes/GlobalFunctions.php @@ -1443,7 +1443,7 @@ function wfHostname() { * If $wgShowHostnames is true, the script will also set 'wgHostname' to the * hostname of the server handling the request. * - * @param string $nonce Value from OutputPage::getCSPNonce + * @param string|null $nonce Value from OutputPage::getCSPNonce * @return string|WrappedString HTML */ function wfReportTime( $nonce = null ) { @@ -1980,7 +1980,7 @@ function wfTimestamp( $outputtype = TS_UNIX, $ts = 0 ) { * For dealing with nullable timestamp columns in the database. * * @param int $outputtype - * @param string $ts + * @param string|null $ts * @return string */ function wfTimestampOrNull( $outputtype = TS_UNIX, $ts = null ) { @@ -2058,8 +2058,8 @@ function wfTempDir() { * Make directory, and make all parent directories if they don't exist * * @param string $dir Full path to directory to create - * @param int $mode Chmod value to use, default is $wgDirectoryMode - * @param string $caller Optional caller param for debugging. + * @param int|null $mode Chmod value to use, default is $wgDirectoryMode + * @param string|null $caller Optional caller param for debugging. * @throws MWException * @return bool */ @@ -2317,7 +2317,7 @@ function wfShellWikiCmd( $script, array $parameters = [], array $options = [] ) * @param string $mine * @param string $yours * @param string &$result - * @param string &$mergeAttemptResult + * @param string|null &$mergeAttemptResult * @return bool */ function wfMerge( $old, $mine, $yours, &$result, &$mergeAttemptResult = null ) { @@ -3200,7 +3200,7 @@ function wfUnpack( $format, $data, $length = false ) { * * @param string $name The image name to check * @param Title|bool $contextTitle The page on which the image occurs, if known - * @param string $blacklist Wikitext of a file blacklist + * @param string|null $blacklist Wikitext of a file blacklist * @return bool */ function wfIsBadImage( $name, $contextTitle = false, $blacklist = null ) { diff --git a/includes/Html.php b/includes/Html.php index 0016426f54..3dd21c113d 100644 --- a/includes/Html.php +++ b/includes/Html.php @@ -557,7 +557,7 @@ class Html { * literal "" or (for XML) literal "]]>". * * @param string $contents JavaScript - * @param string $nonce Nonce for CSP header, from OutputPage::getCSPNonce() + * @param string|null $nonce Nonce for CSP header, from OutputPage::getCSPNonce() * @return string Raw HTML */ public static function inlineScript( $contents, $nonce = null ) { @@ -582,7 +582,7 @@ class Html { * "". * * @param string $url - * @param string $nonce Nonce for CSP header, from OutputPage::getCSPNonce() + * @param string|null $nonce Nonce for CSP header, from OutputPage::getCSPNonce() * @return string Raw HTML */ public static function linkedScript( $url, $nonce = null ) { diff --git a/includes/Linker.php b/includes/Linker.php index 89a6a108ac..b807ecc110 100644 --- a/includes/Linker.php +++ b/includes/Linker.php @@ -904,7 +904,7 @@ class Linker { * red if the user has no edits? * @param int $flags Customisation flags (e.g. Linker::TOOL_LINKS_NOBLOCK * and Linker::TOOL_LINKS_EMAIL). - * @param int $edits User edit count (optional, for performance) + * @param int|null $edits User edit count (optional, for performance) * @return string HTML fragment */ public static function userToolLinks( @@ -966,7 +966,7 @@ class Linker { * @since 1.16.3 * @param int $userId User identifier * @param string $userText User name or IP address - * @param int $edits User edit count (optional, for performance) + * @param int|null $edits User edit count (optional, for performance) * @return string */ public static function userToolLinksRedContribs( $userId, $userText, $edits = null ) { @@ -1678,7 +1678,7 @@ class Linker { * @since 1.16.3. $context added in 1.20. $options added in 1.21 * * @param Revision $rev - * @param IContextSource $context Context to use or null for the main context. + * @param IContextSource|null $context Context to use or null for the main context. * @param array $options * @return string */ diff --git a/includes/MWNamespace.php b/includes/MWNamespace.php index 1df5d519a4..e03a29b80f 100644 --- a/includes/MWNamespace.php +++ b/includes/MWNamespace.php @@ -477,7 +477,7 @@ class MWNamespace { * * @since 1.23 * @param int $index Index to check - * @param User $user User to check + * @param User|null $user User to check * @return array */ public static function getRestrictionLevels( $index, User $user = null ) { diff --git a/includes/MWTimestamp.php b/includes/MWTimestamp.php index 7f3649e39c..d28169f388 100644 --- a/includes/MWTimestamp.php +++ b/includes/MWTimestamp.php @@ -138,9 +138,9 @@ class MWTimestamp extends ConvertibleTimestamp { * Generate a purely relative timestamp, i.e., represent the time elapsed between * the given base timestamp and this object. * - * @param MWTimestamp $relativeTo Relative base timestamp (defaults to now) - * @param User $user Use to use offset for - * @param Language $lang Language to use + * @param MWTimestamp|null $relativeTo Relative base timestamp (defaults to now) + * @param User|null $user Use to use offset for + * @param Language|null $lang Language to use * @param array $chosenIntervals Intervals to use to represent it * @return string Relative timestamp */ diff --git a/includes/MagicWord.php b/includes/MagicWord.php index 17a4a0fff6..9cef700007 100644 --- a/includes/MagicWord.php +++ b/includes/MagicWord.php @@ -257,7 +257,7 @@ class MagicWord { * * Use factory instead: MagicWord::get * - * @param string $id The internal name of the magic word + * @param string|null $id The internal name of the magic word * @param string[]|string $syn synonyms for the magic word * @param bool $cs If magic word is case sensitive */ diff --git a/includes/MediaWiki.php b/includes/MediaWiki.php index bcc3633321..b11239a1ca 100644 --- a/includes/MediaWiki.php +++ b/includes/MediaWiki.php @@ -568,7 +568,7 @@ class MediaWiki { /** * @see MediaWiki::preOutputCommit() - * @param callable $postCommitWork [default: null] + * @param callable|null $postCommitWork [default: null] * @since 1.26 */ public function doPreOutputCommit( callable $postCommitWork = null ) { @@ -580,7 +580,7 @@ class MediaWiki { * the user can receive a response (in case commit fails) * * @param IContextSource $context - * @param callable $postCommitWork [default: null] + * @param callable|null $postCommitWork [default: null] * @since 1.27 */ public static function preOutputCommit( diff --git a/includes/Message.php b/includes/Message.php index 84ab7ca703..a499035e11 100644 --- a/includes/Message.php +++ b/includes/Message.php @@ -242,7 +242,7 @@ class Message implements MessageSpecifier, Serializable { * message keys to try and use the first non-empty message for, or a * MessageSpecifier to copy from. * @param array $params Message parameters. - * @param Language $language [optional] Language to use (defaults to current user language). + * @param Language|null $language [optional] Language to use (defaults to current user language). * @throws InvalidArgumentException */ public function __construct( $key, $params = [], Language $language = null ) { diff --git a/includes/OutputPage.php b/includes/OutputPage.php index 4ce49fd9eb..3b4b14a34d 100644 --- a/includes/OutputPage.php +++ b/includes/OutputPage.php @@ -469,7 +469,7 @@ class OutputPage extends ContextSource { * Internal use only. Use OutputPage::addModules() if possible. * * @param string $file URL to file (absolute path, protocol-relative, or full url) - * @param string $unused Previously used to change the cache-busting query parameter + * @param string|null $unused Previously used to change the cache-busting query parameter */ public function addScriptFile( $file, $unused = null ) { if ( substr( $file, 0, 1 ) !== '/' && !preg_match( '#^[a-z]*://#i', $file ) ) { @@ -1929,7 +1929,7 @@ class OutputPage extends ContextSource { * @param bool $interface Use interface language ($wgLang instead of * $wgContLang) while parsing language sensitive magic words like GRAMMAR and PLURAL. * This also disables LanguageConverter. - * @param Language $language Target language object, will override $interface + * @param Language|null $language Target language object, will override $interface * @throws MWException * @return string HTML */ @@ -2533,7 +2533,7 @@ class OutputPage extends ContextSource { * Output a standard permission error page * * @param array $errors Error message keys or [key, param...] arrays - * @param string $action Action that was denied or null if unknown + * @param string|null $action Action that was denied or null if unknown */ public function showPermissionsErrorPage( array $errors, $action = null ) { foreach ( $errors as $key => $error ) { @@ -2623,7 +2623,7 @@ class OutputPage extends ContextSource { * Format a list of error messages * * @param array $errors Array of arrays returned by Title::getUserPermissionsErrors - * @param string $action Action that was denied or null if unknown + * @param string|null $action Action that was denied or null if unknown * @return string The wikitext error-messages, formatted into a list. */ public function formatPermissionsErrorMessage( array $errors, $action = null ) { @@ -2708,7 +2708,7 @@ class OutputPage extends ContextSource { * * @param Title $title Title to link * @param array $query Query string parameters - * @param string $text Text of the link (input is not escaped) + * @param string|null $text Text of the link (input is not escaped) * @param array $options Options array to pass to Linker */ public function addReturnTo( $title, array $query = [], $text = null, $options = [] ) { @@ -2723,9 +2723,9 @@ class OutputPage extends ContextSource { * Add a "return to" link pointing to a specified title, * or the title indicated in the request, or else the main page * - * @param mixed $unused - * @param Title|string $returnto Title or String to return to - * @param string $returntoquery Query string for the return to link + * @param mixed|null $unused + * @param Title|string|null $returnto Title or String to return to + * @param string|null $returntoquery Query string for the return to link */ public function returnToMain( $unused = null, $returnto = null, $returntoquery = null ) { if ( $returnto == null ) { @@ -3055,7 +3055,7 @@ class OutputPage extends ContextSource { * Add one or more variables to be set in mw.config in JavaScript * * @param string|array $keys Key or array of key/value pairs - * @param mixed $value [optional] Value of the configuration variable + * @param mixed|null $value [optional] Value of the configuration variable */ public function addJsConfigVars( $keys, $value = null ) { if ( is_array( $keys ) ) { diff --git a/includes/Pingback.php b/includes/Pingback.php index 64b54f1e4b..ee608c2d9c 100644 --- a/includes/Pingback.php +++ b/includes/Pingback.php @@ -50,8 +50,8 @@ class Pingback { protected $id; /** - * @param Config $config - * @param LoggerInterface $logger + * @param Config|null $config + * @param LoggerInterface|null $logger */ public function __construct( Config $config = null, LoggerInterface $logger = null ) { $this->config = $config ?: RequestContext::getMain()->getConfig(); diff --git a/includes/ProtectionForm.php b/includes/ProtectionForm.php index 51c2923385..1f3de501f8 100644 --- a/includes/ProtectionForm.php +++ b/includes/ProtectionForm.php @@ -196,7 +196,7 @@ class ProtectionForm { /** * Show the input form with optional error message * - * @param string $err Error message or null if there's no error + * @param string|null $err Error message or null if there's no error */ function show( $err = null ) { $out = $this->mContext->getOutput(); diff --git a/includes/Revision.php b/includes/Revision.php index dc15f97c99..d6ff384fff 100644 --- a/includes/Revision.php +++ b/includes/Revision.php @@ -887,7 +887,7 @@ class Revision implements IDBAccessObject { * Revision::FOR_PUBLIC to be displayed to all users * Revision::FOR_THIS_USER to be displayed to $user * Revision::RAW get the text regardless of permissions - * @param User $user User object to check for, only if FOR_THIS_USER is passed + * @param User|null $user User object to check for, only if FOR_THIS_USER is passed * to the $audience parameter * @since 1.21 * @return Content|null diff --git a/includes/SiteConfiguration.php b/includes/SiteConfiguration.php index 8e77956e82..1eaedc2e6e 100644 --- a/includes/SiteConfiguration.php +++ b/includes/SiteConfiguration.php @@ -180,7 +180,7 @@ class SiteConfiguration { * Retrieves a configuration setting for a given wiki. * @param string $settingName ID of the setting name to retrieve * @param string $wiki Wiki ID of the wiki in question. - * @param string $suffix The suffix of the wiki in question. + * @param string|null $suffix The suffix of the wiki in question. * @param array $params List of parameters. $.'key' is replaced by $value in all returned data. * @param array $wikiTags The tags assigned to the wiki. * @return mixed The value of the setting requested. @@ -294,7 +294,7 @@ class SiteConfiguration { /** * Gets all settings for a wiki * @param string $wiki Wiki ID of the wiki in question. - * @param string $suffix The suffix of the wiki in question. + * @param string|null $suffix The suffix of the wiki in question. * @param array $params List of parameters. $.'key' is replaced by $value in all returned data. * @param array $wikiTags The tags assigned to the wiki. * @return array Array of settings requested. @@ -325,7 +325,7 @@ class SiteConfiguration { * Retrieves a configuration setting for a given wiki, forced to a boolean. * @param string $setting ID of the setting name to retrieve * @param string $wiki Wiki ID of the wiki in question. - * @param string $suffix The suffix of the wiki in question. + * @param string|null $suffix The suffix of the wiki in question. * @param array $wikiTags The tags assigned to the wiki. * @return bool The value of the setting requested. */ @@ -364,7 +364,7 @@ class SiteConfiguration { * Retrieves the value of a given setting, and places it in its corresponding global variable. * @param string $setting ID of the setting name to retrieve * @param string $wiki Wiki ID of the wiki in question. - * @param string $suffix The suffix of the wiki in question. + * @param string|null $suffix The suffix of the wiki in question. * @param array $params List of parameters. $.'key' is replaced by $value in all returned data. * @param array $wikiTags The tags assigned to the wiki. */ @@ -399,7 +399,7 @@ class SiteConfiguration { /** * Retrieves the values of all settings, and places them in their corresponding global variables. * @param string $wiki Wiki ID of the wiki in question. - * @param string $suffix The suffix of the wiki in question. + * @param string|null $suffix The suffix of the wiki in question. * @param array $params List of parameters. $.'key' is replaced by $value in all returned data. * @param array $wikiTags The tags assigned to the wiki. */ diff --git a/includes/Status.php b/includes/Status.php index f17f173edc..8cd72a59b5 100644 --- a/includes/Status.php +++ b/includes/Status.php @@ -171,7 +171,7 @@ class Status extends StatusValue { * @param string|bool $shortContext A short enclosing context message name, to * be used when there is a single error * @param string|bool $longContext A long enclosing context message name, for a list - * @param string|Language $lang Language to use for processing messages + * @param string|Language|null $lang Language to use for processing messages * @return string */ public function getWikiText( $shortContext = false, $longContext = false, $lang = null ) { @@ -227,7 +227,7 @@ class Status extends StatusValue { * * @param string|string[]|bool $shortContext A message name or an array of message names. * @param string|string[]|bool $longContext A message name or an array of message names. - * @param string|Language $lang Language to use for processing messages + * @param string|Language|null $lang Language to use for processing messages * @return Message */ public function getMessage( $shortContext = false, $longContext = false, $lang = null ) { @@ -279,7 +279,7 @@ class Status extends StatusValue { * If $error is an array, the "params" field is a list of parameters for the message. * * @param array|string $error Code string or (key: code string, params: string[]) map - * @param string|Language $lang Language to use for processing messages + * @param string|Language|null $lang Language to use for processing messages * @return Message */ protected function getErrorMessage( $error, $lang = null ) { @@ -324,7 +324,7 @@ class Status extends StatusValue { /** * Return an array with a Message object for each error. * @param array $errors - * @param string|Language $lang Language to use for processing messages + * @param string|Language|null $lang Language to use for processing messages * @return Message[] */ protected function getErrorMessageArray( $errors, $lang = null ) { diff --git a/includes/Storage/DerivedPageDataUpdater.php b/includes/Storage/DerivedPageDataUpdater.php index 8da812aa84..73463b5662 100644 --- a/includes/Storage/DerivedPageDataUpdater.php +++ b/includes/Storage/DerivedPageDataUpdater.php @@ -241,7 +241,7 @@ class DerivedPageDataUpdater implements IDBAccessObject { * @param JobQueueGroup $jobQueueGroup * @param MessageCache $messageCache * @param Language $contentLanguage - * @param LoggerInterface $saveParseLogger + * @param LoggerInterface|null $saveParseLogger */ public function __construct( WikiPage $wikiPage, diff --git a/includes/Storage/NameTableStore.php b/includes/Storage/NameTableStore.php index a457c2bf01..3516ffe664 100644 --- a/includes/Storage/NameTableStore.php +++ b/includes/Storage/NameTableStore.php @@ -70,10 +70,10 @@ class NameTableStore { * @param string $table * @param string $idField * @param string $nameField - * @param callable $normalizationCallback Normalization to be applied to names before being + * @param callable|null $normalizationCallback Normalization to be applied to names before being * saved or queried. This should be a callback that accepts and returns a single string. * @param bool|string $wikiId The ID of the target wiki database. Use false for the local wiki. - * @param callable $insertCallback Callback to change insert fields accordingly. + * @param callable|null $insertCallback Callback to change insert fields accordingly. * This parameter was introduced in 1.32 */ public function __construct( diff --git a/includes/Storage/RevisionFactory.php b/includes/Storage/RevisionFactory.php index 86e8c06fbb..2c4546827a 100644 --- a/includes/Storage/RevisionFactory.php +++ b/includes/Storage/RevisionFactory.php @@ -77,7 +77,7 @@ interface RevisionFactory { * Use RevisionStore::getArchiveQueryInfo() to build a query that yields the * required fields. * @param int $queryFlags Flags for lazy loading behavior, see IDBAccessObject::READ_XXX. - * @param Title $title + * @param Title|null $title * @param array $overrides An associative array that allows fields in $row to be overwritten. * Keys in this array correspond to field names in $row without the "ar_" prefix, so * $overrides['user'] will override $row->ar_user, etc. diff --git a/includes/Storage/RevisionLookup.php b/includes/Storage/RevisionLookup.php index 45cd1841f0..a6e29309fb 100644 --- a/includes/Storage/RevisionLookup.php +++ b/includes/Storage/RevisionLookup.php @@ -84,7 +84,7 @@ interface RevisionLookup extends IDBAccessObject { * MCR migration note: this replaces Revision::getPrevious * * @param RevisionRecord $rev - * @param Title $title if known (optional) + * @param Title|null $title if known (optional) * * @return RevisionRecord|null */ @@ -96,7 +96,7 @@ interface RevisionLookup extends IDBAccessObject { * MCR migration note: this replaces Revision::getNext * * @param RevisionRecord $rev - * @param Title $title if known (optional) + * @param Title|null $title if known (optional) * * @return RevisionRecord|null */ diff --git a/includes/Storage/RevisionStore.php b/includes/Storage/RevisionStore.php index 3e779fb0fe..b01bdd8f42 100644 --- a/includes/Storage/RevisionStore.php +++ b/includes/Storage/RevisionStore.php @@ -1892,7 +1892,7 @@ class RevisionStore * * @param array $conditions * @param int $flags (optional) - * @param Title $title + * @param Title|null $title * * @return RevisionRecord|null */ @@ -1928,7 +1928,7 @@ class RevisionStore * @param IDatabase $db * @param array $conditions * @param int $flags (optional) - * @param Title $title + * @param Title|null $title * * @return RevisionRecord|null */ @@ -2322,7 +2322,7 @@ class RevisionStore * MCR migration note: this replaces Revision::getPrevious * * @param RevisionRecord $rev - * @param Title $title if known (optional) + * @param Title|null $title if known (optional) * * @return RevisionRecord|null */ @@ -2343,7 +2343,7 @@ class RevisionStore * MCR migration note: this replaces Revision::getNext * * @param RevisionRecord $rev - * @param Title $title if known (optional) + * @param Title|null $title if known (optional) * * @return RevisionRecord|null */ diff --git a/includes/StubObject.php b/includes/StubObject.php index 067f11f63e..92130761a6 100644 --- a/includes/StubObject.php +++ b/includes/StubObject.php @@ -56,8 +56,8 @@ class StubObject { protected $params; /** - * @param string $global Name of the global variable. - * @param string|callable $class Name of the class of the real object + * @param string|null $global Name of the global variable. + * @param string|callable|null $class Name of the class of the real object * or a factory function to call * @param array $params Parameters to pass to constructor of the real object. */ diff --git a/includes/TemplateParser.php b/includes/TemplateParser.php index 2293dabbd9..9271e3f729 100644 --- a/includes/TemplateParser.php +++ b/includes/TemplateParser.php @@ -46,7 +46,7 @@ class TemplateParser { protected $compileFlags = LightnCandy::FLAG_ERROR_EXCEPTION; /** - * @param string $templateDir + * @param string|null $templateDir * @param bool $forceRecompile */ public function __construct( $templateDir = null, $forceRecompile = false ) { diff --git a/includes/Title.php b/includes/Title.php index f6e59122e5..8586ad762d 100644 --- a/includes/Title.php +++ b/includes/Title.php @@ -2086,7 +2086,7 @@ class Title implements LinkTarget { * May provide false positives, but should never provide a false negative. * * @param string $action Action that permission needs to be checked for - * @param User $user User to check (since 1.19); $wgUser will be used if not provided. + * @param User|null $user User to check (since 1.19); $wgUser will be used if not provided. * @return bool */ public function quickUserCan( $action, $user = null ) { @@ -2097,7 +2097,7 @@ class Title implements LinkTarget { * Can $user perform $action on this page? * * @param string $action Action that permission needs to be checked for - * @param User $user User to check (since 1.19); $wgUser will be used if not + * @param User|null $user User to check (since 1.19); $wgUser will be used if not * provided. * @param string $rigor Same format as Title::getUserPermissionsErrors() * @return bool @@ -3139,7 +3139,7 @@ class Title implements LinkTarget { * Public for usage by LiquidThreads. * * @param array $rows Array of db result objects - * @param string $oldFashionedRestrictions Comma-separated set of permission keys + * @param string|null $oldFashionedRestrictions Comma-separated set of permission keys * indicating who can move or edit the page from the page table, (pre 1.10) rows. * Edit and move sections are separated by a colon * Example: "edit=autoconfirmed,sysop:move=sysop" @@ -3211,7 +3211,7 @@ class Title implements LinkTarget { /** * Load restrictions from the page_restrictions table * - * @param string $oldFashionedRestrictions Comma-separated set of permission keys + * @param string|null $oldFashionedRestrictions Comma-separated set of permission keys * indicating who can move or edit the page from the page table, (pre 1.10) rows. * Edit and move sections are separated by a colon * Example: "edit=autoconfirmed,sysop:move=sysop" @@ -4681,7 +4681,7 @@ class Title implements LinkTarget { /** * Updates page_touched for this page; called from LinksUpdate.php * - * @param string $purgeTime [optional] TS_MW timestamp + * @param string|null $purgeTime [optional] TS_MW timestamp * @return bool True if the update succeeded */ public function invalidateCache( $purgeTime = null ) { @@ -4752,7 +4752,7 @@ class Title implements LinkTarget { /** * Get the timestamp when this page was updated since the user last saw it. * - * @param User $user + * @param User|null $user * @return string|null */ public function getNotificationTimestamp( $user = null ) { diff --git a/includes/WebRequest.php b/includes/WebRequest.php index b499d86d39..f3edebc6b6 100644 --- a/includes/WebRequest.php +++ b/includes/WebRequest.php @@ -484,7 +484,7 @@ class WebRequest { * If no source and no default, returns null. * * @param string $name - * @param array $default Optional default (or null) + * @param array|null $default Optional default (or null) * @return array|null */ public function getArray( $name, $default = null ) { @@ -503,7 +503,7 @@ class WebRequest { * If an array is returned, contents are guaranteed to be integers. * * @param string $name - * @param array $default Option default (or null) + * @param array|null $default Option default (or null) * @return array Array of ints */ public function getIntArray( $name, $default = null ) { @@ -776,8 +776,8 @@ class WebRequest { * Get a cookie from the $_COOKIE jar * * @param string $key The name of the cookie - * @param string $prefix A prefix to use for the cookie name, if not $wgCookiePrefix - * @param mixed $default What to return if the value isn't found + * @param string|null $prefix A prefix to use for the cookie name, if not $wgCookiePrefix + * @param mixed|null $default What to return if the value isn't found * @return mixed Cookie value or $default if the cookie not set */ public function getCookie( $key, $prefix = null, $default = null ) { diff --git a/includes/WikiMap.php b/includes/WikiMap.php index 90ebc4bc41..9dc3bfeedf 100644 --- a/includes/WikiMap.php +++ b/includes/WikiMap.php @@ -131,7 +131,7 @@ class WikiMap { * * @param string $wikiID Wiki'd id (generally database name) * @param string $user User name (must be normalised before calling this function!) - * @param string $text Link's text; optional, default to "User:$user" + * @param string|null $text Link's text; optional, default to "User:$user" * @return string HTML link or false if the wiki was not found */ public static function foreignUserLink( $wikiID, $user, $text = null ) { @@ -143,7 +143,7 @@ class WikiMap { * * @param string $wikiID Wiki'd id (generally database name) * @param string $page Page name (must be normalised before calling this function!) - * @param string $text Link's text; optional, default to $page + * @param string|null $text Link's text; optional, default to $page * @return string|false HTML link or false if the wiki was not found */ public static function makeForeignLink( $wikiID, $page, $text = null ) { diff --git a/includes/Xml.php b/includes/Xml.php index 40be80bc5b..8c65461680 100644 --- a/includes/Xml.php +++ b/includes/Xml.php @@ -31,7 +31,7 @@ class Xml { * characters (<, >, &) are escaped but illegals are not touched. * * @param string $element Element name - * @param array $attribs Name=>value pairs. Values will be escaped. + * @param array|null $attribs Name=>value pairs. Values will be escaped. * @param string $contents Null to make an open tag only; '' for a contentless closed tag (default) * @param bool $allowShortTag Whether '' in $contents will result in a contentless closed tag * @return string @@ -103,7 +103,7 @@ class Xml { * This opens an XML element * * @param string $element Name of the element - * @param array $attribs Array of attributes, see Xml::expandAttributes() + * @param array|null $attribs Array of attributes, see Xml::expandAttributes() * @return string */ public static function openElement( $element, $attribs = null ) { @@ -136,7 +136,7 @@ class Xml { * Create a date selector * * @param string $selected The month which should be selected, default ''. - * @param string $allmonths Value of a special item denoting all month. + * @param string|null $allmonths Value of a special item denoting all month. * Null to not include (default). * @param string $id Element identifier * @return string Html string containing the month selector @@ -197,7 +197,7 @@ class Xml { * * @param string $selected The language code of the selected language * @param bool $customisedOnly If true only languages which have some content are listed - * @param string $inLanguage The ISO code of the language to display the select list in (optional) + * @param string|null $inLanguage The ISO code of the language to display the select list in * @param array $overrideAttrs Override the attributes of the select tag (since 1.20) * @param Message|null $msg Label message key (since 1.20) * @return array Array containing 2 items: label HTML and select list HTML @@ -477,7 +477,7 @@ class Xml { /** * Convenience function to build an HTML drop-down list item. * @param string $text Text for this item. Will be HTML escaped - * @param string $value Form submission value; if empty, use text + * @param string|null $value Form submission value; if empty, use text * @param bool $selected If true, will be the default selected item * @param array $attribs Optional additional HTML attributes * @return string HTML @@ -503,7 +503,7 @@ class Xml { * @param string $other Text for the "Other reasons" option * @param string $selected Option which should be pre-selected * @param string $class CSS classes for the drop-down - * @param int $tabindex Value of the tabindex attribute + * @param int|null $tabindex Value of the tabindex attribute * @return string */ public static function listDropDown( $name = '', $list = '', $other = '', @@ -758,7 +758,7 @@ class Xml { * @param array $fields Associative array, key is the name of a message that * contains a description for the field, value is an HTML string * containing the appropriate input. - * @param string $submitLabel The name of a message containing a label for + * @param string|null $submitLabel The name of a message containing a label for * the submit button. * @param array $submitAttribs The attributes to add to the submit button * @return string HTML form. @@ -799,7 +799,7 @@ class Xml { * Build a table of data * @param array $rows An array of arrays of strings, each to be a row in a table * @param array $attribs An array of attributes to apply to the table tag [optional] - * @param array $headers An array of strings to use as table headers [optional] + * @param array|null $headers An array of strings to use as table headers [optional] * @return string */ public static function buildTable( $rows, $attribs = [], $headers = null ) { diff --git a/includes/api/ApiBase.php b/includes/api/ApiBase.php index 943ee22d59..be4eeef7c4 100644 --- a/includes/api/ApiBase.php +++ b/includes/api/ApiBase.php @@ -1100,7 +1100,7 @@ abstract class ApiBase extends ContextSource { * Return true if we're to watch the page, false if not, null if no change. * @param string $watchlist Valid values: 'watch', 'unwatch', 'preferences', 'nochange' * @param Title $titleObj The page under consideration - * @param string $userOption The user option to consider when $watchlist=preferences. + * @param string|null $userOption The user option to consider when $watchlist=preferences. * If not set will use watchdefault always and watchcreations if $titleObj doesn't exist. * @return bool */ @@ -1574,7 +1574,7 @@ abstract class ApiBase extends ContextSource { * @param int &$value Parameter value * @param int|null $min Minimum value * @param int|null $max Maximum value for users - * @param int $botMax Maximum value for sysops/bots + * @param int|null $botMax Maximum value for sysops/bots * @param bool $enforceLimits Whether to enforce (die) if value is outside limits */ protected function validateLimit( $paramName, &$value, $min, $max, $botMax = null, @@ -1744,7 +1744,7 @@ abstract class ApiBase extends ContextSource { * Set a watch (or unwatch) based the based on a watchlist parameter. * @param string $watch Valid values: 'watch', 'unwatch', 'preferences', 'nochange' * @param Title $titleObj The article's title to change - * @param string $userOption The user option to consider when $watch=preferences + * @param string|null $userOption The user option to consider when $watch=preferences */ protected function setWatch( $watch, $titleObj, $userOption = null ) { $value = $this->getWatchlistValue( $watch, $titleObj, $userOption ); @@ -1812,7 +1812,7 @@ abstract class ApiBase extends ContextSource { * @since 1.25 * @param string|array|Message $msg * @param IContextSource $context - * @param array $params + * @param array|null $params * @return Message|null */ public static function makeMessage( $msg, IContextSource $context, array $params = null ) { diff --git a/includes/api/ApiDelete.php b/includes/api/ApiDelete.php index a63dee6fc1..ec857b7da9 100644 --- a/includes/api/ApiDelete.php +++ b/includes/api/ApiDelete.php @@ -139,7 +139,7 @@ class ApiDelete extends ApiBase { * @param Page $page Object to work on * @param User $user User doing the action * @param string $oldimage Archive name - * @param string &$reason Reason for the deletion. Autogenerated if null. + * @param string|null &$reason Reason for the deletion. Autogenerated if null. * @param bool $suppress Whether to mark all deleted versions as restricted * @param array $tags Tags to tag the deletion with * @return Status diff --git a/includes/api/ApiMain.php b/includes/api/ApiMain.php index f324effb37..610ecf5145 100644 --- a/includes/api/ApiMain.php +++ b/includes/api/ApiMain.php @@ -165,7 +165,7 @@ class ApiMain extends ApiBase { /** * Constructs an instance of ApiMain that utilizes the module and format specified by $request. * - * @param IContextSource|WebRequest $context If this is an instance of + * @param IContextSource|WebRequest|null $context If this is an instance of * FauxRequest, errors are thrown and no printing occurs * @param bool $enableWrite Should be set to true if the api may modify data */ @@ -1616,7 +1616,7 @@ class ApiMain extends ApiBase { /** * Log the preceding request * @param float $time Time in seconds - * @param Exception $e Exception caught while processing the request + * @param Exception|null $e Exception caught while processing the request */ protected function logRequest( $time, $e = null ) { $request = $this->getRequest(); diff --git a/includes/api/ApiModuleManager.php b/includes/api/ApiModuleManager.php index fec55aa6cd..d2df013c08 100644 --- a/includes/api/ApiModuleManager.php +++ b/includes/api/ApiModuleManager.php @@ -143,7 +143,7 @@ class ApiModuleManager extends ContextSource { * Get module instance by name, or instantiate it if it does not exist * * @param string $moduleName Module name - * @param string $group Optionally validate that the module is in a specific group + * @param string|null $group Optionally validate that the module is in a specific group * @param bool $ignoreCache If true, force-creates a new instance and does not cache it * * @return ApiBase|null The new module instance, or null if failed @@ -205,7 +205,7 @@ class ApiModuleManager extends ContextSource { /** * Get an array of modules in a specific group or all if no group is set. - * @param string $group Optional group filter + * @param string|null $group Optional group filter * @return array List of module names */ public function getNames( $group = null ) { @@ -224,7 +224,7 @@ class ApiModuleManager extends ContextSource { /** * Create an array of (moduleName => moduleClass) for a specific group or for all. - * @param string $group Name of the group to get or null for all + * @param string|null $group Name of the group to get or null for all * @return array Name=>class map */ public function getNamesWithClasses( $group = null ) { @@ -256,7 +256,7 @@ class ApiModuleManager extends ContextSource { /** * Returns true if the specific module is defined at all or in a specific group. * @param string $moduleName Module name - * @param string $group Group name to check against, or null to check all groups, + * @param string|null $group Group name to check against, or null to check all groups, * @return bool True if defined */ public function isDefined( $moduleName, $group = null ) { diff --git a/includes/api/ApiPageSet.php b/includes/api/ApiPageSet.php index 515ebc594c..a32b2884fe 100644 --- a/includes/api/ApiPageSet.php +++ b/includes/api/ApiPageSet.php @@ -460,7 +460,7 @@ class ApiPageSet extends ApiBase { /** * Get a list of redirect resolutions - maps a title to its redirect * target. Includes generator data for redirect source when available. - * @param ApiResult $result + * @param ApiResult|null $result * @return array Array of prefixed_title (string) => Title object * @since 1.21 */ @@ -507,7 +507,7 @@ class ApiPageSet extends ApiBase { /** * Get a list of title normalizations - maps a title to its normalized * version in the form of result array. - * @param ApiResult $result + * @param ApiResult|null $result * @return array Array of raw_prefixed_title (string) => prefixed_title (string) * @since 1.21 */ @@ -542,7 +542,7 @@ class ApiPageSet extends ApiBase { /** * Get a list of title conversions - maps a title to its converted * version as a result array. - * @param ApiResult $result + * @param ApiResult|null $result * @return array Array of (from, to) strings * @since 1.21 */ @@ -573,7 +573,7 @@ class ApiPageSet extends ApiBase { /** * Get a list of interwiki titles - maps a title to its interwiki * prefix as result. - * @param ApiResult $result + * @param ApiResult|null $result * @param bool $iwUrl * @return array Array of raw_prefixed_title (string) => interwiki_prefix (string) * @since 1.21 @@ -692,7 +692,7 @@ class ApiPageSet extends ApiBase { /** * Revision IDs that were not found in the database as result array. - * @param ApiResult $result + * @param ApiResult|null $result * @return array Array of revision IDs * @since 1.21 */ diff --git a/includes/api/ApiQueryAllDeletedRevisions.php b/includes/api/ApiQueryAllDeletedRevisions.php index be12977994..ee13f3d997 100644 --- a/includes/api/ApiQueryAllDeletedRevisions.php +++ b/includes/api/ApiQueryAllDeletedRevisions.php @@ -35,7 +35,7 @@ class ApiQueryAllDeletedRevisions extends ApiQueryRevisionsBase { } /** - * @param ApiPageSet $resultPageSet + * @param ApiPageSet|null $resultPageSet * @return void */ protected function run( ApiPageSet $resultPageSet = null ) { diff --git a/includes/api/ApiQueryAllRevisions.php b/includes/api/ApiQueryAllRevisions.php index 3af24597c2..a0e71a571f 100644 --- a/includes/api/ApiQueryAllRevisions.php +++ b/includes/api/ApiQueryAllRevisions.php @@ -33,7 +33,7 @@ class ApiQueryAllRevisions extends ApiQueryRevisionsBase { } /** - * @param ApiPageSet $resultPageSet + * @param ApiPageSet|null $resultPageSet * @return void */ protected function run( ApiPageSet $resultPageSet = null ) { diff --git a/includes/api/ApiQueryBacklinksprop.php b/includes/api/ApiQueryBacklinksprop.php index b338ed6774..bfacc51b92 100644 --- a/includes/api/ApiQueryBacklinksprop.php +++ b/includes/api/ApiQueryBacklinksprop.php @@ -88,7 +88,7 @@ class ApiQueryBacklinksprop extends ApiQueryGeneratorBase { } /** - * @param ApiPageSet $resultPageSet + * @param ApiPageSet|null $resultPageSet */ private function run( ApiPageSet $resultPageSet = null ) { $settings = self::$settings[$this->getModuleName()]; diff --git a/includes/api/ApiQueryBase.php b/includes/api/ApiQueryBase.php index 3ad45bbbde..b9ed9f2f45 100644 --- a/includes/api/ApiQueryBase.php +++ b/includes/api/ApiQueryBase.php @@ -320,7 +320,7 @@ abstract class ApiQueryBase extends ApiBase { * Add an option such as LIMIT or USE INDEX. If an option was set * before, the old value will be overwritten * @param string $name Option name - * @param string|string[] $value Option value + * @param string|string[]|null $value Option value */ protected function addOption( $name, $value = null ) { if ( is_null( $value ) ) { @@ -402,8 +402,8 @@ abstract class ApiQueryBase extends ApiBase { } /** - * @param string $query - * @param string $protocol + * @param string|null $query + * @param string|null $protocol * @return null|string */ public function prepareUrlQuerySearchString( $query = null, $protocol = null ) { @@ -503,7 +503,7 @@ abstract class ApiQueryBase extends ApiBase { * Same as addPageSubItems(), but one element of $data at a time * @param int $pageId Page ID * @param array $item Data array à la ApiResult - * @param string $elemname XML element name. If null, getModuleName() + * @param string|null $elemname XML element name. If null, getModuleName() * is used * @return bool Whether the element fit in the result */ diff --git a/includes/api/ApiQueryIWBacklinks.php b/includes/api/ApiQueryIWBacklinks.php index 90aed6ecbb..7193eebe4b 100644 --- a/includes/api/ApiQueryIWBacklinks.php +++ b/includes/api/ApiQueryIWBacklinks.php @@ -42,7 +42,7 @@ class ApiQueryIWBacklinks extends ApiQueryGeneratorBase { } /** - * @param ApiPageSet $resultPageSet + * @param ApiPageSet|null $resultPageSet * @return void */ public function run( $resultPageSet = null ) { diff --git a/includes/api/ApiQueryImageInfo.php b/includes/api/ApiQueryImageInfo.php index e447f4f487..177b248b9d 100644 --- a/includes/api/ApiQueryImageInfo.php +++ b/includes/api/ApiQueryImageInfo.php @@ -359,7 +359,7 @@ class ApiQueryImageInfo extends ApiQueryBase { * @param File $file * @param array $prop Array of properties to get (in the keys) * @param ApiResult $result - * @param array $thumbParams Containing 'width' and 'height' items, or null + * @param array|null $thumbParams Containing 'width' and 'height' items, or null * @param array|bool|string $opts Options for data fetching. * This is an array consisting of the keys: * 'version': The metadata version for the metadata option diff --git a/includes/api/ApiQueryLangBacklinks.php b/includes/api/ApiQueryLangBacklinks.php index 9b993128fd..7145d4da80 100644 --- a/includes/api/ApiQueryLangBacklinks.php +++ b/includes/api/ApiQueryLangBacklinks.php @@ -42,7 +42,7 @@ class ApiQueryLangBacklinks extends ApiQueryGeneratorBase { } /** - * @param ApiPageSet $resultPageSet + * @param ApiPageSet|null $resultPageSet * @return void */ public function run( $resultPageSet = null ) { diff --git a/includes/api/ApiQueryQueryPage.php b/includes/api/ApiQueryQueryPage.php index a828e11772..8758d9c232 100644 --- a/includes/api/ApiQueryQueryPage.php +++ b/includes/api/ApiQueryQueryPage.php @@ -49,7 +49,7 @@ class ApiQueryQueryPage extends ApiQueryGeneratorBase { } /** - * @param ApiPageSet $resultPageSet + * @param ApiPageSet|null $resultPageSet */ public function run( $resultPageSet = null ) { $params = $this->extractRequestParams(); diff --git a/includes/api/ApiQueryRecentChanges.php b/includes/api/ApiQueryRecentChanges.php index f3af226ef8..f870d45d60 100644 --- a/includes/api/ApiQueryRecentChanges.php +++ b/includes/api/ApiQueryRecentChanges.php @@ -136,7 +136,7 @@ class ApiQueryRecentChanges extends ApiQueryGeneratorBase { /** * Generates and outputs the result of this query based upon the provided parameters. * - * @param ApiPageSet $resultPageSet + * @param ApiPageSet|null $resultPageSet */ public function run( $resultPageSet = null ) { $user = $this->getUser(); diff --git a/includes/api/ApiQueryRevisionsBase.php b/includes/api/ApiQueryRevisionsBase.php index f888434da8..87c6f9d98e 100644 --- a/includes/api/ApiQueryRevisionsBase.php +++ b/includes/api/ApiQueryRevisionsBase.php @@ -44,7 +44,7 @@ abstract class ApiQueryRevisionsBase extends ApiQueryGeneratorBase { } /** - * @param ApiPageSet $resultPageSet + * @param ApiPageSet|null $resultPageSet * @return void */ abstract protected function run( ApiPageSet $resultPageSet = null ); diff --git a/includes/api/ApiResult.php b/includes/api/ApiResult.php index df7183030e..3b7c181fa7 100644 --- a/includes/api/ApiResult.php +++ b/includes/api/ApiResult.php @@ -723,7 +723,7 @@ class ApiResult implements ApiSerializable { * @since 1.25 * @param array &$arr * @param string $type See ApiResult::META_TYPE - * @param string $kvpKeyName See ApiResult::META_KVP_KEY_NAME + * @param string|null $kvpKeyName See ApiResult::META_KVP_KEY_NAME */ public static function setArrayType( array &$arr, $type, $kvpKeyName = null ) { if ( !in_array( $type, [ @@ -742,7 +742,7 @@ class ApiResult implements ApiSerializable { * @since 1.25 * @param array|string|null $path See ApiResult::addValue() * @param string $tag See ApiResult::META_TYPE - * @param string $kvpKeyName See ApiResult::META_KVP_KEY_NAME + * @param string|null $kvpKeyName See ApiResult::META_KVP_KEY_NAME */ public function addArrayType( $path, $tag, $kvpKeyName = null ) { $arr = &$this->path( $path ); @@ -754,7 +754,7 @@ class ApiResult implements ApiSerializable { * @since 1.25 * @param array &$arr * @param string $type See ApiResult::META_TYPE - * @param string $kvpKeyName See ApiResult::META_KVP_KEY_NAME + * @param string|null $kvpKeyName See ApiResult::META_KVP_KEY_NAME */ public static function setArrayTypeRecursive( array &$arr, $type, $kvpKeyName = null ) { self::setArrayType( $arr, $type, $kvpKeyName ); @@ -770,7 +770,7 @@ class ApiResult implements ApiSerializable { * @since 1.25 * @param array|string|null $path See ApiResult::addValue() * @param string $tag See ApiResult::META_TYPE - * @param string $kvpKeyName See ApiResult::META_KVP_KEY_NAME + * @param string|null $kvpKeyName See ApiResult::META_KVP_KEY_NAME */ public function addArrayTypeRecursive( $path, $tag, $kvpKeyName = null ) { $arr = &$this->path( $path ); @@ -1050,7 +1050,7 @@ class ApiResult implements ApiSerializable { * * @since 1.25 * @param array|object $data - * @param array &$metadata Store metadata here, if provided + * @param array|null &$metadata Store metadata here, if provided * @return array|object */ public static function stripMetadataNonRecursive( $data, &$metadata = null ) { diff --git a/includes/auth/AbstractPasswordPrimaryAuthenticationProvider.php b/includes/auth/AbstractPasswordPrimaryAuthenticationProvider.php index f5bfc2a20b..3d26767a0e 100644 --- a/includes/auth/AbstractPasswordPrimaryAuthenticationProvider.php +++ b/includes/auth/AbstractPasswordPrimaryAuthenticationProvider.php @@ -113,7 +113,7 @@ abstract class AbstractPasswordPrimaryAuthenticationProvider * * @param string $username * @param Status $status From $this->checkPasswordValidity() - * @param mixed $data Passed through to $this->getPasswordResetData() + * @param mixed|null $data Passed through to $this->getPasswordResetData() */ protected function setPasswordResetFlag( $username, Status $status, $data = null ) { $reset = $this->getPasswordResetData( $username, $data ); diff --git a/includes/auth/AuthManager.php b/includes/auth/AuthManager.php index 3260ce4b64..ca59ec7ac1 100644 --- a/includes/auth/AuthManager.php +++ b/includes/auth/AuthManager.php @@ -2249,7 +2249,7 @@ class AuthManager implements LoggerAwareInterface { * Fetch authentication data from the current session * @protected For use by AuthenticationProviders * @param string $key - * @param mixed $default + * @param mixed|null $default * @return mixed */ public function getAuthenticationSessionData( $key, $default = null ) { diff --git a/includes/auth/AuthenticationResponse.php b/includes/auth/AuthenticationResponse.php index 956c985069..8cb33aa5b4 100644 --- a/includes/auth/AuthenticationResponse.php +++ b/includes/auth/AuthenticationResponse.php @@ -199,7 +199,7 @@ class AuthenticationResponse { /** * @param AuthenticationRequest[] $reqs AuthenticationRequests needed to continue * @param string $redirectTarget URL - * @param mixed $redirectApiData Data suitable for adding to an ApiResult + * @param mixed|null $redirectApiData Data suitable for adding to an ApiResult * @return AuthenticationResponse * @see AuthenticationResponse::REDIRECT */ diff --git a/includes/auth/Throttler.php b/includes/auth/Throttler.php index 717b592e16..e6d9bd8de9 100644 --- a/includes/auth/Throttler.php +++ b/includes/auth/Throttler.php @@ -52,7 +52,7 @@ class Throttler implements LoggerAwareInterface { protected $warningLimit; /** - * @param array $conditions An array of arrays describing throttling conditions. + * @param array|null $conditions An array of arrays describing throttling conditions. * Defaults to $wgPasswordAttemptThrottle. See documentation of that variable for format. * @param array $params Parameters (all optional): * - type: throttle type, used as a namespace for counters, diff --git a/includes/cache/LinkCache.php b/includes/cache/LinkCache.php index 7cbb86f421..58ed771a9c 100644 --- a/includes/cache/LinkCache.php +++ b/includes/cache/LinkCache.php @@ -75,7 +75,7 @@ class LinkCache { * in order to avoid link table inconsistency), which was later removed * for performance on wikis with a high edit rate. * - * @param bool $update + * @param bool|null $update * @return bool */ public function forUpdate( $update = null ) { @@ -125,7 +125,7 @@ class LinkCache { * @param int $id Page's ID * @param LinkTarget $target * @param int $len Text's length - * @param int $redir Whether the page is a redirect + * @param int|null $redir Whether the page is a redirect * @param int $revision Latest revision's ID * @param string|null $model Latest revision's content model ID * @param string|null $lang Language code of the page, if not the content language diff --git a/includes/cache/MessageBlobStore.php b/includes/cache/MessageBlobStore.php index b262eab602..65e659d39c 100644 --- a/includes/cache/MessageBlobStore.php +++ b/includes/cache/MessageBlobStore.php @@ -50,8 +50,8 @@ class MessageBlobStore implements LoggerAwareInterface { protected $wanCache; /** - * @param ResourceLoader $rl - * @param LoggerInterface $logger + * @param ResourceLoader|null $rl + * @param LoggerInterface|null $logger */ public function __construct( ResourceLoader $rl = null, LoggerInterface $logger = null ) { $this->resourceloader = $rl; diff --git a/includes/cache/MessageCache.php b/includes/cache/MessageCache.php index 93959db21d..78fb24a39e 100644 --- a/includes/cache/MessageCache.php +++ b/includes/cache/MessageCache.php @@ -239,7 +239,7 @@ class MessageCache { * is disabled. * * @param string $code Language to which load messages - * @param int $mode Use MessageCache::FOR_UPDATE to skip process cache [optional] + * @param int|null $mode Use MessageCache::FOR_UPDATE to skip process cache [optional] * @throws InvalidArgumentException * @return bool */ @@ -383,7 +383,7 @@ class MessageCache { /** * @param string $code * @param array &$where List of wfDebug() comments - * @param int $mode Use MessageCache::FOR_UPDATE to use DB_MASTER + * @param int|null $mode Use MessageCache::FOR_UPDATE to use DB_MASTER * @return bool|string True on success or one of ("cantacquire", "disabled") */ protected function loadFromDBWithLock( $code, array &$where, $mode = null ) { @@ -445,7 +445,7 @@ class MessageCache { * on-demand from the database later. * * @param string $code Language code - * @param int $mode Use MessageCache::FOR_UPDATE to skip process cache + * @param int|null $mode Use MessageCache::FOR_UPDATE to skip process cache * @return array Loaded messages for storing in caches */ protected function loadFromDB( $code, $mode = null ) { @@ -1063,8 +1063,8 @@ class MessageCache { /** * @param string $message * @param bool $interface - * @param Language $language - * @param Title $title + * @param Language|null $language + * @param Title|null $title * @return string */ public function transform( $message, $interface = false, $language = null, $title = null ) { @@ -1117,10 +1117,10 @@ class MessageCache { /** * @param string $text - * @param Title $title + * @param Title|null $title * @param bool $linestart Whether or not this is at the start of a line * @param bool $interface Whether this is an interface message - * @param Language|string $language Language code + * @param Language|string|null $language Language code * @return ParserOutput|string */ public function parse( $text, $title = null, $linestart = true, diff --git a/includes/changes/CategoryMembershipChange.php b/includes/changes/CategoryMembershipChange.php index a49fb4c727..e745203329 100644 --- a/includes/changes/CategoryMembershipChange.php +++ b/includes/changes/CategoryMembershipChange.php @@ -59,7 +59,7 @@ class CategoryMembershipChange { /** * @param Title $pageTitle Title instance of the categorized page - * @param Revision $revision Latest Revision instance of the categorized page + * @param Revision|null $revision Latest Revision instance of the categorized page * * @throws MWException */ @@ -142,7 +142,7 @@ class CategoryMembershipChange { /** * @param string $timestamp Timestamp of the recent change to occur in TS_MW format * @param Title $categoryTitle Title of the category a page is being added to or removed from - * @param User $user User object of the user that made the change + * @param User|null $user User object of the user that made the change * @param string $comment Change summary * @param Title $pageTitle Title of the page that is being added or removed * @param string $lastTimestamp Parent revision timestamp of this change in TS_MW format diff --git a/includes/changes/ChangesList.php b/includes/changes/ChangesList.php index 57c4026763..facf29ea84 100644 --- a/includes/changes/ChangesList.php +++ b/includes/changes/ChangesList.php @@ -107,7 +107,7 @@ class ChangesList extends ContextSource { * * @param RecentChange &$rc Passed by reference * @param bool $watched (default false) - * @param int $linenumber (default null) + * @param int|null $linenumber (default null) * * @return string|bool */ @@ -249,7 +249,7 @@ class ChangesList extends ContextSource { * bot edit, or unpatrolled edit. In English it typically contains "N", "m", "b", or "!". * * @param string $flag One key of $wgRecentChangesFlags - * @param IContextSource $context + * @param IContextSource|null $context * @return string HTML */ public static function flag( $flag, IContextSource $context = null ) { @@ -310,7 +310,7 @@ class ChangesList extends ContextSource { * * @param int $old Number of bytes * @param int $new Number of bytes - * @param IContextSource $context + * @param IContextSource|null $context * @return string */ public static function showCharacterDifference( $old, $new, IContextSource $context = null ) { @@ -363,7 +363,7 @@ class ChangesList extends ContextSource { * Format the character difference of one or several changes. * * @param RecentChange $old - * @param RecentChange $new Last change to use, if not provided, $old will be used + * @param RecentChange|null $new Last change to use, if not provided, $old will be used * @return string HTML fragment */ public function formatCharacterDifference( RecentChange $old, RecentChange $new = null ) { @@ -628,7 +628,7 @@ class ChangesList extends ContextSource { * field of this revision, if it's marked as deleted. * @param RCCacheEntry|RecentChange $rc * @param int $field - * @param User $user User object to check, or null to use $wgUser + * @param User|null $user User object to check, or null to use $wgUser * @return bool */ public static function userCan( $rc, $field, User $user = null ) { diff --git a/includes/changes/EnhancedChangesList.php b/includes/changes/EnhancedChangesList.php index ada02ce081..a593d27c66 100644 --- a/includes/changes/EnhancedChangesList.php +++ b/includes/changes/EnhancedChangesList.php @@ -93,7 +93,7 @@ class EnhancedChangesList extends ChangesList { * * @param RecentChange &$rc * @param bool $watched - * @param int $linenumber (default null) + * @param int|null $linenumber (default null) * * @return string */ diff --git a/includes/changes/OldChangesList.php b/includes/changes/OldChangesList.php index 51ee481bb9..7ba12fbddd 100644 --- a/includes/changes/OldChangesList.php +++ b/includes/changes/OldChangesList.php @@ -27,7 +27,7 @@ class OldChangesList extends ChangesList { * * @param RecentChange &$rc Passed by reference * @param bool $watched (default false) - * @param int $linenumber (default null) + * @param int|null $linenumber (default null) * * @return string|bool */ diff --git a/includes/changes/RecentChange.php b/includes/changes/RecentChange.php index 904090f88a..819f1701dc 100644 --- a/includes/changes/RecentChange.php +++ b/includes/changes/RecentChange.php @@ -490,7 +490,7 @@ class RecentChange { /** * Notify all the feeds about the change. - * @param array $feeds Optional feeds to send to, defaults to $wgRCFeeds + * @param array|null $feeds Optional feeds to send to, defaults to $wgRCFeeds */ public function notifyRCFeeds( array $feeds = null ) { global $wgRCFeeds; @@ -556,7 +556,7 @@ class RecentChange { * * @param RecentChange|int $change RecentChange or corresponding rc_id * @param bool $auto For automatic patrol - * @param string|string[] $tags Change tags to add to the patrol log entry + * @param string|string[]|null $tags Change tags to add to the patrol log entry * ($user should be able to add the specified tags before this is called) * @return array See doMarkPatrolled(), or null if $change is not an existing rc_id */ @@ -581,7 +581,7 @@ class RecentChange { * 'markedaspatrollederror-noautopatrol' as errors * @param User $user User object doing the action * @param bool $auto For automatic patrol - * @param string|string[] $tags Change tags to add to the patrol log entry + * @param string|string[]|null $tags Change tags to add to the patrol log entry * ($user should be able to add the specified tags before this is called) * @return array Array of permissions errors, see Title::getUserPermissionsErrors() */ @@ -932,7 +932,7 @@ class RecentChange { * * @param string $timestamp Timestamp of the recent change to occur * @param Title $categoryTitle Title of the category a page is being added to or removed from - * @param User $user User object of the user that made the change + * @param User|null $user User object of the user that made the change * @param string $comment Change summary * @param Title $pageTitle Title of the page that is being added or removed * @param int $oldRevId Parent revision ID of this change @@ -941,7 +941,7 @@ class RecentChange { * @param bool $bot true, if the change was made by a bot * @param string $ip IP address of the user, if the change was made anonymously * @param int $deleted Indicates whether the change has been deleted - * @param bool $added true, if the category was added, false for removed + * @param bool|null $added true, if the category was added, false for removed * * @return RecentChange */ diff --git a/includes/changetags/ChangeTags.php b/includes/changetags/ChangeTags.php index 97f124bca9..7874640849 100644 --- a/includes/changetags/ChangeTags.php +++ b/includes/changetags/ChangeTags.php @@ -213,7 +213,7 @@ class ChangeTags { * @param int|null $rc_id The rc_id of the change to add the tags to * @param int|null $rev_id The rev_id of the change to add the tags to * @param int|null $log_id The log_id of the change to add the tags to - * @param string $params Params to put in the ct_params field of table 'change_tag' + * @param string|null $params Params to put in the ct_params field of table 'change_tag' * @param RecentChange|null $rc Recent change, in case the tagging accompanies the action * (this should normally be the case) * @@ -244,7 +244,7 @@ class ChangeTags { * Pass a variable whose value is null if the rev_id is not relevant or unknown. * @param int|null &$log_id The log_id of the change to add the tags to. * Pass a variable whose value is null if the log_id is not relevant or unknown. - * @param string $params Params to put in the ct_params field of table + * @param string|null $params Params to put in the ct_params field of table * 'change_tag' when adding tags * @param RecentChange|null $rc Recent change being tagged, in case the tagging accompanies * the action @@ -941,7 +941,7 @@ class ChangeTags { * @param string $tag * @param string $reason * @param User $user Who to attribute the action to - * @param int $tagCount For deletion only, how many usages the tag had before + * @param int|null $tagCount For deletion only, how many usages the tag had before * it was deleted. * @param array $logEntryTags Change tags to apply to the entry * that will be created in the tag management log diff --git a/includes/content/AbstractContent.php b/includes/content/AbstractContent.php index b21eadcd14..284cab2441 100644 --- a/includes/content/AbstractContent.php +++ b/includes/content/AbstractContent.php @@ -43,7 +43,7 @@ abstract class AbstractContent implements Content { protected $model_id; /** - * @param string $modelId + * @param string|null $modelId * * @since 1.21 */ @@ -145,7 +145,7 @@ abstract class AbstractContent implements Content { /** * @since 1.21 * - * @param string $format + * @param string|null $format * * @return string * @@ -182,7 +182,7 @@ abstract class AbstractContent implements Content { /** * @since 1.21 * - * @param Content $that + * @param Content|null $that * * @return bool * @@ -219,9 +219,9 @@ abstract class AbstractContent implements Content { * @since 1.21 * * @param Title $title - * @param Content $old + * @param Content|null $old * @param bool $recursive - * @param ParserOutput $parserOutput + * @param ParserOutput|null $parserOutput * * @return DataUpdate[] * diff --git a/includes/content/CodeContentHandler.php b/includes/content/CodeContentHandler.php index dfd46c8fdc..e350fb3b41 100644 --- a/includes/content/CodeContentHandler.php +++ b/includes/content/CodeContentHandler.php @@ -32,7 +32,7 @@ abstract class CodeContentHandler extends TextContentHandler { * Returns the English language, because code is English, and should be handled as such. * * @param Title $title - * @param Content $content + * @param Content|null $content * * @return Language * @@ -46,7 +46,7 @@ abstract class CodeContentHandler extends TextContentHandler { * Returns the English language, because code is English, and should be handled as such. * * @param Title $title - * @param Content $content + * @param Content|null $content * * @return Language * diff --git a/includes/content/Content.php b/includes/content/Content.php index 3e5878281f..000bff2d64 100644 --- a/includes/content/Content.php +++ b/includes/content/Content.php @@ -162,7 +162,7 @@ interface Content { * * @since 1.21 * - * @param string $format The desired serialization format, or null for the default format. + * @param string|null $format The desired serialization format, or null for the default format. * * @return string Serialized form of this Content object. */ @@ -210,7 +210,7 @@ interface Content { * * @since 1.21 * - * @param Content $that The Content object to compare to. + * @param Content|null $that The Content object to compare to. * * @return bool True if this Content object is equal to $that, false otherwise. */ @@ -262,8 +262,8 @@ interface Content { * may call ParserOutput::recordOption() on the output object. * * @param Title $title The page title to use as a context for rendering. - * @param int $revId Optional revision ID being rendered. - * @param ParserOptions $options Any parser options. + * @param int|null $revId Optional revision ID being rendered. + * @param ParserOptions|null $options Any parser options. * @param bool $generateHtml Whether to generate HTML (default: true). If false, * the result of calling getText() on the ParserOutput object returned by * this method is undefined. @@ -296,12 +296,12 @@ interface Content { * AbstractContent does. * * @param Title $title The context for determining the necessary updates - * @param Content $old An optional Content object representing the + * @param Content|null $old An optional Content object representing the * previous content, i.e. the content being replaced by this Content * object. * @param bool $recursive Whether to include recursive updates (default: * false). - * @param ParserOutput $parserOutput Optional ParserOutput object. + * @param ParserOutput|null $parserOutput Optional ParserOutput object. * Provide if you have one handy, to avoid re-parsing of the content. * * @return DataUpdate[] A list of DataUpdate objects for putting information diff --git a/includes/content/ContentHandler.php b/includes/content/ContentHandler.php index 3b54494889..3c5ee2663b 100644 --- a/includes/content/ContentHandler.php +++ b/includes/content/ContentHandler.php @@ -70,7 +70,7 @@ abstract class ContentHandler { * * @since 1.21 * - * @param Content $content + * @param Content|null $content * * @throws MWException If the content is not an instance of TextContent and * wgContentHandlerTextFallback was set to 'fail'. @@ -115,11 +115,11 @@ abstract class ContentHandler { * * @param string $text The textual representation, will be * unserialized to create the Content object - * @param Title $title The title of the page this text belongs to. + * @param Title|null $title The title of the page this text belongs to. * Required if $modelId is not provided. - * @param string $modelId The model to deserialize to. If not provided, + * @param string|null $modelId The model to deserialize to. If not provided, * $title->getContentModel() is used. - * @param string $format The format to use for deserialization. If not + * @param string|null $format The format to use for deserialization. If not * given, the model's default format is used. * * @throws MWException If model ID or format is not supported or if the text can not be @@ -420,7 +420,7 @@ abstract class ContentHandler { * @since 1.21 * * @param Content $content The Content object to serialize - * @param string $format The desired serialization format + * @param string|null $format The desired serialization format * * @return string Serialized form of the content */ @@ -446,7 +446,7 @@ abstract class ContentHandler { * @since 1.21 * * @param string $blob Serialized form of the content - * @param string $format The format used for serialization + * @param string|null $format The format used for serialization * * @return Content The Content object created by deserializing $blob */ @@ -654,7 +654,7 @@ abstract class ContentHandler { * @since 1.21 * * @param Title $title The page to determine the language for. - * @param Content $content The page's content, if you have it handy, to avoid reloading it. + * @param Content|null $content The page's content, if you have it handy, to avoid reloading it. * * @return Language The page's language */ @@ -689,7 +689,7 @@ abstract class ContentHandler { * @since 1.21 * * @param Title $title The page to determine the language for. - * @param Content $content The page's content, if you have it handy, to avoid reloading it. + * @param Content|null $content The page's content, if you have it handy, to avoid reloading it. * * @return Language The page's language for viewing */ @@ -1310,7 +1310,7 @@ abstract class ContentHandler { * Specific content handlers may override it if they need different content handling. * * @param WikiPage $page - * @param ParserCache $cache + * @param ParserCache|null $cache * @return ParserOutput */ public function getParserOutputForIndexing( WikiPage $page, ParserCache $cache = null ) { diff --git a/includes/content/MessageContent.php b/includes/content/MessageContent.php index 4b58989371..b21c6f4bb3 100644 --- a/includes/content/MessageContent.php +++ b/includes/content/MessageContent.php @@ -42,7 +42,7 @@ class MessageContent extends AbstractContent { /** * @param Message|string $msg A Message object, or a message key. - * @param string[] $params An optional array of message parameters. + * @param string[]|null $params An optional array of message parameters. */ public function __construct( $msg, $params = null ) { # XXX: messages may be wikitext, html or plain text! and maybe even something else entirely. @@ -148,8 +148,8 @@ class MessageContent extends AbstractContent { /** * @param Title $title Unused. - * @param int $revId Unused. - * @param ParserOptions $options Unused. + * @param int|null $revId Unused. + * @param ParserOptions|null $options Unused. * @param bool $generateHtml Whether to generate HTML (default: true). * * @return ParserOutput diff --git a/includes/content/TextContent.php b/includes/content/TextContent.php index 71f65b37e1..2494177b30 100644 --- a/includes/content/TextContent.php +++ b/includes/content/TextContent.php @@ -194,7 +194,7 @@ class TextContent extends AbstractContent { * @since 1.21 * * @param Content $that The other content object to compare this content object to. - * @param Language $lang The language object to use for text segmentation. + * @param Language|null $lang The language object to use for text segmentation. * If not given, $wgContentLang is used. * * @return Diff A diff representing the changes that would have to be diff --git a/includes/content/TextContentHandler.php b/includes/content/TextContentHandler.php index 4a7944caea..0978ffc288 100644 --- a/includes/content/TextContentHandler.php +++ b/includes/content/TextContentHandler.php @@ -38,7 +38,7 @@ class TextContentHandler extends ContentHandler { * Returns the content's text as-is. * * @param Content $content - * @param string $format The serialization format to check + * @param string|null $format The serialization format to check * * @return mixed */ @@ -108,7 +108,7 @@ class TextContentHandler extends ContentHandler { * @since 1.21 * * @param string $text Serialized form of the content - * @param string $format The format used for serialization + * @param string|null $format The format used for serialization * * @return Content The TextContent object wrapping $text */ diff --git a/includes/db/CloneDatabase.php b/includes/db/CloneDatabase.php index 64c33df654..20b08ed152 100644 --- a/includes/db/CloneDatabase.php +++ b/includes/db/CloneDatabase.php @@ -46,7 +46,7 @@ class CloneDatabase { * @param IMaintainableDatabase $db A database subclass * @param array $tablesToClone An array of tables to clone, unprefixed * @param string $newTablePrefix Prefix to assign to the tables - * @param string $oldTablePrefix Prefix on current tables, if not $wgDBprefix + * @param string|null $oldTablePrefix Prefix on current tables, if not $wgDBprefix * @param bool $dropCurrentTables */ public function __construct( IMaintainableDatabase $db, array $tablesToClone, diff --git a/includes/db/PatchFileLocation.php b/includes/db/PatchFileLocation.php index 013724c343..d2787fae91 100644 --- a/includes/db/PatchFileLocation.php +++ b/includes/db/PatchFileLocation.php @@ -45,7 +45,7 @@ trait PatchFileLocation { * * @param IDatabase $db * @param string $name The script name (relative to $patchDir, without the '.sql' suffix) - * @param string $patchDir The directory to find the script in. Use __DIR__ to search in the + * @param string|null $patchDir The directory to find the script in. Use __DIR__ to search in the * directory the calling code is located in. If omitted, the "maintenance" * directory will be used, where the scripts used by the updater are located. * diff --git a/includes/debug/logger/monolog/LineFormatter.php b/includes/debug/logger/monolog/LineFormatter.php index 62d45d4c61..8537d71f99 100644 --- a/includes/debug/logger/monolog/LineFormatter.php +++ b/includes/debug/logger/monolog/LineFormatter.php @@ -42,8 +42,8 @@ use MWExceptionHandler; class LineFormatter extends MonologLineFormatter { /** - * @param string $format The format of the message - * @param string $dateFormat The format of the timestamp: one supported by DateTime::format + * @param string|null $format The format of the message + * @param string|null $dateFormat The format of the timestamp: one supported by DateTime::format * @param bool $allowInlineLineBreaks Whether to allow inline line breaks in log entries * @param bool $ignoreEmptyContextAndExtra * @param bool $includeStacktraces diff --git a/includes/deferred/SearchUpdate.php b/includes/deferred/SearchUpdate.php index 2766bcb185..0d1de1a4a9 100644 --- a/includes/deferred/SearchUpdate.php +++ b/includes/deferred/SearchUpdate.php @@ -113,7 +113,7 @@ class SearchUpdate implements DeferrableUpdate { * If you're using a real search engine, you'll probably want to override * this behavior and do something nicer with the original wikitext. * @param string $text - * @param SearchEngine $se Search engine + * @param SearchEngine|null $se Search engine * @return string */ public function updateText( $text, SearchEngine $se = null ) { diff --git a/includes/diff/DairikiDiff.php b/includes/diff/DairikiDiff.php index d76af31aea..063f8265c0 100644 --- a/includes/diff/DairikiDiff.php +++ b/includes/diff/DairikiDiff.php @@ -66,7 +66,7 @@ abstract class DiffOp { } /** - * @param int $i + * @param int|null $i * @return string[]|string|null */ public function getClosing( $i = null ) { diff --git a/includes/diff/DifferenceEngine.php b/includes/diff/DifferenceEngine.php index a77dab8ce4..1d9ad05a36 100644 --- a/includes/diff/DifferenceEngine.php +++ b/includes/diff/DifferenceEngine.php @@ -102,7 +102,7 @@ class DifferenceEngine extends ContextSource { /**#@-*/ /** - * @param IContextSource $context Context to use, anything else will be ignored + * @param IContextSource|null $context Context to use, anything else will be ignored * @param int $old Old ID we want to show and diff with. * @param string|int $new Either revision ID or 'prev' or 'next'. Default: 0. * @param int $rcid Deprecated, no longer used! diff --git a/includes/exception/LocalizedException.php b/includes/exception/LocalizedException.php index f5f8c84e86..c0182d5991 100644 --- a/includes/exception/LocalizedException.php +++ b/includes/exception/LocalizedException.php @@ -46,7 +46,8 @@ class LocalizedException extends Exception implements ILocalizedException { /** * @param string|array|MessageSpecifier $messageSpec See Message::newFromSpecifier * @param int $code - * @param Exception|Throwable $previous The previous exception used for the exception chaining. + * @param Exception|Throwable|null $previous The previous exception used for the exception + * chaining. */ public function __construct( $messageSpec, $code = 0, $previous = null ) { $this->messageSpec = $messageSpec; diff --git a/includes/exception/MWExceptionHandler.php b/includes/exception/MWExceptionHandler.php index 9039cfca94..00dca9ddf6 100644 --- a/includes/exception/MWExceptionHandler.php +++ b/includes/exception/MWExceptionHandler.php @@ -161,8 +161,8 @@ class MWExceptionHandler { * * @param int $level Error level raised * @param string $message - * @param string $file - * @param int $line + * @param string|null $file + * @param int|null $line * @return bool * * @see logError() @@ -231,12 +231,12 @@ class MWExceptionHandler { * * @since 1.25 * - * @param int $level Error level raised - * @param string $message Error message - * @param string $file File that error was raised in - * @param int $line Line number error was raised at - * @param array $context Active symbol table point of error - * @param array $trace Backtrace at point of error (undocumented HHVM + * @param int|null $level Error level raised + * @param string|null $message Error message + * @param string|null $file File that error was raised in + * @param int|null $line Line number error was raised at + * @param array|null $context Active symbol table point of error + * @param array|null $trace Backtrace at point of error (undocumented HHVM * feature) * @return bool Always returns false */ diff --git a/includes/export/DumpPipeOutput.php b/includes/export/DumpPipeOutput.php index ce899ed396..26010dae9e 100644 --- a/includes/export/DumpPipeOutput.php +++ b/includes/export/DumpPipeOutput.php @@ -34,7 +34,7 @@ class DumpPipeOutput extends DumpFileOutput { /** * @param string $command - * @param string $file + * @param string|null $file */ function __construct( $command, $file = null ) { if ( !is_null( $file ) ) { diff --git a/includes/filerepo/file/OldLocalFile.php b/includes/filerepo/file/OldLocalFile.php index b5c44f2c6e..9759b79289 100644 --- a/includes/filerepo/file/OldLocalFile.php +++ b/includes/filerepo/file/OldLocalFile.php @@ -41,7 +41,7 @@ class OldLocalFile extends LocalFile { /** * @param Title $title * @param FileRepo $repo - * @param string|int $time + * @param string|int|null $time * @return self * @throws MWException */ diff --git a/includes/htmlform/HTMLForm.php b/includes/htmlform/HTMLForm.php index b5fb87f9e4..cec3bfb1d4 100644 --- a/includes/htmlform/HTMLForm.php +++ b/includes/htmlform/HTMLForm.php @@ -301,7 +301,7 @@ class HTMLForm extends ContextSource { * Build a new HTMLForm from an array of field attributes * * @param array $descriptor Array of Field constructs, as described above - * @param IContextSource $context Available since 1.18, will become compulsory in 1.18. + * @param IContextSource|null $context Available since 1.18, will become compulsory in 1.18. * Obviates the need to call $form->setTitle() * @param string $messagePrefix A prefix to go in front of default messages */ diff --git a/includes/http/MWHttpRequest.php b/includes/http/MWHttpRequest.php index 70691b4cff..71e08a815f 100644 --- a/includes/http/MWHttpRequest.php +++ b/includes/http/MWHttpRequest.php @@ -87,7 +87,7 @@ abstract class MWHttpRequest implements LoggerAwareInterface { * @param string $url Url to use. If protocol-relative, will be expanded to an http:// URL * @param array $options (optional) extra params to pass (see Http::request()) * @param string $caller The method making this request, for profiling - * @param Profiler $profiler An instance of the profiler for profiling, or null + * @param Profiler|null $profiler An instance of the profiler for profiling, or null */ public function __construct( $url, array $options = [], $caller = __METHOD__, $profiler = null diff --git a/includes/installer/CliInstaller.php b/includes/installer/CliInstaller.php index 845408abd7..4f531dae52 100644 --- a/includes/installer/CliInstaller.php +++ b/includes/installer/CliInstaller.php @@ -47,7 +47,7 @@ class CliInstaller extends Installer { /** * @param string $siteName - * @param string $admin + * @param string|null $admin * @param array $option */ function __construct( $siteName, $admin = null, array $option = [] ) { diff --git a/includes/installer/DatabaseUpdater.php b/includes/installer/DatabaseUpdater.php index 1cd76b9565..939301d30d 100644 --- a/includes/installer/DatabaseUpdater.php +++ b/includes/installer/DatabaseUpdater.php @@ -109,7 +109,7 @@ abstract class DatabaseUpdater { /** * @param Database &$db To perform updates on * @param bool $shared Whether to perform updates on shared tables - * @param Maintenance $maintenance Maintenance object which created us + * @param Maintenance|null $maintenance Maintenance object which created us */ protected function __construct( Database &$db, $shared, Maintenance $maintenance = null ) { $this->db = $db; @@ -516,7 +516,7 @@ abstract class DatabaseUpdater { * Obviously, only use this for updates that occur after the updatelog table was * created! * @param string $key Name of key to insert - * @param string $val [optional] Value to insert along with the key + * @param string|null $val [optional] Value to insert along with the key */ public function insertUpdateRow( $key, $val = null ) { $this->db->clearFlag( DBO_DDLMODE ); @@ -659,7 +659,7 @@ abstract class DatabaseUpdater { * * @param string $path Path to the patch file * @param bool $isFullPath Whether to treat $path as a relative or not - * @param string $msg Description of the patch + * @param string|null $msg Description of the patch * @return bool False if patch is skipped. */ protected function applyPatch( $path, $isFullPath = false, $msg = null ) { diff --git a/includes/installer/Installer.php b/includes/installer/Installer.php index 0890bc4768..3905ba02ee 100644 --- a/includes/installer/Installer.php +++ b/includes/installer/Installer.php @@ -531,7 +531,7 @@ abstract class Installer { * Installer variables are typically prefixed by an underscore. * * @param string $name - * @param mixed $default + * @param mixed|null $default * * @return mixed */ diff --git a/includes/installer/WebInstaller.php b/includes/installer/WebInstaller.php index 4142e6f266..a3c9506663 100644 --- a/includes/installer/WebInstaller.php +++ b/includes/installer/WebInstaller.php @@ -472,7 +472,7 @@ class WebInstaller extends Installer { * Get a session variable. * * @param string $name - * @param array $default + * @param array|null $default * * @return array */ diff --git a/includes/installer/WebInstallerPage.php b/includes/installer/WebInstallerPage.php index 3aad6f8793..1c5fa0e91d 100644 --- a/includes/installer/WebInstallerPage.php +++ b/includes/installer/WebInstallerPage.php @@ -145,7 +145,7 @@ abstract class WebInstallerPage { /** * @param string $var - * @param mixed $default + * @param mixed|null $default * * @return mixed */ diff --git a/includes/interwiki/Interwiki.php b/includes/interwiki/Interwiki.php index e6a943d3a0..832883b806 100644 --- a/includes/interwiki/Interwiki.php +++ b/includes/interwiki/Interwiki.php @@ -111,7 +111,7 @@ class Interwiki { /** * Get the URL for a particular title (or with $1 if no title given) * - * @param string $title What text to put for the article name + * @param string|null $title What text to put for the article name * @return string The URL * @note Prior to 1.19 The getURL with an argument was broken. * If you if you use this arg in an extension that supports MW earlier diff --git a/includes/jobqueue/JobRunner.php b/includes/jobqueue/JobRunner.php index a85613af48..7c5d0ae703 100644 --- a/includes/jobqueue/JobRunner.php +++ b/includes/jobqueue/JobRunner.php @@ -69,7 +69,7 @@ class JobRunner implements LoggerAwareInterface { } /** - * @param LoggerInterface $logger + * @param LoggerInterface|null $logger */ public function __construct( LoggerInterface $logger = null ) { if ( $logger === null ) { diff --git a/includes/jobqueue/JobSpecification.php b/includes/jobqueue/JobSpecification.php index af5646aa92..d060c1cf65 100644 --- a/includes/jobqueue/JobSpecification.php +++ b/includes/jobqueue/JobSpecification.php @@ -117,7 +117,7 @@ class JobSpecification implements IJobSpecification { * @param string $type * @param array $params Map of key/values * @param array $opts Map of key/values; includes 'removeDuplicates' - * @param Title $title Optional descriptive title + * @param Title|null $title Optional descriptive title */ public function __construct( $type, array $params, array $opts = [], Title $title = null diff --git a/includes/libs/Cookie.php b/includes/libs/Cookie.php index a67b919f47..c0ab0a0538 100644 --- a/includes/libs/Cookie.php +++ b/includes/libs/Cookie.php @@ -86,7 +86,7 @@ class Cookie { * not a big problem in practice, but there are test cases) * * @param string $domain The domain to validate - * @param string $originDomain (optional) the domain the cookie originates from + * @param string|null $originDomain (optional) the domain the cookie originates from * @return bool */ public static function validateCookieDomain( $domain, $originDomain = null ) { diff --git a/includes/libs/MapCacheLRU.php b/includes/libs/MapCacheLRU.php index bca8c05a36..595dc1a1be 100644 --- a/includes/libs/MapCacheLRU.php +++ b/includes/libs/MapCacheLRU.php @@ -247,7 +247,7 @@ class MapCacheLRU implements IExpiringStore, Serializable { /** * Clear one or several cache entries, or all cache entries * - * @param string|array $keys + * @param string|array|null $keys * @return void */ public function clear( $keys = null ) { diff --git a/includes/libs/ProcessCacheLRU.php b/includes/libs/ProcessCacheLRU.php index eb32d985a5..f0cd83ed50 100644 --- a/includes/libs/ProcessCacheLRU.php +++ b/includes/libs/ProcessCacheLRU.php @@ -83,7 +83,7 @@ class ProcessCacheLRU { /** * Clear one or several cache entries, or all cache entries. * - * @param string|array $keys + * @param string|array|null $keys * @return void */ public function clear( $keys = null ) { diff --git a/includes/libs/StatusValue.php b/includes/libs/StatusValue.php index 3bdafe1282..16cb1ed1d3 100644 --- a/includes/libs/StatusValue.php +++ b/includes/libs/StatusValue.php @@ -75,7 +75,7 @@ class StatusValue { /** * Factory function for good results * - * @param mixed $value + * @param mixed|null $value * @return static */ public static function newGood( $value = null ) { @@ -162,7 +162,7 @@ class StatusValue { * Change operation result * * @param bool $ok Whether the operation completed - * @param mixed $value + * @param mixed|null $value */ public function setResult( $ok, $value = null ) { $this->ok = (bool)$ok; diff --git a/includes/libs/Timing.php b/includes/libs/Timing.php index 04a13e2c69..65a924795a 100644 --- a/includes/libs/Timing.php +++ b/includes/libs/Timing.php @@ -83,7 +83,7 @@ class Timing implements LoggerAwareInterface { } /** - * @param string $markName The name of the mark that should + * @param string|null $markName The name of the mark that should * be cleared. If not specified, all marks will be cleared. */ public function clearMarks( $markName = null ) { @@ -117,7 +117,7 @@ class Timing implements LoggerAwareInterface { * * @param string $measureName * @param string $startMark - * @param string $endMark + * @param string|null $endMark * @return array|bool The measure that has been created, or false if either * the start mark or the end mark do not exist. */ diff --git a/includes/libs/filebackend/FileBackend.php b/includes/libs/filebackend/FileBackend.php index 785cb72655..6d5efa23b9 100644 --- a/includes/libs/filebackend/FileBackend.php +++ b/includes/libs/filebackend/FileBackend.php @@ -1267,7 +1267,7 @@ abstract class FileBackend implements LoggerAwareInterface { * * @see FileBackend::getFileStat() * - * @param array $paths Storage paths (optional) + * @param array|null $paths Storage paths (optional) */ abstract public function clearCache( array $paths = null ); diff --git a/includes/libs/filebackend/FileBackendStore.php b/includes/libs/filebackend/FileBackendStore.php index 6c1dc53f34..118464cf89 100644 --- a/includes/libs/filebackend/FileBackendStore.php +++ b/includes/libs/filebackend/FileBackendStore.php @@ -1299,7 +1299,7 @@ abstract class FileBackendStore extends FileBackend { * * @see FileBackend::clearCache() * - * @param array $paths Storage paths (optional) + * @param array|null $paths Storage paths (optional) */ protected function doClearCache( array $paths = null ) { } diff --git a/includes/libs/filebackend/SwiftFileBackend.php b/includes/libs/filebackend/SwiftFileBackend.php index 2f7bc1ef8f..143f854b31 100644 --- a/includes/libs/filebackend/SwiftFileBackend.php +++ b/includes/libs/filebackend/SwiftFileBackend.php @@ -1737,8 +1737,8 @@ class SwiftFileBackend extends FileBackendStore { /** * @param array $creds From getAuthentication() - * @param string $container - * @param string $object + * @param string|null $container + * @param string|null $object * @return string */ protected function storageUrl( array $creds, $container = null, $object = null ) { diff --git a/includes/libs/filebackend/filejournal/FileJournal.php b/includes/libs/filebackend/filejournal/FileJournal.php index 9343fcce07..47be4eba00 100644 --- a/includes/libs/filebackend/filejournal/FileJournal.php +++ b/includes/libs/filebackend/filejournal/FileJournal.php @@ -149,9 +149,9 @@ abstract class FileJournal { * Get an array of file change log entries. * A starting change ID and/or limit can be specified. * - * @param int $start Starting change ID or null + * @param int|null $start Starting change ID or null * @param int $limit Maximum number of items to return - * @param string &$next Updated to the ID of the next entry. + * @param string|null &$next Updated to the ID of the next entry. * @return array List of associative arrays, each having: * id : unique, monotonic, ID for this change * batch_uuid : UUID for an operation batch diff --git a/includes/libs/lockmanager/ScopedLock.php b/includes/libs/lockmanager/ScopedLock.php index 6261335ea3..d877db043e 100644 --- a/includes/libs/lockmanager/ScopedLock.php +++ b/includes/libs/lockmanager/ScopedLock.php @@ -85,7 +85,7 @@ class ScopedLock { * This is useful for early release of locks before function scope is destroyed. * This is the same as setting the lock object to null. * - * @param ScopedLock &$lock + * @param ScopedLock|null &$lock * @since 1.21 */ public static function release( ScopedLock &$lock = null ) { diff --git a/includes/libs/mime/MimeAnalyzer.php b/includes/libs/mime/MimeAnalyzer.php index 4a16679ec3..77c377b2ca 100644 --- a/includes/libs/mime/MimeAnalyzer.php +++ b/includes/libs/mime/MimeAnalyzer.php @@ -1029,9 +1029,9 @@ EOT; * @todo analyse file if need be * @todo look at multiple extension, separately and together. * - * @param string $path Full path to the image file, in case we have to look at the contents + * @param string|null $path Full path to the image file, in case we have to look at the contents * (if null, only the MIME type is used to determine the media type code). - * @param string $mime MIME type. If null it will be guessed using guessMimeType. + * @param string|null $mime MIME type. If null it will be guessed using guessMimeType. * * @return string A value to be used with the MEDIATYPE_xxx constants. */ diff --git a/includes/libs/mime/XmlTypeCheck.php b/includes/libs/mime/XmlTypeCheck.php index e231113470..9cfaf67deb 100644 --- a/includes/libs/mime/XmlTypeCheck.php +++ b/includes/libs/mime/XmlTypeCheck.php @@ -91,7 +91,7 @@ class XmlTypeCheck { * result stored in $this->filterMatchType. * * @param string $input a filename or string containing the XML element - * @param callable $filterCallback (optional) + * @param callable|null $filterCallback (optional) * Function to call to do additional custom validity checks from the * SAX element handler event. This gives you access to the element * namespace, name, attributes, and text contents. @@ -114,7 +114,7 @@ class XmlTypeCheck { * Alternative constructor: from filename * * @param string $fname the filename of an XML document - * @param callable $filterCallback (optional) + * @param callable|null $filterCallback (optional) * Function to call to do additional custom validity checks from the * SAX element handler event. This gives you access to the element * namespace, name, and attributes, but not to text contents. @@ -129,7 +129,7 @@ class XmlTypeCheck { * Alternative constructor: from string * * @param string $string a string containing an XML element - * @param callable $filterCallback (optional) + * @param callable|null $filterCallback (optional) * Function to call to do additional custom validity checks from the * SAX element handler event. This gives you access to the element * namespace, name, and attributes, but not to text contents. diff --git a/includes/libs/objectcache/BagOStuff.php b/includes/libs/objectcache/BagOStuff.php index e58a0bb8d7..0100fb2c41 100644 --- a/includes/libs/objectcache/BagOStuff.php +++ b/includes/libs/objectcache/BagOStuff.php @@ -185,7 +185,7 @@ abstract class BagOStuff implements IExpiringStore, LoggerAwareInterface { * * @param string $key * @param int $flags Bitfield of BagOStuff::READ_* constants [optional] - * @param int $oldFlags [unused] + * @param int|null $oldFlags [unused] * @return mixed Returns false on failure and if the item does not exist */ public function get( $key, $flags = 0, $oldFlags = null ) { @@ -774,7 +774,7 @@ abstract class BagOStuff implements IExpiringStore, LoggerAwareInterface { * * @since 1.27 * @param string $class Key class - * @param string $component [optional] Key component (starting with a key collection name) + * @param string|null $component [optional] Key component (starting with a key collection name) * @return string Colon-delimited list of $keyspace followed by escaped components of $args */ public function makeGlobalKey( $class, $component = null ) { @@ -786,7 +786,7 @@ abstract class BagOStuff implements IExpiringStore, LoggerAwareInterface { * * @since 1.27 * @param string $class Key class - * @param string $component [optional] Key component (starting with a key collection name) + * @param string|null $component [optional] Key component (starting with a key collection name) * @return string Colon-delimited list of $keyspace followed by escaped components of $args */ public function makeKey( $class, $component = null ) { diff --git a/includes/libs/objectcache/WANObjectCache.php b/includes/libs/objectcache/WANObjectCache.php index 0913322bfd..e30e061815 100644 --- a/includes/libs/objectcache/WANObjectCache.php +++ b/includes/libs/objectcache/WANObjectCache.php @@ -291,9 +291,9 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface { * That method has cache slam avoiding features for hot/expensive keys. * * @param string $key Cache key made from makeKey() or makeGlobalKey() - * @param mixed &$curTTL Approximate TTL left on the key if present/tombstoned [returned] + * @param mixed|null &$curTTL Approximate TTL left on the key if present/tombstoned [returned] * @param array $checkKeys List of "check" keys - * @param float &$asOf UNIX timestamp of cached value; null on failure [returned] + * @param float|null &$asOf UNIX timestamp of cached value; null on failure [returned] * @return mixed Value of cache key or false on failure */ final public function get( $key, &$curTTL = null, array $checkKeys = [], &$asOf = null ) { @@ -1133,7 +1133,7 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface { * @param int $ttl * @param callback $callback * @param array $opts Options map for getWithSetCallback() - * @param float &$asOf Cache generation timestamp of returned value [returned] + * @param float|null &$asOf Cache generation timestamp of returned value [returned] * @return mixed * @note Callable type hints are not used to avoid class-autoloading */ @@ -1600,7 +1600,7 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface { /** * @see BagOStuff::makeKey() * @param string $class Key class - * @param string $component [optional] Key component (starting with a key collection name) + * @param string|null $component [optional] Key component (starting with a key collection name) * @return string Colon-delimited list of $keyspace followed by escaped components of $args * @since 1.27 */ @@ -1611,7 +1611,7 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface { /** * @see BagOStuff::makeGlobalKey() * @param string $class Key class - * @param string $component [optional] Key component (starting with a key collection name) + * @param string|null $component [optional] Key component (starting with a key collection name) * @return string Colon-delimited list of $keyspace followed by escaped components of $args * @since 1.27 */ diff --git a/includes/libs/rdbms/database/Database.php b/includes/libs/rdbms/database/Database.php index 30541565cf..8d1e25fb08 100644 --- a/includes/libs/rdbms/database/Database.php +++ b/includes/libs/rdbms/database/Database.php @@ -4113,7 +4113,7 @@ abstract class Database implements IDatabase, IMaintainableDatabase, LoggerAware * @see WANObjectCache::getWithSetCallback() * * @param IDatabase $db1 - * @param IDatabase $db2 [optional] + * @param IDatabase|null $db2 [optional] * @return array Map of values: * - lag: highest lag of any of the DBs or false on error (e.g. replication stopped) * - since: oldest UNIX timestamp of any of the DB lag estimates diff --git a/includes/libs/rdbms/database/DatabaseMysqlBase.php b/includes/libs/rdbms/database/DatabaseMysqlBase.php index bbc656d557..3ecfca9108 100644 --- a/includes/libs/rdbms/database/DatabaseMysqlBase.php +++ b/includes/libs/rdbms/database/DatabaseMysqlBase.php @@ -498,7 +498,7 @@ abstract class DatabaseMysqlBase extends Database { /** * Returns the text of the error message from previous MySQL operation * - * @param resource $conn Raw connection + * @param resource|null $conn Raw connection * @return string */ abstract protected function mysqlError( $conn = null ); @@ -1457,7 +1457,7 @@ abstract class DatabaseMysqlBase extends Database { /** * List all tables on the database * - * @param string $prefix Only show tables with this prefix, e.g. mw_ + * @param string|null $prefix Only show tables with this prefix, e.g. mw_ * @param string $fname Calling function name * @return array */ @@ -1511,7 +1511,7 @@ abstract class DatabaseMysqlBase extends Database { /** * Lists VIEWs in the database * - * @param string $prefix Only show VIEWs with this prefix, eg. + * @param string|null $prefix Only show VIEWs with this prefix, eg. * unit_test_, or $wgDBprefix. Default: null, would return all views. * @param string $fname Name of calling function * @return array @@ -1547,7 +1547,7 @@ abstract class DatabaseMysqlBase extends Database { * Differentiates between a TABLE and a VIEW. * * @param string $name Name of the TABLE/VIEW to test - * @param string $prefix + * @param string|null $prefix * @return bool * @since 1.22 */ diff --git a/includes/libs/rdbms/database/DatabaseMysqli.php b/includes/libs/rdbms/database/DatabaseMysqli.php index ec69b9db62..6d9dabd803 100644 --- a/includes/libs/rdbms/database/DatabaseMysqli.php +++ b/includes/libs/rdbms/database/DatabaseMysqli.php @@ -296,7 +296,7 @@ class DatabaseMysqli extends DatabaseMysqlBase { } /** - * @param mysqli $conn Optional connection object + * @param mysqli|null $conn Optional connection object * @return string */ protected function mysqlError( $conn = null ) { diff --git a/includes/libs/rdbms/database/DatabaseSqlite.php b/includes/libs/rdbms/database/DatabaseSqlite.php index d86c5cef5d..ca44572dd5 100644 --- a/includes/libs/rdbms/database/DatabaseSqlite.php +++ b/includes/libs/rdbms/database/DatabaseSqlite.php @@ -1036,7 +1036,7 @@ class DatabaseSqlite extends Database { /** * List all tables on the database * - * @param string $prefix Only show tables with this prefix, e.g. mw_ + * @param string|null $prefix Only show tables with this prefix, e.g. mw_ * @param string $fname Calling function name * * @return array diff --git a/includes/libs/rdbms/database/IDatabase.php b/includes/libs/rdbms/database/IDatabase.php index 21451292bb..723051c5c5 100644 --- a/includes/libs/rdbms/database/IDatabase.php +++ b/includes/libs/rdbms/database/IDatabase.php @@ -166,14 +166,14 @@ interface IDatabase { /** * Get/set the table prefix. - * @param string $prefix The table prefix to set, or omitted to leave it unchanged. + * @param string|null $prefix The table prefix to set, or omitted to leave it unchanged. * @return string The previous table prefix. */ public function tablePrefix( $prefix = null ); /** * Get/set the db schema. - * @param string $schema The database schema to set, or omitted to leave it unchanged. + * @param string|null $schema The database schema to set, or omitted to leave it unchanged. * @return string The previous db schema. */ public function dbSchema( $schema = null ); @@ -182,7 +182,7 @@ interface IDatabase { * Get properties passed down from the server info array of the load * balancer. * - * @param string $name The entry of the info array to get, or null to get the + * @param string|null $name The entry of the info array to get, or null to get the * whole array * * @return array|mixed|null @@ -195,7 +195,7 @@ interface IDatabase { * parameters, the member with the given name is set to the given value. * * @param string $name - * @param array $value + * @param array|null $value */ public function setLBInfo( $name, $value = null ); @@ -1698,7 +1698,7 @@ interface IDatabase { * @since 1.31 * @see IDatabase::startAtomic * @param string $fname - * @param AtomicSectionIdentifier $sectionId Section ID from startAtomic(); + * @param AtomicSectionIdentifier|null $sectionId Section ID from startAtomic(); * passing this enables cancellation of unclosed nested sections [optional] * @throws DBError */ @@ -1882,7 +1882,7 @@ interface IDatabase { * The result is unquoted, and needs to be passed through addQuotes() * before it can be included in raw SQL. * - * @param string|int $ts + * @param string|int|null $ts * * @return string */ diff --git a/includes/libs/rdbms/database/IMaintainableDatabase.php b/includes/libs/rdbms/database/IMaintainableDatabase.php index 18e3cbbc46..5706435dc5 100644 --- a/includes/libs/rdbms/database/IMaintainableDatabase.php +++ b/includes/libs/rdbms/database/IMaintainableDatabase.php @@ -183,7 +183,7 @@ interface IMaintainableDatabase extends IDatabase { /** * Lists all the VIEWs in the database * - * @param string $prefix Only show VIEWs with this prefix, eg. unit_test_ + * @param string|null $prefix Only show VIEWs with this prefix, eg. unit_test_ * @param string $fname Name of calling function * @throws RuntimeException * @return array @@ -279,7 +279,7 @@ interface IMaintainableDatabase extends IDatabase { /** * List all tables on the database * - * @param string $prefix Only show tables with this prefix, e.g. mw_ + * @param string|null $prefix Only show tables with this prefix, e.g. mw_ * @param string $fname Calling function name * @throws DBError * @return array diff --git a/includes/libs/rdbms/exception/DBConnectionError.php b/includes/libs/rdbms/exception/DBConnectionError.php index 4c5bc9a079..4ed2b31287 100644 --- a/includes/libs/rdbms/exception/DBConnectionError.php +++ b/includes/libs/rdbms/exception/DBConnectionError.php @@ -25,7 +25,7 @@ namespace Wikimedia\Rdbms; */ class DBConnectionError extends DBExpectedError { /** - * @param IDatabase $db Object throwing the error + * @param IDatabase|null $db Object throwing the error * @param string $error Error text */ public function __construct( IDatabase $db = null, $error = 'unknown error' ) { diff --git a/includes/libs/rdbms/exception/DBError.php b/includes/libs/rdbms/exception/DBError.php index 1a5f4a3b55..6b67b45bfb 100644 --- a/includes/libs/rdbms/exception/DBError.php +++ b/includes/libs/rdbms/exception/DBError.php @@ -33,7 +33,7 @@ class DBError extends RuntimeException { /** * Construct a database error - * @param IDatabase $db Object which threw the error + * @param IDatabase|null $db Object which threw the error * @param string $error A simple error message to be used for debugging * @param \Exception|\Throwable|null $prev Previous exception */ diff --git a/includes/libs/rdbms/exception/DBQueryError.php b/includes/libs/rdbms/exception/DBQueryError.php index 0be08cdb07..4bdd8f6154 100644 --- a/includes/libs/rdbms/exception/DBQueryError.php +++ b/includes/libs/rdbms/exception/DBQueryError.php @@ -40,7 +40,7 @@ class DBQueryError extends DBExpectedError { * @param int|string $errno * @param string $sql * @param string $fname - * @param string $message Optional message, intended for subclases (optional) + * @param string|null $message Optional message, intended for subclases (optional) */ public function __construct( IDatabase $db, $error, $errno, $sql, $fname, $message = null ) { if ( $message === null ) { diff --git a/includes/libs/rdbms/lbfactory/ILBFactory.php b/includes/libs/rdbms/lbfactory/ILBFactory.php index b577fcdb2b..222d7d1c96 100644 --- a/includes/libs/rdbms/lbfactory/ILBFactory.php +++ b/includes/libs/rdbms/lbfactory/ILBFactory.php @@ -245,7 +245,7 @@ interface ILBFactory { /** * Determine if any master connection has pending/written changes from this request - * @param float $age How many seconds ago is "recent" [defaults to LB lag wait timeout] + * @param float|null $age How many seconds ago is "recent" [defaults to LB lag wait timeout] * @return bool */ public function hasOrMadeRecentMasterChanges( $age = null ); diff --git a/includes/libs/rdbms/loadbalancer/ILoadBalancer.php b/includes/libs/rdbms/loadbalancer/ILoadBalancer.php index 5dcafd0411..0ff6a32980 100644 --- a/includes/libs/rdbms/loadbalancer/ILoadBalancer.php +++ b/includes/libs/rdbms/loadbalancer/ILoadBalancer.php @@ -170,7 +170,7 @@ interface ILoadBalancer { * This can be used a faster proxy for waitForAll() * * @param DBMasterPos|bool $pos Master position or false - * @param int $timeout Max seconds to wait; default is mWaitTimeout + * @param int|null $timeout Max seconds to wait; default is mWaitTimeout * @return bool Success (able to connect and no timeouts reached) */ public function waitForOne( $pos, $timeout = null ); @@ -179,7 +179,7 @@ interface ILoadBalancer { * Set the master wait position and wait for ALL replica DBs to catch up to it * * @param DBMasterPos|bool $pos Master position or false - * @param int $timeout Max seconds to wait; default is mWaitTimeout + * @param int|null $timeout Max seconds to wait; default is mWaitTimeout * @return bool Success (able to connect and no timeouts reached) */ public function waitForAll( $pos, $timeout = null ); @@ -502,7 +502,7 @@ interface ILoadBalancer { * Check if this load balancer object had any recent or still * pending writes issued against it by this PHP thread * - * @param float $age How many seconds ago is "recent" [defaults to mWaitTimeout] + * @param float|null $age How many seconds ago is "recent" [defaults to mWaitTimeout] * @return bool */ public function hasOrMadeRecentMasterChanges( $age = null ); diff --git a/includes/libs/rdbms/loadbalancer/LoadBalancer.php b/includes/libs/rdbms/loadbalancer/LoadBalancer.php index 22c0db2e9e..f2f9eb0709 100644 --- a/includes/libs/rdbms/loadbalancer/LoadBalancer.php +++ b/includes/libs/rdbms/loadbalancer/LoadBalancer.php @@ -603,7 +603,7 @@ class LoadBalancer implements ILoadBalancer { * Wait for a given replica DB to catch up to the master pos stored in $this * @param int $index Server index * @param bool $open Check the server even if a new connection has to be made - * @param int $timeout Max seconds to wait; default is "waitTimeout" given to __construct() + * @param int|null $timeout Max seconds to wait; default is "waitTimeout" given to __construct() * @return bool */ protected function doWait( $index, $open = false, $timeout = null ) { diff --git a/includes/libs/redis/RedisConnRef.php b/includes/libs/redis/RedisConnRef.php index bbcb267791..a73fac1193 100644 --- a/includes/libs/redis/RedisConnRef.php +++ b/includes/libs/redis/RedisConnRef.php @@ -154,8 +154,8 @@ class RedisConnRef implements LoggerAwareInterface { * See: https://github.com/phpredis/phpredis#scan * * @param int &$iterator - * @param string $pattern - * @param int $count + * @param string|null $pattern + * @param int|null $count * @return array $res */ public function scan( &$iterator, $pattern = null, $count = null ) { @@ -169,8 +169,8 @@ class RedisConnRef implements LoggerAwareInterface { * * @param string $key * @param int &$iterator - * @param string $pattern - * @param int $count + * @param string|null $pattern + * @param int|null $count * @return array $res */ public function sScan( $key, &$iterator, $pattern = null, $count = null ) { @@ -184,8 +184,8 @@ class RedisConnRef implements LoggerAwareInterface { * * @param string $key * @param int &$iterator - * @param string $pattern - * @param int $count + * @param string|null $pattern + * @param int|null $count * @return array $res */ public function hScan( $key, &$iterator, $pattern = null, $count = null ) { @@ -199,8 +199,8 @@ class RedisConnRef implements LoggerAwareInterface { * * @param string $key * @param int &$iterator - * @param string $pattern - * @param int $count + * @param string|null $pattern + * @param int|null $count * @return array $res */ public function zScan( $key, &$iterator, $pattern = null, $count = null ) { diff --git a/includes/libs/redis/RedisConnectionPool.php b/includes/libs/redis/RedisConnectionPool.php index 82cc23305e..aa60242235 100644 --- a/includes/libs/redis/RedisConnectionPool.php +++ b/includes/libs/redis/RedisConnectionPool.php @@ -168,7 +168,7 @@ class RedisConnectionPool implements LoggerAwareInterface { * * @param string $server A hostname/port combination or the absolute path of a UNIX socket. * If a hostname is specified but no port, port 6379 will be used. - * @param LoggerInterface $logger PSR-3 logger intance. [optional] + * @param LoggerInterface|null $logger PSR-3 logger intance. [optional] * @return RedisConnRef|bool Returns false on failure * @throws MWException */ @@ -382,7 +382,7 @@ class RedisConnectionPool implements LoggerAwareInterface { * Adjust or reset the connection handle read timeout value * * @param Redis $conn - * @param int $timeout Optional + * @param int|null $timeout Optional */ public function resetTimeout( Redis $conn, $timeout = null ) { $conn->setOption( Redis::OPT_READ_TIMEOUT, $timeout ?: $this->readTimeout ); diff --git a/includes/logging/LogEntry.php b/includes/logging/LogEntry.php index e9e338dc3a..39e679b377 100644 --- a/includes/logging/LogEntry.php +++ b/includes/logging/LogEntry.php @@ -625,7 +625,7 @@ class ManualLogEntry extends LogEntryBase { /** * Insert the entry into the `logging` table. * - * @param IDatabase $dbw + * @param IDatabase|null $dbw * @return int ID of the log entry * @throws MWException */ diff --git a/includes/logging/LogEventsList.php b/includes/logging/LogEventsList.php index 7b8ffef0e9..17d15d683a 100644 --- a/includes/logging/LogEventsList.php +++ b/includes/logging/LogEventsList.php @@ -101,9 +101,9 @@ class LogEventsList extends ContextSource { * @param int|string $year Use 0 to start with no year preselected. * @param int|string $month A month in the 1..12 range. Use 0 to start with no month * preselected. - * @param array $filter + * @param array|null $filter * @param string $tagFilter Tag to select by default - * @param string $action + * @param string|null $action */ public function showOptions( $types = [], $user = '', $page = '', $pattern = false, $year = 0, $month = 0, $filter = null, $tagFilter = '', $action = null @@ -524,7 +524,7 @@ class LogEventsList extends ContextSource { * * @param stdClass $row * @param int $field - * @param User $user User to check, or null to use $wgUser + * @param User|null $user User to check, or null to use $wgUser * @return bool */ public static function userCan( $row, $field, User $user = null ) { @@ -537,7 +537,7 @@ class LogEventsList extends ContextSource { * * @param int $bitfield Current field * @param int $field - * @param User $user User to check, or null to use $wgUser + * @param User|null $user User to check, or null to use $wgUser * @return bool */ public static function userCanBitfield( $bitfield, $field, User $user = null ) { @@ -745,7 +745,7 @@ class LogEventsList extends ContextSource { * * @param IDatabase $db * @param string $audience Public/user - * @param User $user User to check, or null to use $wgUser + * @param User|null $user User to check, or null to use $wgUser * @return string|bool String on success, false on failure. */ public static function getExcludeClause( $db, $audience = 'public', User $user = null ) { diff --git a/includes/logging/LogFormatter.php b/includes/logging/LogFormatter.php index 54f2d58806..d59c6aa1ca 100644 --- a/includes/logging/LogFormatter.php +++ b/includes/logging/LogFormatter.php @@ -639,7 +639,7 @@ class LogFormatter { /** * Helper to make a link to the page, taking the plaintext * value in consideration. - * @param Title $title The page + * @param Title|null $title The page * @param array $parameters Query parameters * @param string|null $html Linktext of the link as raw html * @throws MWException diff --git a/includes/logging/PatrolLog.php b/includes/logging/PatrolLog.php index 9b2e098298..d737a4b1e1 100644 --- a/includes/logging/PatrolLog.php +++ b/includes/logging/PatrolLog.php @@ -33,8 +33,8 @@ class PatrolLog { * * @param int|RecentChange $rc Change identifier or RecentChange object * @param bool $auto Was this patrol event automatic? - * @param User $user User performing the action or null to use $wgUser - * @param string|string[] $tags Change tags to add to the patrol log entry + * @param User|null $user User performing the action or null to use $wgUser + * @param string|string[]|null $tags Change tags to add to the patrol log entry * ($user should be able to add the specified tags before this is called) * * @return bool diff --git a/includes/mail/MailAddress.php b/includes/mail/MailAddress.php index b9d94143d0..1b66c389b3 100644 --- a/includes/mail/MailAddress.php +++ b/includes/mail/MailAddress.php @@ -47,8 +47,8 @@ class MailAddress { /** * @param string $address String with an email address, or a User object - * @param string $name Human-readable name if a string address is given - * @param string $realName Human-readable real name if a string address is given + * @param string|null $name Human-readable name if a string address is given + * @param string|null $realName Human-readable real name if a string address is given */ function __construct( $address, $name = null, $realName = null ) { if ( is_object( $address ) && $address instanceof User ) { diff --git a/includes/media/BmpHandler.php b/includes/media/BmpHandler.php index 0229ac11b7..ed6e76fb36 100644 --- a/includes/media/BmpHandler.php +++ b/includes/media/BmpHandler.php @@ -41,7 +41,7 @@ class BmpHandler extends BitmapHandler { * * @param string $text * @param string $mime - * @param array $params + * @param array|null $params * @return array */ function getThumbType( $text, $mime, $params = null ) { diff --git a/includes/media/MediaHandler.php b/includes/media/MediaHandler.php index c76930cfc7..45836321a5 100644 --- a/includes/media/MediaHandler.php +++ b/includes/media/MediaHandler.php @@ -284,7 +284,7 @@ abstract class MediaHandler { * * @param string $ext Extension of original file * @param string $mime MIME type of original file - * @param array $params Handler specific rendering parameters + * @param array|null $params Handler specific rendering parameters * @return array Thumbnail extension and MIME type */ function getThumbType( $ext, $mime, $params = null ) { diff --git a/includes/media/MediaTransformOutput.php b/includes/media/MediaTransformOutput.php index 4aeaac4b6f..dba1b60aef 100644 --- a/includes/media/MediaTransformOutput.php +++ b/includes/media/MediaTransformOutput.php @@ -236,7 +236,7 @@ abstract class MediaTransformOutput { } /** - * @param string $title + * @param string|null $title * @param string|array $params Query parameters to add * @return array */ diff --git a/includes/media/TiffHandler.php b/includes/media/TiffHandler.php index f0f4cdad6c..441513ee86 100644 --- a/includes/media/TiffHandler.php +++ b/includes/media/TiffHandler.php @@ -61,7 +61,7 @@ class TiffHandler extends ExifBitmapHandler { /** * @param string $ext * @param string $mime - * @param array $params + * @param array|null $params * @return bool */ function getThumbType( $ext, $mime, $params = null ) { diff --git a/includes/media/XCF.php b/includes/media/XCF.php index 491fef2182..0cb618ffd8 100644 --- a/includes/media/XCF.php +++ b/includes/media/XCF.php @@ -46,7 +46,7 @@ class XCFHandler extends BitmapHandler { * * @param string $ext * @param string $mime - * @param array $params + * @param array|null $params * @return array */ function getThumbType( $ext, $mime, $params = null ) { diff --git a/includes/page/Article.php b/includes/page/Article.php index 51136fff98..abf32d78ce 100644 --- a/includes/page/Article.php +++ b/includes/page/Article.php @@ -85,7 +85,7 @@ class Article implements Page { /** * Constructor and clear the article * @param Title $title Reference to a Title object. - * @param int $oldId Revision ID, null to fetch from request, zero for current + * @param int|null $oldId Revision ID, null to fetch from request, zero for current */ public function __construct( Title $title, $oldId = null ) { $this->mOldId = $oldId; @@ -1962,7 +1962,7 @@ class Article implements Page { * @since 1.16 (r52326) for LiquidThreads * * @param int|null $oldid Revision ID or null - * @param User $user The relevant user + * @param User|null $user The relevant user * @return ParserOutput|bool ParserOutput or false if the given revision ID is not found */ public function getParserOutput( $oldid = null, User $user = null ) { @@ -2615,8 +2615,8 @@ class Article implements Page { /** * @param string $reason * @param bool $suppress - * @param int $u1 Unused - * @param bool $u2 Unused + * @param int|null $u1 Unused + * @param bool|null $u2 Unused * @param string &$error * @return bool */ diff --git a/includes/page/PageArchive.php b/includes/page/PageArchive.php index 8b42020af2..9681ece932 100644 --- a/includes/page/PageArchive.php +++ b/includes/page/PageArchive.php @@ -387,8 +387,8 @@ class PageArchive { * @param string $comment * @param array $fileVersions * @param bool $unsuppress - * @param User $user User performing the action, or null to use $wgUser - * @param string|string[] $tags Change tags to add to log entry + * @param User|null $user User performing the action, or null to use $wgUser + * @param string|string[]|null $tags Change tags to add to log entry * ($user should be able to add the specified tags before this is called) * @return array|bool array(number of file revisions restored, number of image revisions * restored, log message) on success, false on failure. diff --git a/includes/page/WikiPage.php b/includes/page/WikiPage.php index 754b0fb9e9..5facc620c3 100644 --- a/includes/page/WikiPage.php +++ b/includes/page/WikiPage.php @@ -768,7 +768,7 @@ class WikiPage implements Page, IDBAccessObject { * Revision::FOR_PUBLIC to be displayed to all users * Revision::FOR_THIS_USER to be displayed to $wgUser * Revision::RAW get the text regardless of permissions - * @param User $user User object to check for, only if FOR_THIS_USER is passed + * @param User|null $user User object to check for, only if FOR_THIS_USER is passed * to the $audience parameter * @return Content|null The content of the current revision * @@ -808,7 +808,7 @@ class WikiPage implements Page, IDBAccessObject { * Revision::FOR_PUBLIC to be displayed to all users * Revision::FOR_THIS_USER to be displayed to the given user * Revision::RAW get the text regardless of permissions - * @param User $user User object to check for, only if FOR_THIS_USER is passed + * @param User|null $user User object to check for, only if FOR_THIS_USER is passed * to the $audience parameter * @return int User ID for the user that made the last article revision */ @@ -827,7 +827,7 @@ class WikiPage implements Page, IDBAccessObject { * Revision::FOR_PUBLIC to be displayed to all users * Revision::FOR_THIS_USER to be displayed to the given user * Revision::RAW get the text regardless of permissions - * @param User $user User object to check for, only if FOR_THIS_USER is passed + * @param User|null $user User object to check for, only if FOR_THIS_USER is passed * to the $audience parameter * @return User|null */ @@ -846,7 +846,7 @@ class WikiPage implements Page, IDBAccessObject { * Revision::FOR_PUBLIC to be displayed to all users * Revision::FOR_THIS_USER to be displayed to the given user * Revision::RAW get the text regardless of permissions - * @param User $user User object to check for, only if FOR_THIS_USER is passed + * @param User|null $user User object to check for, only if FOR_THIS_USER is passed * to the $audience parameter * @return string Username of the user that made the last article revision */ @@ -864,7 +864,7 @@ class WikiPage implements Page, IDBAccessObject { * Revision::FOR_PUBLIC to be displayed to all users * Revision::FOR_THIS_USER to be displayed to the given user * Revision::RAW get the text regardless of permissions - * @param User $user User object to check for, only if FOR_THIS_USER is passed + * @param User|null $user User object to check for, only if FOR_THIS_USER is passed * to the $audience parameter * @return string Comment stored for the last article revision */ @@ -1306,10 +1306,10 @@ class WikiPage implements Page, IDBAccessObject { * @param IDatabase $dbw * @param Revision $revision For ID number, and text used to set * length and redirect status fields - * @param int $lastRevision If given, will not overwrite the page field + * @param int|null $lastRevision If given, will not overwrite the page field * when different from the currently set value. * Giving 0 indicates the new page flag should be set on. - * @param bool $lastRevIsRedirect If given, will optimize adding and + * @param bool|null $lastRevIsRedirect If given, will optimize adding and * removing rows in redirect table. * @return bool Success; false if the page row was missing or page_latest changed */ @@ -1774,8 +1774,8 @@ class WikiPage implements Page, IDBAccessObject { * restores or repeats. The new revision is expected to have the exact same content as * the given original revision. This is used with rollbacks and with dummy "null" revisions * which are created to record things like page moves. - * @param User $user The user doing the edit - * @param string $serialFormat IGNORED. + * @param User|null $user The user doing the edit + * @param string|null $serialFormat IGNORED. * @param array|null $tags Change tags to apply to this edit * Callers are responsible for permission checks * (with ChangeTags::canAddTagsAccompanyingChange) @@ -1987,7 +1987,7 @@ class WikiPage implements Page, IDBAccessObject { * @param int &$cascade Set to false if cascading protection isn't allowed. * @param string $reason * @param User $user The user updating the restrictions - * @param string|string[] $tags Change tags to add to the pages and protection log entries + * @param string|string[]|null $tags Change tags to add to the pages and protection log entries * ($user should be able to add the specified tags before this is called) * @return Status Status object; if action is taken, $status->value is the log_id of the * protection log entry. @@ -2403,10 +2403,10 @@ class WikiPage implements Page, IDBAccessObject { * @param string $reason Delete reason for deletion log * @param bool $suppress Suppress all revisions and log the deletion in * the suppression log instead of the deletion log - * @param int $u1 Unused - * @param bool $u2 Unused + * @param int|null $u1 Unused + * @param bool|null $u2 Unused * @param array|string &$error Array of errors to append to - * @param User $user The deleting user + * @param User|null $user The deleting user * @return bool True if successful */ public function doDeleteArticle( @@ -2425,10 +2425,10 @@ class WikiPage implements Page, IDBAccessObject { * @param string $reason Delete reason for deletion log * @param bool $suppress Suppress all revisions and log the deletion in * the suppression log instead of the deletion log - * @param int $u1 Unused - * @param bool $u2 Unused + * @param int|null $u1 Unused + * @param bool|null $u2 Unused * @param array|string &$error Array of errors to append to - * @param User $deleter The deleting user + * @param User|null $deleter The deleting user * @param array $tags Tags to apply to the deletion action * @param string $logsubtype * @return Status Status object; if successful, $status->value is the log_id of the diff --git a/includes/pager/IndexPager.php b/includes/pager/IndexPager.php index 2323142373..b00ec3a893 100644 --- a/includes/pager/IndexPager.php +++ b/includes/pager/IndexPager.php @@ -456,8 +456,8 @@ abstract class IndexPager extends ContextSource implements Pager { * Make a self-link * * @param string $text Text displayed on the link - * @param array $query Associative array of parameter to be in the query string - * @param string $type Link type used to create additional attributes, like "rel", "class" or + * @param array|null $query Associative array of parameter to be in the query string + * @param string|null $type Link type used to create additional attributes, like "rel", "class" or * "title". Valid values (non-exhaustive list): 'first', 'last', 'prev', 'next', 'asc', 'desc'. * @return string HTML fragment */ diff --git a/includes/parser/CoreParserFunctions.php b/includes/parser/CoreParserFunctions.php index 99ca07a01d..10da0b064f 100644 --- a/includes/parser/CoreParserFunctions.php +++ b/includes/parser/CoreParserFunctions.php @@ -112,7 +112,7 @@ class CoreParserFunctions { /** * @param Parser $parser * @param string $date - * @param string $defaultPref + * @param string|null $defaultPref * * @return string */ @@ -165,7 +165,7 @@ class CoreParserFunctions { * * @param Parser $parser * @param string $s The text to encode. - * @param string $arg (optional): The type of encoding. + * @param string|null $arg (optional): The type of encoding. * @return string */ public static function urlencode( $parser, $s = '', $arg = null ) { @@ -292,7 +292,7 @@ class CoreParserFunctions { /** * @param Parser $parser * @param string $num - * @param string $arg + * @param string|null $arg * @return string */ public static function formatnum( $parser, $num = '', $arg = null ) { @@ -556,7 +556,7 @@ class CoreParserFunctions { * Note: function name changed to "mwnamespace" rather than "namespace" * to not break PHP 5.3 * @param Parser $parser - * @param string $title + * @param string|null $title * @return mixed|string */ public static function mwnamespace( $parser, $title = null ) { @@ -613,7 +613,7 @@ class CoreParserFunctions { * Functions to get and normalize pagenames, corresponding to the magic words * of the same names * @param Parser $parser - * @param string $title + * @param string|null $title * @return string */ public static function pagename( $parser, $title = null ) { @@ -721,8 +721,8 @@ class CoreParserFunctions { * can't be called too many times per page. * @param Parser $parser * @param string $name - * @param string $arg1 - * @param string $arg2 + * @param string|null $arg1 + * @param string|null $arg2 * @return string */ public static function pagesincategory( $parser, $name = '', $arg1 = null, $arg2 = null ) { @@ -789,7 +789,7 @@ class CoreParserFunctions { * * @param Parser $parser * @param string $page Name of page to check (Default: empty string) - * @param string $raw Should number be human readable with commas or just number + * @param string|null $raw Should number be human readable with commas or just number * @return string */ public static function pagesize( $parser, $page = '', $raw = null ) { @@ -1141,7 +1141,7 @@ class CoreParserFunctions { /** * Get the pageid of a specified page * @param Parser $parser - * @param string $title Title to get the pageid from + * @param string|null $title Title to get the pageid from * @return int|null|string * @since 1.23 */ @@ -1186,7 +1186,7 @@ class CoreParserFunctions { /** * Get the id from the last revision of a specified page. * @param Parser $parser - * @param string $title Title to get the id from + * @param string|null $title Title to get the id from * @return int|null|string * @since 1.23 */ @@ -1203,7 +1203,7 @@ class CoreParserFunctions { /** * Get the day from the last revision of a specified page. * @param Parser $parser - * @param string $title Title to get the day from + * @param string|null $title Title to get the day from * @return string * @since 1.23 */ @@ -1220,7 +1220,7 @@ class CoreParserFunctions { /** * Get the day with leading zeros from the last revision of a specified page. * @param Parser $parser - * @param string $title Title to get the day from + * @param string|null $title Title to get the day from * @return string * @since 1.23 */ @@ -1237,7 +1237,7 @@ class CoreParserFunctions { /** * Get the month with leading zeros from the last revision of a specified page. * @param Parser $parser - * @param string $title Title to get the month from + * @param string|null $title Title to get the month from * @return string * @since 1.23 */ @@ -1254,7 +1254,7 @@ class CoreParserFunctions { /** * Get the month from the last revision of a specified page. * @param Parser $parser - * @param string $title Title to get the month from + * @param string|null $title Title to get the month from * @return string * @since 1.23 */ @@ -1271,7 +1271,7 @@ class CoreParserFunctions { /** * Get the year from the last revision of a specified page. * @param Parser $parser - * @param string $title Title to get the year from + * @param string|null $title Title to get the year from * @return string * @since 1.23 */ @@ -1288,7 +1288,7 @@ class CoreParserFunctions { /** * Get the timestamp from the last revision of a specified page. * @param Parser $parser - * @param string $title Title to get the timestamp from + * @param string|null $title Title to get the timestamp from * @return string * @since 1.23 */ @@ -1305,7 +1305,7 @@ class CoreParserFunctions { /** * Get the user from the last revision of a specified page. * @param Parser $parser - * @param string $title Title to get the user from + * @param string|null $title Title to get the user from * @return string * @since 1.23 */ diff --git a/includes/parser/Parser.php b/includes/parser/Parser.php index 02708283bc..fd5ccb848b 100644 --- a/includes/parser/Parser.php +++ b/includes/parser/Parser.php @@ -401,7 +401,7 @@ class Parser { * @param ParserOptions $options * @param bool $linestart * @param bool $clearState - * @param int $revid Number to pass in {{REVISIONID}} + * @param int|null $revid Number to pass in {{REVISIONID}} * @return ParserOutput A ParserOutput */ public function parse( @@ -683,7 +683,7 @@ class Parser { * Also removes comments. * Do not call this function recursively. * @param string $text - * @param Title $title + * @param Title|null $title * @param ParserOptions $options * @param int|null $revid * @param bool|PPFrame $frame @@ -789,7 +789,7 @@ class Parser { /** * Accessor/mutator for the Title object * - * @param Title $x Title object or null to just get the current one + * @param Title|null $x Title object or null to just get the current one * @return Title */ public function Title( $x = null ) { @@ -843,7 +843,7 @@ class Parser { /** * Accessor/mutator for the ParserOptions object * - * @param ParserOptions $x New value or null to just get the current one + * @param ParserOptions|null $x New value or null to just get the current one * @return ParserOptions Current ParserOptions object */ public function Options( $x = null ) { @@ -1914,7 +1914,7 @@ class Parser { * @since 1.21 * @param string|bool $url Optional URL, to extract the domain from for rel => * nofollow if appropriate - * @param Title $title Optional Title, for wgNoFollowNsExceptions lookups + * @param Title|null $title Optional Title, for wgNoFollowNsExceptions lookups * @return string|null Rel attribute for $url */ public static function getExternalLinkRel( $url = false, $title = null ) { diff --git a/includes/parser/ParserOptions.php b/includes/parser/ParserOptions.php index 59592818d0..3a7a1d64bb 100644 --- a/includes/parser/ParserOptions.php +++ b/includes/parser/ParserOptions.php @@ -932,8 +932,8 @@ class ParserOptions { * @warning For interaction with the parser cache, use * WikiPage::makeParserOptions(), ContentHandler::makeParserOptions(), or * ParserOptions::newCanonical() instead. - * @param User $user - * @param Language $lang + * @param User|null $user + * @param Language|null $lang */ public function __construct( $user = null, $lang = null ) { if ( $user === null ) { @@ -1271,7 +1271,7 @@ class ParserOptions { * * @since 1.17 * @param string[] $forOptions - * @param Title $title Used to get the content language of the page (since r97636) + * @param Title|null $title Used to get the content language of the page (since r97636) * @return string Page rendering hash */ public function optionsHash( $forOptions, $title = null ) { diff --git a/includes/parser/ParserOutput.php b/includes/parser/ParserOutput.php index 265d1516a6..182648a94f 100644 --- a/includes/parser/ParserOutput.php +++ b/includes/parser/ParserOutput.php @@ -770,7 +770,7 @@ class ParserOutput extends CacheTime { * Add one or more variables to be set in mw.config in JavaScript. * * @param string|array $keys Key or array of key/value pairs. - * @param mixed $value [optional] Value of the configuration variable. + * @param mixed|null $value [optional] Value of the configuration variable. * @since 1.23 */ public function addJsConfigVars( $keys, $value = null ) { diff --git a/includes/parser/Sanitizer.php b/includes/parser/Sanitizer.php index 21498f89eb..71b71e056d 100644 --- a/includes/parser/Sanitizer.php +++ b/includes/parser/Sanitizer.php @@ -463,12 +463,12 @@ class Sanitizer { * Cleans up HTML, removes dangerous tags and attributes, and * removes HTML comments * @param string $text - * @param callable $processCallback Callback to do any variable or parameter + * @param callable|null $processCallback Callback to do any variable or parameter * replacements in HTML attribute values * @param array|bool $args Arguments for the processing callback * @param array $extratags For any extra tags to include * @param array $removetags For any tags (default or extra) to exclude - * @param callable $warnCallback (Deprecated) Callback allowing the + * @param callable|null $warnCallback (Deprecated) Callback allowing the * addition of a tracking category when bad input is encountered. * DO NOT ADD NEW PARAMETERS AFTER $warnCallback, since it will be * removed shortly. diff --git a/includes/poolcounter/PoolWorkArticleView.php b/includes/poolcounter/PoolWorkArticleView.php index 7b888ab51c..4af86ae03d 100644 --- a/includes/poolcounter/PoolWorkArticleView.php +++ b/includes/poolcounter/PoolWorkArticleView.php @@ -53,7 +53,7 @@ class PoolWorkArticleView extends PoolCounterWork { * @param int $revid ID of the revision being parsed. * @param bool $useParserCache Whether to use the parser cache. * operation. - * @param Content|string $content Content to parse or null to load it; may + * @param Content|string|null $content Content to parse or null to load it; may * also be given as a wikitext string, for BC. */ public function __construct( WikiPage $page, ParserOptions $parserOptions, diff --git a/includes/profiler/Profiler.php b/includes/profiler/Profiler.php index d02011fa34..bf4ddc7c91 100644 --- a/includes/profiler/Profiler.php +++ b/includes/profiler/Profiler.php @@ -165,7 +165,7 @@ abstract class Profiler { abstract public function scopedProfileIn( $section ); /** - * @param SectionProfileCallback &$section + * @param SectionProfileCallback|null &$section */ public function scopedProfileOut( SectionProfileCallback &$section = null ) { $section = null; diff --git a/includes/resourceloader/ResourceLoader.php b/includes/resourceloader/ResourceLoader.php index 80eb5984eb..aa632c3c20 100644 --- a/includes/resourceloader/ResourceLoader.php +++ b/includes/resourceloader/ResourceLoader.php @@ -238,8 +238,8 @@ class ResourceLoader implements LoggerAwareInterface { /** * Register core modules and runs registration hooks. - * @param Config $config [optional] - * @param LoggerInterface $logger [optional] + * @param Config|null $config [optional] + * @param LoggerInterface|null $logger [optional] */ public function __construct( Config $config = null, LoggerInterface $logger = null ) { global $IP; @@ -317,7 +317,7 @@ class ResourceLoader implements LoggerAwareInterface { * Register a module with the ResourceLoader system. * * @param mixed $name Name of module as a string or List of name/object pairs as an array - * @param array $info Module info array. For backwards compatibility with 1.17alpha, + * @param array|null $info Module info array. For backwards compatibility with 1.17alpha, * this may also be a ResourceLoaderModule object. Optional when using * multiple-registration calling style. * @throws MWException If a duplicate module registration is attempted @@ -446,7 +446,7 @@ class ResourceLoader implements LoggerAwareInterface { * Source IDs are typically the same as the Wiki ID or database name (e.g. lowercase a-z). * * @param array|string $id Source ID (string), or [ id1 => loadUrl, id2 => loadUrl, ... ] - * @param string|array $loadUrl load.php url (string), or array with loadUrl key for + * @param string|array|null $loadUrl load.php url (string), or array with loadUrl key for * backwards-compatibility. * @throws MWException */ @@ -1308,7 +1308,7 @@ MESSAGE; * Set the state of modules with the given names to the given states * * @param string $name - * @param string $state + * @param string|null $state * @return string JavaScript code */ public static function makeLoaderStateScript( $name, $state = null ) { @@ -1406,11 +1406,11 @@ MESSAGE; * Registers modules with the given names and parameters. * * @param string $name Module name - * @param string $version Module version hash - * @param array $dependencies List of module names on which this module depends - * @param string $group Group which the module is in - * @param string $source Source of the module, or 'local' if not foreign - * @param string $skip Script body of the skip function + * @param string|null $version Module version hash + * @param array|null $dependencies List of module names on which this module depends + * @param string|null $group Group which the module is in + * @param string|null $source Source of the module, or 'local' if not foreign + * @param string|null $skip Script body of the skip function * @return string JavaScript code */ public static function makeLoaderRegisterScript( $name, $version = null, @@ -1464,7 +1464,7 @@ MESSAGE; * Register sources with the given IDs and properties. * * @param string $id Source ID - * @param string $loadUrl load.php url + * @param string|null $loadUrl load.php url * @return string JavaScript code */ public static function makeLoaderSourcesScript( $id, $loadUrl = null ) { @@ -1501,7 +1501,8 @@ MESSAGE; * startup module if the client has adequate support for MediaWiki JavaScript code. * * @param string $script JavaScript code - * @param string $nonce [optional] Content-Security-Policy nonce (from OutputPage::getCSPNonce) + * @param string|null $nonce [optional] Content-Security-Policy nonce + * (from OutputPage::getCSPNonce) * @return string|WrappedString HTML */ public static function makeInlineScript( $script, $nonce = null ) { @@ -1643,10 +1644,10 @@ MESSAGE; * @param array $modules * @param string $lang * @param string $skin - * @param string $user - * @param string $version + * @param string|null $user + * @param string|null $version * @param bool $debug - * @param string $only + * @param string|null $only * @param bool $printable * @param bool $handheld * @param array $extraQuery diff --git a/includes/resourceloader/ResourceLoaderClientHtml.php b/includes/resourceloader/ResourceLoaderClientHtml.php index 20faf8b175..8d0836640f 100644 --- a/includes/resourceloader/ResourceLoaderClientHtml.php +++ b/includes/resourceloader/ResourceLoaderClientHtml.php @@ -405,7 +405,8 @@ class ResourceLoaderClientHtml { * @param array $modules One or more module names * @param string $only ResourceLoaderModule TYPE_ class constant * @param array $extraQuery [optional] Array with extra query parameters for the request - * @param string $nonce [optional] Content-Security-Policy nonce (from OutputPage::getCSPNonce) + * @param string|null $nonce [optional] Content-Security-Policy nonce + * (from OutputPage::getCSPNonce) * @return string|WrappedStringList HTML */ public static function makeLoad( ResourceLoaderContext $mainContext, array $modules, $only, diff --git a/includes/resourceloader/ResourceLoaderFileModule.php b/includes/resourceloader/ResourceLoaderFileModule.php index 68ea0c07ab..b2ca2911b0 100644 --- a/includes/resourceloader/ResourceLoaderFileModule.php +++ b/includes/resourceloader/ResourceLoaderFileModule.php @@ -153,10 +153,10 @@ class ResourceLoaderFileModule extends ResourceLoaderModule { * * @param array $options List of options; if not given or empty, an empty module will be * constructed - * @param string $localBasePath Base path to prepend to all local paths in $options. Defaults - * to $IP - * @param string $remoteBasePath Base path to prepend to all remote paths in $options. Defaults - * to $wgResourceBasePath + * @param string|null $localBasePath Base path to prepend to all local paths in $options. + * Defaults to $IP + * @param string|null $remoteBasePath Base path to prepend to all remote paths in $options. + * Defaults to $wgResourceBasePath * * Below is a description for the $options array: * @throws InvalidArgumentException @@ -298,9 +298,9 @@ class ResourceLoaderFileModule extends ResourceLoaderModule { * Implementation note: the amount of global state used in this function is staggering. * * @param array $options Module definition - * @param string $localBasePath Path to use if not provided in module definition. Defaults + * @param string|null $localBasePath Path to use if not provided in module definition. Defaults * to $IP - * @param string $remoteBasePath Path to use if not provided in module definition. Defaults + * @param string|null $remoteBasePath Path to use if not provided in module definition. Defaults * to $wgResourceBasePath * @return array Array( localBasePath, remoteBasePath ) */ @@ -653,7 +653,7 @@ class ResourceLoaderFileModule extends ResourceLoaderModule { * * @param array $list List of lists to select from * @param string $key Key to look for in $map - * @param string $fallback Key to look for in $list if $key doesn't exist + * @param string|null $fallback Key to look for in $list if $key doesn't exist * @return array List of elements from $map which matched $key or $fallback, * or an empty list in case of no match */ @@ -826,7 +826,7 @@ class ResourceLoaderFileModule extends ResourceLoaderModule { * @private * @param array $styles Map of media type to file paths to read, remap, and concatenate * @param bool $flip - * @param ResourceLoaderContext $context + * @param ResourceLoaderContext|null $context * @return array List of concatenated and remapped CSS data from $styles, * keyed by media type * @throws MWException diff --git a/includes/resourceloader/ResourceLoaderImageModule.php b/includes/resourceloader/ResourceLoaderImageModule.php index c7792400c4..576ee3f999 100644 --- a/includes/resourceloader/ResourceLoaderImageModule.php +++ b/includes/resourceloader/ResourceLoaderImageModule.php @@ -51,7 +51,7 @@ class ResourceLoaderImageModule extends ResourceLoaderModule { * * @param array $options List of options; if not given or empty, an empty module will be * constructed - * @param string $localBasePath Base path to prepend to all local paths in $options. Defaults + * @param string|null $localBasePath Base path to prepend to all local paths in $options. Defaults * to $IP * * Below is a description for the $options array: @@ -443,7 +443,7 @@ class ResourceLoaderImageModule extends ResourceLoaderModule { * Extract a local base path from module definition information. * * @param array $options Module definition - * @param string $localBasePath Path to use if not provided in module definition. Defaults + * @param string|null $localBasePath Path to use if not provided in module definition. Defaults * to $IP * @return string Local base path */ diff --git a/includes/resourceloader/ResourceLoaderLanguageDataModule.php b/includes/resourceloader/ResourceLoaderLanguageDataModule.php index e78484a2f5..f6716e7532 100644 --- a/includes/resourceloader/ResourceLoaderLanguageDataModule.php +++ b/includes/resourceloader/ResourceLoaderLanguageDataModule.php @@ -72,7 +72,7 @@ class ResourceLoaderLanguageDataModule extends ResourceLoaderModule { } /** - * @param ResourceLoaderContext $context + * @param ResourceLoaderContext|null $context * @return array */ public function getDependencies( ResourceLoaderContext $context = null ) { diff --git a/includes/resourceloader/ResourceLoaderLanguageNamesModule.php b/includes/resourceloader/ResourceLoaderLanguageNamesModule.php index 57260ba5fd..72ccf66a7b 100644 --- a/includes/resourceloader/ResourceLoaderLanguageNamesModule.php +++ b/includes/resourceloader/ResourceLoaderLanguageNamesModule.php @@ -60,7 +60,7 @@ class ResourceLoaderLanguageNamesModule extends ResourceLoaderModule { } /** - * @param ResourceLoaderContext $context + * @param ResourceLoaderContext|null $context * @return array */ public function getDependencies( ResourceLoaderContext $context = null ) { diff --git a/includes/resourceloader/ResourceLoaderModule.php b/includes/resourceloader/ResourceLoaderModule.php index 609abb8f2f..7018f16564 100644 --- a/includes/resourceloader/ResourceLoaderModule.php +++ b/includes/resourceloader/ResourceLoaderModule.php @@ -347,7 +347,7 @@ abstract class ResourceLoaderModule implements LoggerAwareInterface { * Note: It is expected that $context will be made non-optional in the near * future. * - * @param ResourceLoaderContext $context + * @param ResourceLoaderContext|null $context * @return array List of module names as strings */ public function getDependencies( ResourceLoaderContext $context = null ) { diff --git a/includes/resourceloader/ResourceLoaderSpecialCharacterDataModule.php b/includes/resourceloader/ResourceLoaderSpecialCharacterDataModule.php index a0061e3531..0ad7fe40c4 100644 --- a/includes/resourceloader/ResourceLoaderSpecialCharacterDataModule.php +++ b/includes/resourceloader/ResourceLoaderSpecialCharacterDataModule.php @@ -61,7 +61,7 @@ class ResourceLoaderSpecialCharacterDataModule extends ResourceLoaderModule { } /** - * @param ResourceLoaderContext $context + * @param ResourceLoaderContext|null $context * @return array */ public function getDependencies( ResourceLoaderContext $context = null ) { diff --git a/includes/resourceloader/ResourceLoaderUserOptionsModule.php b/includes/resourceloader/ResourceLoaderUserOptionsModule.php index ffa55c08ac..0d40ad71ea 100644 --- a/includes/resourceloader/ResourceLoaderUserOptionsModule.php +++ b/includes/resourceloader/ResourceLoaderUserOptionsModule.php @@ -32,7 +32,7 @@ class ResourceLoaderUserOptionsModule extends ResourceLoaderModule { protected $targets = [ 'desktop', 'mobile' ]; /** - * @param ResourceLoaderContext $context + * @param ResourceLoaderContext|null $context * @return array List of module names as strings */ public function getDependencies( ResourceLoaderContext $context = null ) { diff --git a/includes/resourceloader/ResourceLoaderWikiModule.php b/includes/resourceloader/ResourceLoaderWikiModule.php index ff5de0d971..b699b366d1 100644 --- a/includes/resourceloader/ResourceLoaderWikiModule.php +++ b/includes/resourceloader/ResourceLoaderWikiModule.php @@ -76,7 +76,8 @@ class ResourceLoaderWikiModule extends ResourceLoaderModule { protected $group; /** - * @param array $options For back-compat, this can be omitted in favour of overwriting getPages. + * @param array|null $options For back-compat, this can be omitted in favour of overwriting + * getPages. */ public function __construct( array $options = null ) { if ( is_null( $options ) ) { diff --git a/includes/search/SearchDatabase.php b/includes/search/SearchDatabase.php index 643c2c1364..f2929a3b67 100644 --- a/includes/search/SearchDatabase.php +++ b/includes/search/SearchDatabase.php @@ -35,7 +35,7 @@ class SearchDatabase extends SearchEngine { protected $db; /** - * @param IDatabase $db The database to search from + * @param IDatabase|null $db The database to search from */ public function __construct( IDatabase $db = null ) { if ( $db ) { diff --git a/includes/search/SearchEngine.php b/includes/search/SearchEngine.php index b2bacdafc7..63c46108b2 100644 --- a/includes/search/SearchEngine.php +++ b/includes/search/SearchEngine.php @@ -505,7 +505,7 @@ abstract class SearchEngine { * * @todo This isn't ideal, we'd really like to have content-specific handling here * @param Title $t Title we're indexing - * @param Content $c Content of the page to index + * @param Content|null $c Content of the page to index * @return string */ public function getTextFromContent( Title $t, Content $c = null ) { diff --git a/includes/search/SearchEngineFactory.php b/includes/search/SearchEngineFactory.php index 8cdca571ae..ecb6f43e64 100644 --- a/includes/search/SearchEngineFactory.php +++ b/includes/search/SearchEngineFactory.php @@ -19,7 +19,7 @@ class SearchEngineFactory { /** * Create SearchEngine of the given type. - * @param string $type + * @param string|null $type * @return SearchEngine */ public function create( $type = null ) { diff --git a/includes/search/SearchHighlighter.php b/includes/search/SearchHighlighter.php index 20462cf133..a97429e0c4 100644 --- a/includes/search/SearchHighlighter.php +++ b/includes/search/SearchHighlighter.php @@ -327,8 +327,8 @@ class SearchHighlighter { * @param string $text * @param int $start * @param int $end - * @param int &$posStart (out) actual start position - * @param int &$posEnd (out) actual end position + * @param int|null &$posStart (out) actual start position + * @param int|null &$posEnd (out) actual end position * @return string */ function extract( $text, $start, $end, &$posStart = null, &$posEnd = null ) { diff --git a/includes/search/SearchResult.php b/includes/search/SearchResult.php index 2f20d9d52d..bd19a84e32 100644 --- a/includes/search/SearchResult.php +++ b/includes/search/SearchResult.php @@ -66,7 +66,7 @@ class SearchResult { * Return a new SearchResult and initializes it with a title. * * @param Title $title - * @param SearchResultSet $parentSet + * @param SearchResultSet|null $parentSet * @return SearchResult */ public static function newFromTitle( $title, SearchResultSet $parentSet = null ) { diff --git a/includes/session/CookieSessionProvider.php b/includes/session/CookieSessionProvider.php index 74925bd7b6..aaa522a917 100644 --- a/includes/session/CookieSessionProvider.php +++ b/includes/session/CookieSessionProvider.php @@ -339,7 +339,7 @@ class CookieSessionProvider extends SessionProvider { * @param \WebRequest $request * @param string $key * @param string $prefix - * @param mixed $default + * @param mixed|null $default * @return mixed */ protected function getCookie( $request, $key, $prefix, $default = null ) { diff --git a/includes/session/Session.php b/includes/session/Session.php index e9a03f20f4..3dc8299be9 100644 --- a/includes/session/Session.php +++ b/includes/session/Session.php @@ -291,7 +291,7 @@ final class Session implements \Countable, \Iterator, \ArrayAccess { /** * Fetch a value from the session * @param string|int $key - * @param mixed $default Returned if $this->exists( $key ) would be false + * @param mixed|null $default Returned if $this->exists( $key ) would be false * @return mixed */ public function get( $key, $default = null ) { @@ -522,7 +522,7 @@ final class Session implements \Countable, \Iterator, \ArrayAccess { /** * Fetch a value from the session that was set with self::setSecret() * @param string|int $key - * @param mixed $default Returned if $this->exists( $key ) would be false or decryption fails + * @param mixed|null $default Returned if $this->exists( $key ) would be false or decryption fails * @return mixed */ public function getSecret( $key, $default = null ) { diff --git a/includes/session/SessionBackend.php b/includes/session/SessionBackend.php index a3760378f9..58163c6f3d 100644 --- a/includes/session/SessionBackend.php +++ b/includes/session/SessionBackend.php @@ -457,7 +457,7 @@ final class SessionBackend { /** * Set the "logged out" timestamp - * @param int $ts + * @param int|null $ts */ public function setLoggedOutTimestamp( $ts = null ) { $ts = (int)$ts; diff --git a/includes/site/SiteSQLStore.php b/includes/site/SiteSQLStore.php index e0b8d27b4d..91d9ef7c5d 100644 --- a/includes/site/SiteSQLStore.php +++ b/includes/site/SiteSQLStore.php @@ -39,7 +39,7 @@ class SiteSQLStore { * or MediaWikiServices::getSiteLookup() instead. * * @param null $sitesTable IGNORED - * @param null $cache IGNORED + * @param BagOStuff|null $cache IGNORED * * @return SiteStore */ diff --git a/includes/skins/BaseTemplate.php b/includes/skins/BaseTemplate.php index c1c856d33d..5c4d812889 100644 --- a/includes/skins/BaseTemplate.php +++ b/includes/skins/BaseTemplate.php @@ -575,7 +575,7 @@ abstract class BaseTemplate extends QuickTemplate { * If you pass "flat" as an option then the returned array will be a flat array * of footer icons instead of a key/value array of footerlinks arrays broken * up into categories. - * @param string $option + * @param string|null $option * @return array|mixed */ function getFooterLinks( $option = null ) { @@ -612,7 +612,7 @@ abstract class BaseTemplate extends QuickTemplate { * in the list of footer icons. This is mostly useful for skins which only * display the text from footericons instead of the images and don't want a * duplicate copyright statement because footerlinks already rendered one. - * @param string $option + * @param string|null $option * @return array */ function getFooterIcons( $option = null ) { diff --git a/includes/skins/QuickTemplate.php b/includes/skins/QuickTemplate.php index 296c133e0b..969ac510fc 100644 --- a/includes/skins/QuickTemplate.php +++ b/includes/skins/QuickTemplate.php @@ -35,7 +35,7 @@ abstract class QuickTemplate { protected $config; /** - * @param Config $config + * @param Config|null $config */ function __construct( Config $config = null ) { $this->data = []; @@ -73,7 +73,7 @@ abstract class QuickTemplate { * Gets the template data requested * @since 1.22 * @param string $name Key for the data - * @param mixed $default Optional default (or null) + * @param mixed|null $default Optional default (or null) * @return mixed The value of the data requested or the deafult */ public function get( $name, $default = null ) { diff --git a/includes/skins/Skin.php b/includes/skins/Skin.php index 51be3b6551..dde60f5cdc 100644 --- a/includes/skins/Skin.php +++ b/includes/skins/Skin.php @@ -391,13 +391,13 @@ abstract class Skin extends ContextSource { /** * Outputs the HTML generated by other functions. - * @param OutputPage $out + * @param OutputPage|null $out */ abstract function outputPage( OutputPage $out = null ); /** * @param array $data - * @param string $nonce OutputPage::getCSPNonce() + * @param string|null $nonce OutputPage::getCSPNonce() * @return string|WrappedString HTML */ static function makeVariablesScript( $data, $nonce = null ) { @@ -739,7 +739,7 @@ abstract class Skin extends ContextSource { } /** - * @param OutputPage $out Defaults to $this->getOutput() if left as null + * @param OutputPage|null $out Defaults to $this->getOutput() if left as null * @return string */ function subPageSubtitle( $out = null ) { @@ -1605,7 +1605,7 @@ abstract class Skin extends ContextSource { * the current page, if the section is included from a template) * @param string $section The designation of the section being pointed to, * to be included in the link, like "§ion=$section" - * @param string $tooltip The tooltip to use for the link: will be escaped + * @param string|null $tooltip The tooltip to use for the link: will be escaped * and wrapped in the 'editsectionhint' message * @param string $lang Language code * @return string HTML to use for edit link diff --git a/includes/skins/SkinTemplate.php b/includes/skins/SkinTemplate.php index 507688dfcc..7fc0c3a3bb 100644 --- a/includes/skins/SkinTemplate.php +++ b/includes/skins/SkinTemplate.php @@ -206,7 +206,7 @@ class SkinTemplate extends Skin { /** * initialize various variables and generate the template * - * @param OutputPage $out + * @param OutputPage|null $out */ function outputPage( OutputPage $out = null ) { Profiler::instance()->setTemplated( true ); @@ -508,7 +508,7 @@ class SkinTemplate extends Skin { * * @since 1.31 * - * @param array $personalTools + * @param array|null $personalTools * @param array $options * @return string */ diff --git a/includes/specialpage/AuthManagerSpecialPage.php b/includes/specialpage/AuthManagerSpecialPage.php index 557bd9cc5a..1476e85eb8 100644 --- a/includes/specialpage/AuthManagerSpecialPage.php +++ b/includes/specialpage/AuthManagerSpecialPage.php @@ -70,7 +70,7 @@ abstract class AuthManagerSpecialPage extends SpecialPage { * Used to preserve POST data over a HTTP redirect. * * @param array $data - * @param bool $wasPosted + * @param bool|null $wasPosted */ protected function setRequest( array $data, $wasPosted = null ) { $request = $this->getContext()->getRequest(); @@ -223,7 +223,7 @@ abstract class AuthManagerSpecialPage extends SpecialPage { * Load or initialize $authAction, $authRequests and $subPage. * Subclasses should call this from execute() or otherwise ensure the variables are initialized. * @param string $subPage Subpage of the special page. - * @param string $authAction Override auth action specified in request (this is useful + * @param string|null $authAction Override auth action specified in request (this is useful * when the form needs to be changed from to _CONTINUE after a successful * authentication step) * @param bool $reset Regenerate the requests even if a cached version is available @@ -730,7 +730,7 @@ abstract class AuthManagerSpecialPage extends SpecialPage { * Get an array value, or a default if it does not exist. * @param array $array * @param string $fieldName - * @param mixed $default + * @param mixed|null $default * @return mixed */ protected static function getField( array $array, $fieldName, $default = null ) { diff --git a/includes/specialpage/LoginSignupSpecialPage.php b/includes/specialpage/LoginSignupSpecialPage.php index 3082101dbb..d5c889aef0 100644 --- a/includes/specialpage/LoginSignupSpecialPage.php +++ b/includes/specialpage/LoginSignupSpecialPage.php @@ -1491,7 +1491,7 @@ class LoginForm extends SpecialPage { ]; /** - * @param WebRequest $request + * @param WebRequest|null $request */ public function __construct( $request = null ) { wfDeprecated( 'LoginForm', '1.27' ); diff --git a/includes/specialpage/SpecialPage.php b/includes/specialpage/SpecialPage.php index 5db8066228..7a39b3c6fe 100644 --- a/includes/specialpage/SpecialPage.php +++ b/includes/specialpage/SpecialPage.php @@ -182,7 +182,7 @@ class SpecialPage implements MessageLocalizer { /** * Get or set whether this special page is listed in Special:SpecialPages * @since 1.6 - * @param bool $x + * @param bool|null $x * @return bool */ function listed( $x = null ) { @@ -220,7 +220,7 @@ class SpecialPage implements MessageLocalizer { /** * Whether the special page is being evaluated via transclusion - * @param bool $x + * @param bool|null $x * @return bool */ function including( $x = null ) { @@ -388,7 +388,8 @@ class SpecialPage implements MessageLocalizer { * Note that this does not in any way check that the user is authorized to use this special page * (use checkPermissions() for that). * - * @param string $level A security level. Can be an arbitrary string, defaults to the page name. + * @param string|null $level A security level. Can be an arbitrary string, defaults to the page + * name. * @return bool False means a redirect to the reauthentication page has been set and processing * of the special page should be aborted. * @throws ErrorPageError If the security level cannot be met, even with reauthentication. diff --git a/includes/specialpage/SpecialPageFactory.php b/includes/specialpage/SpecialPageFactory.php index b3cb806942..b3b63b008e 100644 --- a/includes/specialpage/SpecialPageFactory.php +++ b/includes/specialpage/SpecialPageFactory.php @@ -415,7 +415,7 @@ class SpecialPageFactory { * Return categorised listable special pages which are available * for the current user, and everyone. * - * @param User $user User object to check permissions, $wgUser will be used + * @param User|null $user User object to check permissions, $wgUser will be used * if not provided * @return array ( string => Specialpage ) */ diff --git a/includes/specials/SpecialBlock.php b/includes/specials/SpecialBlock.php index bc632b1c0d..92c6f504dd 100644 --- a/includes/specials/SpecialBlock.php +++ b/includes/specials/SpecialBlock.php @@ -494,7 +494,7 @@ class SpecialBlock extends FormSpecialPage { * @todo Should be in Block.php? * @param string $par Subpage parameter passed to setup, or data value from * the HTMLForm - * @param WebRequest $request Optionally try and get data from a request too + * @param WebRequest|null $request Optionally try and get data from a request too * @return array [ User|string|null, Block::TYPE_ constant|null ] */ public static function getTargetAndType( $par, WebRequest $request = null ) { @@ -1005,7 +1005,7 @@ class SpecialBlock extends FormSpecialPage { /** * Process the form on POST submission. * @param array $data - * @param HTMLForm $form + * @param HTMLForm|null $form * @return bool|array True for success, false for didn't-try, array of errors on failure */ public function onSubmit( array $data, HTMLForm $form = null ) { diff --git a/includes/specials/SpecialEmailuser.php b/includes/specials/SpecialEmailuser.php index 4a939d494e..d7ce4141e7 100644 --- a/includes/specials/SpecialEmailuser.php +++ b/includes/specials/SpecialEmailuser.php @@ -267,7 +267,7 @@ class SpecialEmailUser extends UnlistedSpecialPage { * * @param User $user * @param string $editToken Edit token - * @param Config $config optional for backwards compatibility + * @param Config|null $config optional for backwards compatibility * @return string|null Null on success or string on error */ public static function getPermissionsError( $user, $editToken, Config $config = null ) { diff --git a/includes/specials/SpecialPrefixindex.php b/includes/specials/SpecialPrefixindex.php index 6848d2cbe3..2a8a09d266 100644 --- a/includes/specials/SpecialPrefixindex.php +++ b/includes/specials/SpecialPrefixindex.php @@ -140,7 +140,7 @@ class SpecialPrefixindex extends SpecialAllPages { /** * @param int $namespace * @param string $prefix - * @param string $from List all pages from this name (default false) + * @param string|null $from List all pages from this name (default false) */ protected function showPrefixChunk( $namespace, $prefix, $from = null ) { global $wgContLang; diff --git a/includes/specials/SpecialUndelete.php b/includes/specials/SpecialUndelete.php index 540dbc6bf5..3069bd8654 100644 --- a/includes/specials/SpecialUndelete.php +++ b/includes/specials/SpecialUndelete.php @@ -129,7 +129,7 @@ class SpecialUndelete extends SpecialPage { * specific title if one is set. * * @param string $permission - * @param User $user + * @param User|null $user * @return bool */ protected function isAllowed( $permission, User $user = null ) { diff --git a/includes/specials/SpecialUpload.php b/includes/specials/SpecialUpload.php index 2eeafe6900..e52945abac 100644 --- a/includes/specials/SpecialUpload.php +++ b/includes/specials/SpecialUpload.php @@ -33,7 +33,7 @@ use MediaWiki\MediaWikiServices; class SpecialUpload extends SpecialPage { /** * Get data POSTed through the form and assign them to the object - * @param WebRequest $request Data posted. + * @param WebRequest|null $request Data posted. */ public function __construct( $request = null ) { parent::__construct( 'Upload', 'upload' ); @@ -587,7 +587,7 @@ class SpecialUpload extends SpecialPage { * @param string $license * @param string $copyStatus * @param string $source - * @param Config $config Configuration object to load data from + * @param Config|null $config Configuration object to load data from * @return string */ public static function getInitialPageText( $comment = '', $license = '', diff --git a/includes/specials/pagers/ActiveUsersPager.php b/includes/specials/pagers/ActiveUsersPager.php index 26ed4997ee..87c849aab2 100644 --- a/includes/specials/pagers/ActiveUsersPager.php +++ b/includes/specials/pagers/ActiveUsersPager.php @@ -44,7 +44,7 @@ class ActiveUsersPager extends UsersPager { private $blockStatusByUid; /** - * @param IContextSource $context + * @param IContextSource|null $context * @param FormOptions $opts */ function __construct( IContextSource $context = null, FormOptions $opts ) { diff --git a/includes/specials/pagers/UsersPager.php b/includes/specials/pagers/UsersPager.php index 23f9f838dc..aa757e6904 100644 --- a/includes/specials/pagers/UsersPager.php +++ b/includes/specials/pagers/UsersPager.php @@ -38,9 +38,9 @@ class UsersPager extends AlphabeticPager { protected $userGroupCache; /** - * @param IContextSource $context - * @param array $par (Default null) - * @param bool $including Whether this page is being transcluded in + * @param IContextSource|null $context + * @param array|null $par (Default null) + * @param bool|null $including Whether this page is being transcluded in * another page */ function __construct( IContextSource $context = null, $par = null, $including = null ) { diff --git a/includes/tidy/RaggettBase.php b/includes/tidy/RaggettBase.php index 245982e43c..ccef56b34c 100644 --- a/includes/tidy/RaggettBase.php +++ b/includes/tidy/RaggettBase.php @@ -41,7 +41,7 @@ abstract class RaggettBase extends TidyDriverBase { * Perform a clean/repair operation * @param string $text HTML to check * @param bool $stderr Whether to read result from STDERR rather than STDOUT - * @param int &$retval Exit code (-1 on internal error) + * @param int|null &$retval Exit code (-1 on internal error) * @return null|string * @throws MWException */ diff --git a/includes/tidy/RaggettExternal.php b/includes/tidy/RaggettExternal.php index b59423ab3a..2809ea47d4 100644 --- a/includes/tidy/RaggettExternal.php +++ b/includes/tidy/RaggettExternal.php @@ -9,7 +9,7 @@ class RaggettExternal extends RaggettBase { * * @param string $text HTML to check * @param bool $stderr Whether to read result from STDERR rather than STDOUT - * @param int &$retval Exit code (-1 on internal error) + * @param int|null &$retval Exit code (-1 on internal error) * @return string|null */ protected function cleanWrapped( $text, $stderr = false, &$retval = null ) { diff --git a/includes/tidy/RaggettInternalHHVM.php b/includes/tidy/RaggettInternalHHVM.php index bb83d6a325..65d37f4f07 100644 --- a/includes/tidy/RaggettInternalHHVM.php +++ b/includes/tidy/RaggettInternalHHVM.php @@ -9,7 +9,7 @@ class RaggettInternalHHVM extends RaggettBase { * * @param string $text HTML to check * @param bool $stderr Whether to read result from error status instead of output - * @param int &$retval Exit code (-1 on internal error) + * @param int|null &$retval Exit code (-1 on internal error) * @return string|null */ protected function cleanWrapped( $text, $stderr = false, &$retval = null ) { diff --git a/includes/tidy/RaggettInternalPHP.php b/includes/tidy/RaggettInternalPHP.php index e5642d9ed1..e7724b0164 100644 --- a/includes/tidy/RaggettInternalPHP.php +++ b/includes/tidy/RaggettInternalPHP.php @@ -9,7 +9,7 @@ class RaggettInternalPHP extends RaggettBase { * * @param string $text HTML to check * @param bool $stderr Whether to read result from error status instead of output - * @param int &$retval Exit code (-1 on internal error) + * @param int|null &$retval Exit code (-1 on internal error) * @return string|null */ protected function cleanWrapped( $text, $stderr = false, &$retval = null ) { diff --git a/includes/title/MalformedTitleException.php b/includes/title/MalformedTitleException.php index 213343f968..47660e3722 100644 --- a/includes/title/MalformedTitleException.php +++ b/includes/title/MalformedTitleException.php @@ -29,7 +29,7 @@ class MalformedTitleException extends Exception implements ILocalizedException { /** * @param string $errorMessage Localisation message describing the error (since MW 1.26) - * @param string $titleText The invalid title text (since MW 1.26) + * @param string|null $titleText The invalid title text (since MW 1.26) * @param string[] $errorMessageParameters Additional parameters for the error message. * $titleText will be appended if it's not null. (since MW 1.26) */ diff --git a/includes/upload/UploadBase.php b/includes/upload/UploadBase.php index 87b96acc79..dcebb60a8d 100644 --- a/includes/upload/UploadBase.php +++ b/includes/upload/UploadBase.php @@ -247,7 +247,7 @@ abstract class UploadBase { /** * @param string $tempPath File system path to temporary file containing the upload - * @param int $fileSize + * @param int|null $fileSize */ protected function setTempFile( $tempPath, $fileSize = null ) { $this->mTempPath = $tempPath; @@ -1103,7 +1103,7 @@ abstract class UploadBase { * file again. * * @deprecated since 1.28 Use tryStashFile() instead - * @param User $user + * @param User|null $user * @return UploadStashFile Stashed file * @throws UploadStashBadPathException * @throws UploadStashFileException @@ -1116,7 +1116,7 @@ abstract class UploadBase { /** * Implementation for stashFile() and tryStashFile(). * - * @param User $user + * @param User|null $user * @return UploadStashFile Stashed file */ protected function doStashFile( User $user = null ) { @@ -1529,7 +1529,7 @@ abstract class UploadBase { * @todo Replace this with a whitelist filter! * @param string $element * @param array $attribs - * @param array $data + * @param array|null $data * @return bool */ public function checkSvgScriptCallback( $element, $attribs, $data = null ) { diff --git a/includes/upload/UploadStash.php b/includes/upload/UploadStash.php index e55ab1fbb7..4e40dce27f 100644 --- a/includes/upload/UploadStash.php +++ b/includes/upload/UploadStash.php @@ -81,7 +81,7 @@ class UploadStash { * (should replace it eventually). * * @param FileRepo $repo - * @param User $user (default null) + * @param User|null $user */ public function __construct( FileRepo $repo, $user = null ) { // this might change based on wiki's configuration. @@ -202,7 +202,7 @@ class UploadStash { * database, along with other metadata. * * @param string $path Path to file you want stashed - * @param string $sourceType The type of upload that generated this file + * @param string|null $sourceType The type of upload that generated this file * (currently, I believe, 'file' or null) * @throws UploadStashBadPathException * @throws UploadStashFileException @@ -777,7 +777,8 @@ class UploadStashException extends MWException implements ILocalizedException { /** * @param string|array|MessageSpecifier $messageSpec See Message::newFromSpecifier * @param int $code Exception code - * @param Exception|Throwable $previous The previous exception used for the exception chaining. + * @param Exception|Throwable|null $previous The previous exception used for the exception + * chaining. */ public function __construct( $messageSpec, $code = 0, $previous = null ) { $this->messageSpec = $messageSpec; diff --git a/includes/user/PasswordReset.php b/includes/user/PasswordReset.php index faf09eefef..e7825e4239 100644 --- a/includes/user/PasswordReset.php +++ b/includes/user/PasswordReset.php @@ -122,8 +122,8 @@ class PasswordReset implements LoggerAwareInterface { * * @since 1.29 Fourth argument for displayPassword removed. * @param User $performingUser The user that does the password reset - * @param string $username The user whose password is reset - * @param string $email Alternative way to specify the user + * @param string|null $username The user whose password is reset + * @param string|null $email Alternative way to specify the user * @return StatusValue Will contain the passwords as a username => password array if the * $displayPassword flag was set * @throws LogicException When the user is not allowed to perform the action diff --git a/includes/user/User.php b/includes/user/User.php index 4e6e83a1f4..ea8cd57524 100644 --- a/includes/user/User.php +++ b/includes/user/User.php @@ -759,7 +759,8 @@ class User implements IDBAccessObject, UserIdentity { * will be loaded once more from the database when accessing them. * * @param stdClass $row A row from the user table - * @param array $data Further data to load into the object (see User::loadFromRow for valid keys) + * @param array|null $data Further data to load into the object + * (see User::loadFromRow for valid keys) * @return User */ public static function newFromRow( $row, $data = null ) { @@ -1062,7 +1063,7 @@ class User implements IDBAccessObject, UserIdentity { * @param string|array $groups A single group name or an array of group names * @param int $limit Max number of users to return. The actual limit will never exceed 5000 * records; larger values are ignored. - * @param int $after ID the user to start after + * @param int|null $after ID the user to start after * @return UserArrayFromResult */ public static function findUsersByGroup( $groups, $limit = 5000, $after = null ) { @@ -1465,7 +1466,7 @@ class User implements IDBAccessObject, UserIdentity { * Initialize this object from a row from the user table. * * @param stdClass $row Row from the user table to load. - * @param array $data Further user data to load into the object + * @param array|null $data Further user data to load into the object * * user_groups Array of arrays or stdClass result rows out of the user_groups * table. Previously you were supposed to pass an array of strings @@ -2692,7 +2693,7 @@ class User implements IDBAccessObject, UserIdentity { /** * Update the 'You have new messages!' status. * @param bool $val Whether the user has new messages - * @param Revision $curRev New, as yet unseen revision of the user talk + * @param Revision|null $curRev New, as yet unseen revision of the user talk * page. Ignored if null or !$val. */ public function setNewtalk( $val, $curRev = null ) { @@ -3133,7 +3134,7 @@ class User implements IDBAccessObject, UserIdentity { * Get the user's current setting for a given option. * * @param string $oname The option to check - * @param string|array $defaultOverride A default value returned if the option does not exist + * @param string|array|null $defaultOverride A default value returned if the option does not exist * @param bool $ignoreHidden Whether to ignore the effects of $wgHiddenPrefs * @return string|array|int|null User's current value for the option * @see getBoolOption() @@ -3328,7 +3329,7 @@ class User implements IDBAccessObject, UserIdentity { * * @see User::listOptionKinds * @param IContextSource $context - * @param array $options Assoc. array with options keys to check as keys. + * @param array|null $options Assoc. array with options keys to check as keys. * Defaults to $this->mOptions. * @return array The key => kind mapping data */ @@ -3690,7 +3691,7 @@ class User implements IDBAccessObject, UserIdentity { * never expire.) * * @param string $group Name of the group to add - * @param string $expiry Optional expiry timestamp in any format acceptable to + * @param string|null $expiry Optional expiry timestamp in any format acceptable to * wfTimestamp(), or null if the group assignment should not expire * @return bool */ @@ -4068,7 +4069,7 @@ class User implements IDBAccessObject, UserIdentity { * * @param WebRequest|null $request WebRequest object to use; $wgRequest will be used if null * is passed. - * @param bool $secure Whether to force secure/insecure cookies or use default + * @param bool|null $secure Whether to force secure/insecure cookies or use default * @param bool $rememberMe Whether to add a Token cookie for elongated sessions */ public function setCookies( $request = null, $secure = null, $rememberMe = false ) { @@ -4617,7 +4618,7 @@ class User implements IDBAccessObject, UserIdentity { * @param string $val Input value to compare * @param string|array $salt Optional function-specific data for hashing * @param WebRequest|null $request Object to use or null to use $wgRequest - * @param int $maxage Fail tokens older than this, in seconds + * @param int|null $maxage Fail tokens older than this, in seconds * @return bool Whether the token matches */ public function matchEditToken( $val, $salt = '', $request = null, $maxage = null ) { @@ -4631,7 +4632,7 @@ class User implements IDBAccessObject, UserIdentity { * @param string $val Input value to compare * @param string|array $salt Optional function-specific data for hashing * @param WebRequest|null $request Object to use or null to use $wgRequest - * @param int $maxage Fail tokens older than this, in seconds + * @param int|null $maxage Fail tokens older than this, in seconds * @return bool Whether the token matches */ public function matchEditTokenNoSuffix( $val, $salt = '', $request = null, $maxage = null ) { @@ -4682,7 +4683,7 @@ class User implements IDBAccessObject, UserIdentity { * @param string $body Message body * @param User|null $from Optional sending user; if unspecified, default * $wgPasswordSender will be used. - * @param string $replyto Reply-To address + * @param string|null $replyto Reply-To address * @return Status */ public function sendMail( $subject, $body, $from = null, $replyto = null ) { @@ -5446,7 +5447,7 @@ class User implements IDBAccessObject, UserIdentity { /** * Load the user options either from cache, the database or an array * - * @param array $data Rows for the current user out of the user_properties table + * @param array|null $data Rows for the current user out of the user_properties table */ protected function loadOptions( $data = null ) { global $wgContLang; diff --git a/includes/user/UserGroupMembership.php b/includes/user/UserGroupMembership.php index 89cdc5f194..cf985cb9eb 100644 --- a/includes/user/UserGroupMembership.php +++ b/includes/user/UserGroupMembership.php @@ -46,7 +46,7 @@ class UserGroupMembership { /** * @param int $userId The ID of the user who belongs to the group - * @param string $group The internal group name + * @param string|null $group The internal group name * @param string|null $expiry Timestamp of expiry in TS_MW format, or null if no expiry */ public function __construct( $userId = 0, $group = null, $expiry = null ) { diff --git a/includes/utils/MWRestrictions.php b/includes/utils/MWRestrictions.php index caf88a15f1..d4f1a92acb 100644 --- a/includes/utils/MWRestrictions.php +++ b/includes/utils/MWRestrictions.php @@ -26,7 +26,7 @@ class MWRestrictions { private $ipAddresses = [ '0.0.0.0/0', '::/0' ]; /** - * @param array $restrictions + * @param array|null $restrictions * @throws InvalidArgumentException */ protected function __construct( array $restrictions = null ) { diff --git a/includes/utils/ZipDirectoryReader.php b/includes/utils/ZipDirectoryReader.php index 20bad13515..46f3bbcce7 100644 --- a/includes/utils/ZipDirectoryReader.php +++ b/includes/utils/ZipDirectoryReader.php @@ -511,7 +511,7 @@ class ZipDirectoryReader { * in the file to satisfy the request, an exception will be thrown. * * @param int $start The byte offset of the start of the block. - * @param int $length The number of bytes to return. If omitted, the remainder + * @param int|null $length The number of bytes to return. If omitted, the remainder * of the file will be returned. * * @return string diff --git a/includes/watcheditem/WatchedItemStoreInterface.php b/includes/watcheditem/WatchedItemStoreInterface.php index 30d1cbbe3b..99a051de9f 100644 --- a/includes/watcheditem/WatchedItemStoreInterface.php +++ b/includes/watcheditem/WatchedItemStoreInterface.php @@ -264,7 +264,7 @@ interface WatchedItemStoreInterface { * @since 1.31 * * @param User $user - * @param int $unreadLimit + * @param int|null $unreadLimit * * @return int|bool The number of unread notifications * true if greater than or equal to $unreadLimit diff --git a/languages/ConverterRule.php b/languages/ConverterRule.php index 8dfe00f88c..dc61519c69 100644 --- a/languages/ConverterRule.php +++ b/languages/ConverterRule.php @@ -330,7 +330,7 @@ class ConverterRule { /** * Parse rules and flags. - * @param string $variant Variant language code + * @param string|null $variant Variant language code */ public function parse( $variant = null ) { if ( !$variant ) { diff --git a/languages/Language.php b/languages/Language.php index 28469efec1..32539574c9 100644 --- a/languages/Language.php +++ b/languages/Language.php @@ -1090,7 +1090,7 @@ class Language { * @param string $ts 14-character timestamp * YYYYMMDDHHMMSS * 01234567890123 - * @param DateTimeZone $zone Timezone of $ts + * @param DateTimeZone|null $zone Timezone of $ts * @param int &$ttl The amount of time (in seconds) the output may be cached for. * Only makes sense if $ts is the current time. * @todo handling of "o" format character for Iranian, Hebrew, Hijri & Thai? @@ -4076,7 +4076,7 @@ class Language { * match up with it. * * @param string $str The validated block duration in English - * @param User $user User object to use timezone from or null for $wgUser + * @param User|null $user User object to use timezone from or null for $wgUser * @param int $now Current timestamp, for formatting relative block durations * @return string Somehow translated block duration * @see LanguageFi.php for example implementation diff --git a/languages/LanguageConverter.php b/languages/LanguageConverter.php index ce35717dc9..dcc2cf335f 100644 --- a/languages/LanguageConverter.php +++ b/languages/LanguageConverter.php @@ -211,7 +211,7 @@ class LanguageConverter { /** * Validate the variant - * @param string $variant The variant to validate + * @param string|null $variant The variant to validate * @return mixed Returns the variant if it is valid, null otherwise */ public function validateVariant( $variant = null ) { diff --git a/languages/classes/LanguageFi.php b/languages/classes/LanguageFi.php index 54ff421634..b2bae18464 100644 --- a/languages/classes/LanguageFi.php +++ b/languages/classes/LanguageFi.php @@ -84,7 +84,7 @@ class LanguageFi extends Language { /** * @param string $str - * @param User $user User object to use timezone from or null for $wgUser + * @param User|null $user User object to use timezone from or null for $wgUser * @param int $now Current timestamp, for formatting relative block durations * @return string */ diff --git a/maintenance/Maintenance.php b/maintenance/Maintenance.php index 866f9593c8..c4a7594405 100644 --- a/maintenance/Maintenance.php +++ b/maintenance/Maintenance.php @@ -253,7 +253,7 @@ abstract class Maintenance { * this will return an array. * * @param string $name The name of the param - * @param mixed $default Anything you want, default null + * @param mixed|null $default Anything you want, default null * @return mixed */ protected function getOption( $name, $default = null ) { @@ -309,7 +309,7 @@ abstract class Maintenance { /** * Get an argument. * @param int $argId The integer value (from zero) for the arg - * @param mixed $default The default if it doesn't exist + * @param mixed|null $default The default if it doesn't exist * @return mixed */ protected function getArg( $argId = 0, $default = null ) { @@ -359,7 +359,7 @@ abstract class Maintenance { /** * Return input from stdin. - * @param int $len The number of bytes to read. If null, just return the handle. + * @param int|null $len The number of bytes to read. If null, just return the handle. * Maintenance::STDIN_ALL returns the full length * @return mixed */ @@ -388,7 +388,7 @@ abstract class Maintenance { * Throw some output to the user. Scripts can call this with no fears, * as we handle all --quiet stuff here * @param string $out The text to show to the user - * @param mixed $channel Unique identifier for the channel. See function outputChanneled. + * @param mixed|null $channel Unique identifier for the channel. See function outputChanneled. */ protected function output( $out, $channel = null ) { // This is sometimes called very early, before Setup.php is included. @@ -464,7 +464,7 @@ abstract class Maintenance { * same channel are concatenated, but any intervening messages in another * channel start a new line. * @param string $msg The message without trailing newline - * @param string $channel Channel identifier or null for no + * @param string|null $channel Channel identifier or null for no * channel. Channel comparison uses ===. */ public function outputChanneled( $msg, $channel = null ) { @@ -661,7 +661,7 @@ abstract class Maintenance { * Run a child maintenance script. Pass all of the current arguments * to it. * @param string $maintClass A name of a child maintenance class - * @param string $classFile Full path of where the child is + * @param string|null $classFile Full path of where the child is * @return Maintenance */ public function runChild( $maintClass, $classFile = null ) { @@ -922,9 +922,9 @@ abstract class Maintenance { * $mOptions becomes an array with keys set to the option names * $mArgs becomes a zero-based array containing the non-option arguments * - * @param string $self The name of the script, if any - * @param array $opts An array of options, in form of key=>value - * @param array $args An array of command line arguments + * @param string|null $self The name of the script, if any + * @param array|null $opts An array of options, in form of key=>value + * @param array|null $args An array of command line arguments */ public function loadParamsAndArgs( $self = null, $opts = null, $args = null ) { # If we were given opts or args, set those and return early diff --git a/maintenance/backup.inc b/maintenance/backup.inc index 21d9bb1639..6eeb81bc71 100644 --- a/maintenance/backup.inc +++ b/maintenance/backup.inc @@ -76,7 +76,7 @@ class BackupDumper extends Maintenance { private $stubText = false; // include rev_text_id instead of text; for 2-pass dump /** - * @param array $args For backward compatibility + * @param array|null $args For backward compatibility */ function __construct( $args = null ) { parent::__construct(); diff --git a/maintenance/dumpTextPass.php b/maintenance/dumpTextPass.php index 59a6b5178c..95dd4dab39 100644 --- a/maintenance/dumpTextPass.php +++ b/maintenance/dumpTextPass.php @@ -100,7 +100,7 @@ class TextPassDumper extends BackupDumper { protected $db; /** - * @param array $args For backward compatibility + * @param array|null $args For backward compatibility */ function __construct( $args = null ) { parent::__construct(); diff --git a/tests/parser/ParserTestRunner.php b/tests/parser/ParserTestRunner.php index 60a58811d3..4ae5f78f9b 100644 --- a/tests/parser/ParserTestRunner.php +++ b/tests/parser/ParserTestRunner.php @@ -773,7 +773,7 @@ class ParserTestRunner { /** * Get a Parser object * - * @param string $preprocessor + * @param string|null $preprocessor * @return Parser */ function getParser( $preprocessor = null ) { diff --git a/tests/phan/config.php b/tests/phan/config.php index 61d86bd658..bcb3379351 100644 --- a/tests/phan/config.php +++ b/tests/phan/config.php @@ -327,10 +327,6 @@ return [ "PhanTypeMismatchArgument", // approximate error count: 13 "PhanTypeMismatchArgumentInternal", - // approximate error count: 6 - "PhanTypeMismatchDeclaredParam", - // approximate error count: 111 - "PhanTypeMismatchDeclaredParamNullable", // approximate error count: 5 "PhanTypeMismatchDimAssignment", // approximate error count: 2 diff --git a/tests/phpunit/MediaWikiTestCase.php b/tests/phpunit/MediaWikiTestCase.php index e8ab412d18..82739a70d2 100644 --- a/tests/phpunit/MediaWikiTestCase.php +++ b/tests/phpunit/MediaWikiTestCase.php @@ -715,7 +715,7 @@ abstract class MediaWikiTestCase extends PHPUnit\Framework\TestCase { * * @param array|string $pairs Key to the global variable, or an array * of key/value pairs. - * @param mixed $value Value to set the global to (ignored + * @param mixed|null $value Value to set the global to (ignored * if an array is given as first argument). * * @note To allow changes to global variables to take effect on global service instances, @@ -883,7 +883,8 @@ abstract class MediaWikiTestCase extends PHPUnit\Framework\TestCase { * * @since 1.27 * - * @param Config $configOverrides Configuration overrides for the new MediaWikiServices instance. + * @param Config|null $configOverrides Configuration overrides for the new MediaWikiServices + * instance. * @param callable[] $services An associative array of services to re-define. Keys are service * names, values are callables. * @@ -963,7 +964,7 @@ abstract class MediaWikiTestCase extends PHPUnit\Framework\TestCase { * in which case the next two parameters are ignored; or a single string * identifying a group, to use with the next two parameters. * @param string|null $newKey - * @param mixed $newValue + * @param mixed|null $newValue */ public function setGroupPermissions( $newPerms, $newKey = null, $newValue = null ) { global $wgGroupPermissions; @@ -1083,8 +1084,8 @@ abstract class MediaWikiTestCase extends PHPUnit\Framework\TestCase { * @since 1.25 ($namespace in 1.28) * @param string|Title $pageName Page name or title * @param string $text Page's content - * @param int $namespace Namespace id (name cannot already contain namespace) - * @param User $user If null, static::getTestSysop()->getUser() is used. + * @param int|null $namespace Namespace id (name cannot already contain namespace) + * @param User|null $user If null, static::getTestSysop()->getUser() is used. * @return array Title object and page id */ protected function insertPage( @@ -1287,7 +1288,7 @@ abstract class MediaWikiTestCase extends PHPUnit\Framework\TestCase { * Otherwise, it will clone the tables and change the prefix. * * @param IMaintainableDatabase $db Database to use - * @param string $prefix Prefix to use for test tables. If not given, the prefix is determined + * @param string|null $prefix Prefix to use for test tables. If not given, the prefix is determined * automatically for $db. * @return bool True if tables were cloned, false if only the prefix was changed */ diff --git a/tests/phpunit/includes/TestLogger.php b/tests/phpunit/includes/TestLogger.php index 17a41823cc..e50e1bcfd0 100644 --- a/tests/phpunit/includes/TestLogger.php +++ b/tests/phpunit/includes/TestLogger.php @@ -38,7 +38,7 @@ class TestLogger extends \Psr\Log\AbstractLogger { /** * @param bool $collect Whether to collect logs. @see setCollect() - * @param callable $filter Filter logs before collecting/printing. Signature is + * @param callable|null $filter Filter logs before collecting/printing. Signature is * string|null function ( string $message, string $level, array $context ); * @param bool $collectContext Whether to keep the context passed to log * (since 1.29, @see setCollectContext()). diff --git a/tests/phpunit/includes/api/RandomImageGenerator.php b/tests/phpunit/includes/api/RandomImageGenerator.php index 7fd5f1dd38..75e73befc7 100644 --- a/tests/phpunit/includes/api/RandomImageGenerator.php +++ b/tests/phpunit/includes/api/RandomImageGenerator.php @@ -105,7 +105,7 @@ class RandomImageGenerator { * * @param int $number Number of filenames to write * @param string $format Optional, must be understood by ImageMagick, such as 'jpg' or 'gif' - * @param string $dir Directory, optional (will default to current working directory) + * @param string|null $dir Directory, optional (will default to current working directory) * @return array Filenames we just wrote */ function writeImages( $number, $format = 'jpg', $dir = null ) { diff --git a/tests/phpunit/includes/api/query/ApiQueryTestBase.php b/tests/phpunit/includes/api/query/ApiQueryTestBase.php index e7588cb5dc..08af755d8b 100644 --- a/tests/phpunit/includes/api/query/ApiQueryTestBase.php +++ b/tests/phpunit/includes/api/query/ApiQueryTestBase.php @@ -87,9 +87,9 @@ STR; * Checks that the request's result matches the expected results. * Assumes no rawcontinue and a complete batch. * @param array $values Array is a two element array( request, expected_results ) - * @param array $session + * @param array|null $session * @param bool $appendModule - * @param User $user + * @param User|null $user */ protected function check( $values, array $session = null, $appendModule = false, User $user = null diff --git a/tests/phpunit/includes/media/MediaWikiMediaTestCase.php b/tests/phpunit/includes/media/MediaWikiMediaTestCase.php index a4e8056ac3..7a536df944 100644 --- a/tests/phpunit/includes/media/MediaWikiMediaTestCase.php +++ b/tests/phpunit/includes/media/MediaWikiMediaTestCase.php @@ -70,7 +70,7 @@ abstract class MediaWikiMediaTestCase extends MediaWikiTestCase { * * File must be in the path returned by getFilePath() * @param string $name File name - * @param string $type MIME type [optional] + * @param string|null $type MIME type [optional] * @return UnregisteredLocalFile */ protected function dataFile( $name, $type = null ) { diff --git a/tests/phpunit/includes/page/WikiPageDbTestBase.php b/tests/phpunit/includes/page/WikiPageDbTestBase.php index e0364c4c91..fa15a12c4a 100644 --- a/tests/phpunit/includes/page/WikiPageDbTestBase.php +++ b/tests/phpunit/includes/page/WikiPageDbTestBase.php @@ -104,7 +104,7 @@ abstract class WikiPageDbTestBase extends MediaWikiLangTestCase { /** * @param string|Title|WikiPage $page * @param string $text - * @param int $model + * @param int|null $model * * @return WikiPage */ diff --git a/tests/phpunit/includes/session/TestUtils.php b/tests/phpunit/includes/session/TestUtils.php index 5db1ad0e6a..ef8fb4ea7e 100644 --- a/tests/phpunit/includes/session/TestUtils.php +++ b/tests/phpunit/includes/session/TestUtils.php @@ -78,9 +78,9 @@ class TestUtils { /** * If you need a Session for testing but don't want to create a backend to * construct one, use this. - * @param object $backend Object to serve as the SessionBackend + * @param object|null $backend Object to serve as the SessionBackend * @param int $index - * @param LoggerInterface $logger + * @param LoggerInterface|null $logger * @return Session */ public static function getDummySession( $backend = null, $index = -1, $logger = null ) { diff --git a/tests/phpunit/mocks/content/DummyContentForTesting.php b/tests/phpunit/mocks/content/DummyContentForTesting.php index e8259d3a04..6bc7c4487c 100644 --- a/tests/phpunit/mocks/content/DummyContentForTesting.php +++ b/tests/phpunit/mocks/content/DummyContentForTesting.php @@ -94,7 +94,7 @@ class DummyContentForTesting extends AbstractContent { /** * @param Title $title - * @param int $revId Unused. + * @param int|null $revId Unused. * @param null|ParserOptions $options * @param bool $generateHtml Whether to generate Html (default: true). If false, the result * of calling getText() on the ParserOutput object returned by this method is undefined. diff --git a/tests/phpunit/mocks/content/DummyContentHandlerForTesting.php b/tests/phpunit/mocks/content/DummyContentHandlerForTesting.php index b71577c7aa..f203907b90 100644 --- a/tests/phpunit/mocks/content/DummyContentHandlerForTesting.php +++ b/tests/phpunit/mocks/content/DummyContentHandlerForTesting.php @@ -10,7 +10,7 @@ class DummyContentHandlerForTesting extends ContentHandler { * @see ContentHandler::serializeContent * * @param Content $content - * @param string $format + * @param string|null $format * * @return string */ @@ -22,7 +22,7 @@ class DummyContentHandlerForTesting extends ContentHandler { * @see ContentHandler::unserializeContent * * @param string $blob - * @param string $format Unused. + * @param string|null $format Unused. * * @return Content */ diff --git a/tests/phpunit/mocks/content/DummyNonTextContent.php b/tests/phpunit/mocks/content/DummyNonTextContent.php index 91bb1866d6..e65f522640 100644 --- a/tests/phpunit/mocks/content/DummyNonTextContent.php +++ b/tests/phpunit/mocks/content/DummyNonTextContent.php @@ -92,7 +92,7 @@ class DummyNonTextContent extends AbstractContent { /** * @param Title $title - * @param int $revId Unused. + * @param int|null $revId Unused. * @param null|ParserOptions $options * @param bool $generateHtml Whether to generate Html (default: true). If false, the result * of calling getText() on the ParserOutput object returned by this method is undefined. diff --git a/tests/phpunit/mocks/content/DummyNonTextContentHandler.php b/tests/phpunit/mocks/content/DummyNonTextContentHandler.php index 9d91d4a1a2..3294953643 100644 --- a/tests/phpunit/mocks/content/DummyNonTextContentHandler.php +++ b/tests/phpunit/mocks/content/DummyNonTextContentHandler.php @@ -10,7 +10,7 @@ class DummyNonTextContentHandler extends DummyContentHandlerForTesting { * @see ContentHandler::serializeContent * * @param Content $content - * @param string $format + * @param string|null $format * * @return string */ @@ -22,7 +22,7 @@ class DummyNonTextContentHandler extends DummyContentHandlerForTesting { * @see ContentHandler::unserializeContent * * @param string $blob - * @param string $format Unused. + * @param string|null $format Unused. * * @return Content */ diff --git a/tests/phpunit/mocks/content/DummySerializeErrorContentHandler.php b/tests/phpunit/mocks/content/DummySerializeErrorContentHandler.php index 720547a57e..4a462c08a4 100644 --- a/tests/phpunit/mocks/content/DummySerializeErrorContentHandler.php +++ b/tests/phpunit/mocks/content/DummySerializeErrorContentHandler.php @@ -29,7 +29,7 @@ class DummySerializeErrorContentHandler extends DummyContentHandlerForTesting { * @see ContentHandler::unserializeContent * * @param string $blob - * @param string $format + * @param string|null $format * * @return Content */ diff --git a/thumb.php b/thumb.php index b59116eaed..cc74c897ae 100644 --- a/thumb.php +++ b/thumb.php @@ -626,7 +626,7 @@ function wfThumbErrorText( $status, $msgText ) { * * @param int $status * @param string $msgHtml HTML - * @param string $msgText Short error description, for internal logging. Defaults to $msgHtml. + * @param string|null $msgText Short error description, for internal logging. Defaults to $msgHtml. * Only used for HTTP 500 errors. * @param array $context Error context, for internal logging. Only used for HTTP 500 errors. * @return void -- 2.20.1