This run took 35 seconds.
From 6d4cb29dd3491dc1353c55af990e2fa6f4cba0f9 Mon Sep 17 00:00:00 2001 From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org> Date: Sun, 10 Nov 2024 05:14:32 +0000 Subject: [PATCH] build: Updating mediawiki/mediawiki-codesniffer to 45.0.0 The following sniffs are failing and were disabled: * MediaWiki.Usage.NullableType.ExplicitNullableTypes Change-Id: I45b1d1ba0ba64d72d0ec607f4de5e19d902aca00 --- .phpcs.xml | 1 + composer.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.phpcs.xml b/.phpcs.xml index 174e799..04e8319 100644 --- a/.phpcs.xml +++ b/.phpcs.xml @@ -5,6 +5,7 @@ <exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic" /> <exclude name="MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam" /> <exclude name="MediaWiki.Commenting.FunctionComment.ObjectTypeHintReturn" /> + <exclude name="MediaWiki.Usage.NullableType.ExplicitNullableTypes" /> <exclude name="MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment" /> </rule> <rule ref="Generic.Files.LineLength"> diff --git a/composer.json b/composer.json index 7e12f13..807dfcf 100644 --- a/composer.json +++ b/composer.json @@ -7,7 +7,7 @@ "psr/container": "1.* || 2.*" }, "require-dev": { - "mediawiki/mediawiki-codesniffer": "44.0.0", + "mediawiki/mediawiki-codesniffer": "45.0.0", "mediawiki/mediawiki-phan-config": "0.14.0", "mediawiki/minus-x": "1.1.3", "php-parallel-lint/php-console-highlighter": "1.0.0", -- 2.39.2
$ date --- stdout --- Sun Nov 10 05:14:06 UTC 2024 --- end --- $ git clone file:///srv/git/mediawiki-extensions-Flow.git repo --depth=1 -b REL1_43 --- stderr --- Cloning into 'repo'... --- stdout --- --- end --- $ git config user.name libraryupgrader --- stdout --- --- end --- $ git config user.email tools.libraryupgrader@tools.wmflabs.org --- stdout --- --- end --- $ git submodule update --init --- stdout --- --- end --- $ grr init --- stdout --- Installed commit-msg hook. --- end --- $ git show-ref refs/heads/REL1_43 --- stdout --- 554e2b21f006a30cc4784ad770444b22411b7755 refs/heads/REL1_43 --- end --- $ /usr/bin/npm audit --json --- stdout --- { "auditReportVersion": 2, "vulnerabilities": {}, "metadata": { "vulnerabilities": { "info": 0, "low": 0, "moderate": 0, "high": 0, "critical": 0, "total": 0 }, "dependencies": { "prod": 1, "dev": 471, "optional": 0, "peer": 1, "peerOptional": 0, "total": 471 } } } --- end --- $ /usr/bin/composer install --- stderr --- No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information. Loading composer repositories with package information Updating dependencies Lock file operations: 41 installs, 0 updates, 0 removals - Locking composer/pcre (3.3.1) - Locking composer/semver (3.4.2) - Locking composer/spdx-licenses (1.5.8) - Locking composer/xdebug-handler (3.0.5) - Locking dealerdirect/phpcodesniffer-composer-installer (v1.0.0) - Locking doctrine/deprecations (1.1.3) - Locking felixfbecker/advanced-json-rpc (v3.2.1) - Locking mediawiki/mediawiki-codesniffer (v44.0.0) - Locking mediawiki/mediawiki-phan-config (0.14.0) - Locking mediawiki/minus-x (1.1.3) - Locking mediawiki/phan-taint-check-plugin (6.0.0) - Locking microsoft/tolerant-php-parser (v0.1.2) - Locking netresearch/jsonmapper (v4.5.0) - Locking phan/phan (5.4.3) - Locking php-parallel-lint/php-console-color (v1.0.1) - Locking php-parallel-lint/php-console-highlighter (v1.0.0) - Locking php-parallel-lint/php-parallel-lint (v1.4.0) - Locking phpcsstandards/phpcsextra (1.2.1) - Locking phpcsstandards/phpcsutils (1.0.11) - Locking phpdocumentor/reflection-common (2.2.0) - Locking phpdocumentor/reflection-docblock (5.5.1) - Locking phpdocumentor/type-resolver (1.10.0) - Locking phpstan/phpdoc-parser (1.33.0) - Locking pimple/pimple (v3.5.0) - Locking psr/container (2.0.2) - Locking psr/log (3.0.2) - Locking sabre/event (5.1.7) - Locking squizlabs/php_codesniffer (3.9.0) - Locking symfony/console (v7.1.7) - Locking symfony/css-selector (v2.8.52) - Locking symfony/deprecation-contracts (v3.5.0) - Locking symfony/dom-crawler (v2.8.52) - Locking symfony/polyfill-ctype (v1.31.0) - Locking symfony/polyfill-intl-grapheme (v1.31.0) - Locking symfony/polyfill-intl-normalizer (v1.31.0) - Locking symfony/polyfill-mbstring (v1.31.0) - Locking symfony/polyfill-php80 (v1.31.0) - Locking symfony/service-contracts (v3.5.0) - Locking symfony/string (v7.1.6) - Locking tysonandre/var_representation_polyfill (0.1.3) - Locking webmozart/assert (1.11.0) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 41 installs, 0 updates, 0 removals 0 [>---------------------------] 0 [->--------------------------] - Installing squizlabs/php_codesniffer (3.9.0): Extracting archive - Installing dealerdirect/phpcodesniffer-composer-installer (v1.0.0): Extracting archive - Installing composer/pcre (3.3.1): Extracting archive - Installing symfony/polyfill-php80 (v1.31.0): Extracting archive - Installing phpcsstandards/phpcsutils (1.0.11): Extracting archive - Installing phpcsstandards/phpcsextra (1.2.1): Extracting archive - Installing symfony/polyfill-mbstring (v1.31.0): Extracting archive - Installing composer/spdx-licenses (1.5.8): Extracting archive - Installing composer/semver (3.4.2): Extracting archive - Installing mediawiki/mediawiki-codesniffer (v44.0.0): Extracting archive - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive - Installing symfony/polyfill-intl-normalizer (v1.31.0): Extracting archive - Installing symfony/polyfill-intl-grapheme (v1.31.0): Extracting archive - Installing symfony/polyfill-ctype (v1.31.0): Extracting archive - Installing symfony/string (v7.1.6): Extracting archive - Installing symfony/deprecation-contracts (v3.5.0): Extracting archive - Installing psr/container (2.0.2): Extracting archive - Installing symfony/service-contracts (v3.5.0): Extracting archive - Installing symfony/console (v7.1.7): Extracting archive - Installing sabre/event (5.1.7): Extracting archive - Installing netresearch/jsonmapper (v4.5.0): Extracting archive - Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive - Installing webmozart/assert (1.11.0): Extracting archive - Installing phpstan/phpdoc-parser (1.33.0): Extracting archive - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive - Installing doctrine/deprecations (1.1.3): Extracting archive - Installing phpdocumentor/type-resolver (1.10.0): Extracting archive - Installing phpdocumentor/reflection-docblock (5.5.1): Extracting archive - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive - Installing psr/log (3.0.2): Extracting archive - Installing composer/xdebug-handler (3.0.5): Extracting archive - Installing phan/phan (5.4.3): Extracting archive - Installing mediawiki/phan-taint-check-plugin (6.0.0): Extracting archive - Installing mediawiki/mediawiki-phan-config (0.14.0): Extracting archive - Installing mediawiki/minus-x (1.1.3): Extracting archive - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive - Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive - Installing pimple/pimple (v3.5.0): Extracting archive - Installing symfony/css-selector (v2.8.52): Extracting archive - Installing symfony/dom-crawler (v2.8.52): Extracting archive 0/39 [>---------------------------] 0% 20/39 [==============>-------------] 51% 34/39 [========================>---] 87% 39/39 [============================] 100% Generating autoload files 16 packages you are using are looking for funding. Use the `composer fund` command to find out more! --- stdout --- PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils --- end --- Upgrading c:mediawiki/mediawiki-codesniffer from 44.0.0 -> 45.0.0 $ /usr/bin/composer update --- stderr --- Loading composer repositories with package information Updating dependencies Lock file operations: 0 installs, 4 updates, 0 removals - Upgrading composer/semver (3.4.2 => 3.4.3) - Upgrading mediawiki/mediawiki-codesniffer (v44.0.0 => v45.0.0) - Upgrading phpcsstandards/phpcsutils (1.0.11 => 1.0.12) - Upgrading squizlabs/php_codesniffer (3.9.0 => 3.10.3) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 0 installs, 4 updates, 0 removals 0 [>---------------------------] 0 [->--------------------------] - Upgrading squizlabs/php_codesniffer (3.9.0 => 3.10.3): Extracting archive - Upgrading phpcsstandards/phpcsutils (1.0.11 => 1.0.12): Extracting archive - Upgrading composer/semver (3.4.2 => 3.4.3): Extracting archive - Upgrading mediawiki/mediawiki-codesniffer (v44.0.0 => v45.0.0): Extracting archive 0/4 [>---------------------------] 0% 3/4 [=====================>------] 75% 4/4 [============================] 100% Generating autoload files 16 packages you are using are looking for funding. Use the `composer fund` command to find out more! No security vulnerability advisories found --- stdout --- PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils --- end --- Previously failing phpcs rules: {'MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected', 'MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam', 'MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic', 'MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment', 'MediaWiki.Commenting.FunctionComment.ObjectTypeHintReturn'} $ vendor/bin/phpcs --report=json --- stdout --- {"totals":{"errors":454,"warnings":143,"fixable":62},"files":{"\/src\/repo\/includes\/Import\/IImportTopic.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/IRevisionableObject.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Hooks\/AbuseFilterHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ApiNotFoundException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/SourceStore\/NullImportSourceStore.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":13,"column":12}]},"\/src\/repo\/includes\/Import\/IImportSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/ImportException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/Plain\/ObjectRevision.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":30,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":34,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":38,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":12}]},"\/src\/repo\/includes\/Parsoid\/Extractor\/WikiLinkExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/HeaderViewQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/DataModelException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Parsoid\/Extractor\/TransclusionExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/Plain\/ImportHeader.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12}]},"\/src\/repo\/includes\/Import\/Postprocessor\/SpecialLogTopic.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/RemoteApiBackend.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":32,"column":12}]},"\/src\/repo\/maintenance\/compileLightncandy.php":{"errors":1,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":34,"column":56},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":57,"column":15}]},"\/src\/repo\/includes\/Parsoid\/Extractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/RevisionFormatterFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":48,"column":12}]},"\/src\/repo\/includes\/Exception\/InvalidActionException.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":20,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12}]},"\/src\/repo\/includes\/SchemaHooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/Fixer\/BadImageRemover.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/Fixer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/CachedData.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":27,"column":12}]},"\/src\/repo\/includes\/Exception\/CatchableFatalErrorException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/NoParserException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/MovedImportTopic.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":13,"column":12}]},"\/src\/repo\/includes\/Exception\/FlowException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/NoIndexException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Exception\/PermissionException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ImportHeader.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":85,"column":12}]},"\/src\/repo\/includes\/Import\/Importer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/IImportHeader.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowFixLinks.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":36,"column":15}]},"\/src\/repo\/maintenance\/convertNamespaceFromWikitext.php":{"errors":0,"warnings":4,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":35,"column":20},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":36,"column":19},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":42,"column":20},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":43,"column":19}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/CachedApiData.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Repository\/TreeCacheKey.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Collection\/HeaderCollection.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":6,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":10,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":12}]},"\/src\/repo\/includes\/Formatter\/BoardHistoryQuery.php":{"errors":4,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $offset = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":18,"column":69},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":59,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":69,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":81,"column":15}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/CachedThreadData.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":68,"column":15}]},"\/src\/repo\/includes\/Api\/ApiFlowViewPostHistory.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":19,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":12}]},"\/src\/repo\/includes\/ReferenceClarifier.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":27,"column":12}]},"\/src\/repo\/includes\/Diff\/FlowBoardContentDiffView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/SourceStore\/FileImportSourceStore.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":38,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":12}]},"\/src\/repo\/includes\/Exception\/InvalidTopicUuidException.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":26,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":30,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":34,"column":12}]},"\/src\/repo\/includes\/Exception\/InvalidInputException.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":18,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":26,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":40,"column":12}]},"\/src\/repo\/includes\/Exception\/CrossWikiException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowUndoEditHeader.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":20,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/includes\/Formatter\/CategoryViewerQuery.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":79,"column":12}]},"\/src\/repo\/includes\/Api\/ApiFlowViewTopicHistory.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":19,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":12}]},"\/src\/repo\/includes\/Exception\/DataPersistenceException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/PageRevisionedObject.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":44,"column":12}]},"\/src\/repo\/includes\/Exception\/FailCommitException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Import\/Postprocessor\/LqtRedirector.php":{"errors":1,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":42,"column":42},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":52,"column":45},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $toPost = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":71,"column":69}]},"\/src\/repo\/includes\/Formatter\/PostSummaryQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowModeratePost.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":13,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":17,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/includes\/Parsoid\/ReferenceFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowReserializeRevisionContent.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":58,"column":15}]},"\/src\/repo\/includes\/Hooks\/HookRunner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/ContentFixer.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":24,"column":54}]},"\/src\/repo\/includes\/Exception\/InvalidParameterException.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":16,"column":15}]},"\/src\/repo\/includes\/Data\/Listener\/AbstractListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/HeaderRevisionStorage.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Hooks\/FlowCheckHtmlContentXssHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/CachedPageData.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/maintenance\/FlowMoveBoardsToSubpages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/RevisionViewFormatter.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":34,"column":12},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $revisionId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":34,"column":48}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/RevisionIterator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":32,"column":15}]},"\/src\/repo\/includes\/Api\/ApiFlowEditHeader.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12}]},"\/src\/repo\/includes\/Api\/ApiFlowNewTopic.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12}]},"\/src\/repo\/includes\/Data\/Utils\/SortRevisionsByRevisionId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Container.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Actions\/ViewAction.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?OutputPage $output = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":25,"column":45},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":36,"column":15}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ImportTopic.php":{"errors":7,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":30,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":36,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":73,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":77,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":85,"column":12}]},"\/src\/repo\/includes\/Api\/ApiFlowBasePost.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/CheckUserFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":8,"column":15}]},"\/src\/repo\/includes\/Parsoid\/Extractor\/ImageExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/OOUI\/BoardDescriptionWidget.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/WorkflowLoaderFactory.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":122,"column":39}]},"\/src\/repo\/includes\/Import\/Postprocessor\/ProcessorGroup.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":40,"column":15}]},"\/src\/repo\/includes\/RecoverableErrorHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/FormatterRow.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/Notifications.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowPopulateRefId.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":34,"column":15}]},"\/src\/repo\/includes\/Data\/Listener\/WorkflowTopicListListener.php":{"errors":1,"warnings":1,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":55,"column":8},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":69,"column":12}]},"\/src\/repo\/includes\/FlowActions.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":35,"column":53},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":69,"column":53}]},"\/src\/repo\/includes\/Api\/ApiFlowViewHeader.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":20,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/includes\/Data\/Listener\/UserNameListener.php":{"errors":0,"warnings":1,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":46,"column":8}]},"\/src\/repo\/includes\/Block\/AbstractBlock.php":{"errors":3,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":110,"column":16},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":210,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":214,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":218,"column":12}]},"\/src\/repo\/includes\/Parsoid\/Extractor\/ExtLinkExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Index\/PostRevisionBoardHistoryIndex.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/RevisionViewQuery.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $prevId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":68,"column":53},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":115,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":149,"column":12}]},"\/src\/repo\/includes\/Data\/Index\/UniqueFeatureIndex.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":11,"column":12}]},"\/src\/repo\/includes\/BoardMover.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/CategoryViewerFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":12}]},"\/src\/repo\/includes\/Import\/Postprocessor\/Postprocessor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/PageImportState.php":{"errors":2,"warnings":4,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":82,"column":12},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":115,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":115,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintReturn","severity":5,"fixable":false,"type":"WARNING","line":135,"column":16},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintReturn","severity":5,"fixable":false,"type":"WARNING","line":160,"column":16},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":243,"column":12}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ScriptedImportRevision.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":46,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":50,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":54,"column":12}]},"\/src\/repo\/includes\/Formatter\/ContributionsFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":14,"column":15}]},"\/src\/repo\/includes\/Api\/ApiFlowEditPost.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":13,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":17,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/maintenance\/dumpBackup.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/includes\/Parsoid\/Extractor\/CategoryExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/LocalApiBackend.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?User $user = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":20,"column":34},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":29,"column":12}]},"\/src\/repo\/includes\/Import\/IObjectRevision.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowBaseGet.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/ReferenceExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/PostRevisionStorage.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":37,"column":15}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/MovedImportPost.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":6,"column":12}]},"\/src\/repo\/includes\/Exception\/UnknownWorkflowIdException.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":10,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":15,"column":12}]},"\/src\/repo\/maintenance\/MaintenanceDebugLogger.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/TemplateHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/IImportPost.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Mock\/MockImportHeader.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowModerateTopic.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":13,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":17,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/includes\/Import\/IImportSource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/WikitextException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Exception\/WrongNumberArgumentsException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowSetUserIp.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":110,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":140,"column":12}]},"\/src\/repo\/includes\/SpamFilter\/SpamFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Listener\/AbstractTopicInsertListener.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/includes\/Formatter\/ChangesListFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":16,"column":15}]},"\/src\/repo\/includes\/Repository\/RootPostLoader.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":115,"column":44}]},"\/src\/repo\/includes\/Model\/URLReference.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":79,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":83,"column":12}]},"\/src\/repo\/includes\/Formatter\/HistoryQuery.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $offset = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":59,"column":56}]},"\/src\/repo\/includes\/Import\/SourceStore\/FlowRevisionsDb.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":40,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":44,"column":12}]},"\/src\/repo\/includes\/Parsoid\/Extractor\/PlaceholderExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/PostRevisionTopicHistoryStorage.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":34,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":84,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":103,"column":12}]},"\/src\/repo\/includes\/Api\/ApiQueryPropFlowInfo.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":10,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":43,"column":12}]},"\/src\/repo\/includes\/Parsoid\/Fixer\/BaseHrefFixer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/SpamFilter\/ContentLengthFilter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":17,"column":12}]},"\/src\/repo\/includes\/Exception\/InvalidDataException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/MovedImportRevision.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Mock\/MockImportPost.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/TopicListStorage.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":10,"column":15}]},"\/src\/repo\/includes\/Data\/Utils\/UserMerger.php":{"errors":0,"warnings":2,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":133,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":141,"column":8}]},"\/src\/repo\/includes\/Api\/ApiFlowBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/InvalidReferenceException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Actions\/FlowAction.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?OutputPage $output = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":59,"column":45}]},"\/src\/repo\/includes\/Log\/ModerationLogger.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/Wikitext\/ConversionStrategy.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Title $movedFrom = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":128,"column":57}]},"\/src\/repo\/includes\/Api\/ApiFlowViewPost.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12}]},"\/src\/repo\/maintenance\/FlowFixUserIp.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":80,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":124,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/Model\/UserTupleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/SourceStore\/SourceStoreInterface.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/SourceStore\/Exception.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Templating.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":138,"column":12}]},"\/src\/repo\/includes\/Parsoid\/Fixer\/EmptyNodeFixer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/PostHistoryQuery.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $offset = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":17,"column":60}]},"\/src\/repo\/tests\/phpunit\/unit\/FlowActionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ImportSummary.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/includes\/Collection\/AbstractCollection.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":265,"column":12}]},"\/src\/repo\/includes\/Model\/Anchor.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":120,"column":58},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":121,"column":47}]},"\/src\/repo\/tests\/phpunit\/FlowTestCase.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?DbFactory $dbFactory = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":34,"column":34}]},"\/src\/repo\/includes\/Notifications\/NewTopicPresentationModel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Mock\/MockImportTopic.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/HistoricalUIDGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowUndoEditTopicSummary.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":12,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":16,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":12}]},"\/src\/repo\/includes\/Data\/Listener\/DeferredInsertLifecycleHandler.php":{"errors":0,"warnings":4,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":29,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":41,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":51,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":60,"column":8}]},"\/src\/repo\/includes\/SpamFilter\/RateLimits.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowEditTitleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Actions\/EditAction.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/convertLqtPageOnLocalWiki.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiParsoidUtilsFlow.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":37,"column":12}]},"\/src\/repo\/maintenance\/FlowUpdateRevisionTypeId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/IRCLineUrlFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":30,"column":15}]},"\/src\/repo\/tests\/phpunit\/WatchedTopicItemsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Mock\/MockImportSummary.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":22,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":26,"column":12}]},"\/src\/repo\/includes\/Import\/Postprocessor\/LqtNotifications.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Repository\/MultiGetList.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Data\/CachingObjectMapperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Repository\/TitleRepository.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":12}]},"\/src\/repo\/includes\/Data\/Utils\/SortArrayByKeys.php":{"errors":2,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":18,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":27,"column":19},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":35,"column":18}]},"\/src\/repo\/includes\/Data\/Storage\/BoardHistoryStorage.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":21},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":16,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":12}]},"\/src\/repo\/includes\/Utils\/NamespaceIterator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Iterators\/AbstractIterator.php":{"errors":2,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $revId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":91,"column":30},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $revId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":105,"column":28},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":133,"column":26}]},"\/src\/repo\/tests\/phpunit\/Data\/ObjectLocatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowReply.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":20,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/includes\/Data\/Utils\/RecentChangeFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Repository\/TreeRepositoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowViewTopic.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12}]},"\/src\/repo\/includes\/SpamFilter\/SpamRegex.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ImportPost.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":77,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":104,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":165,"column":12}]},"\/src\/repo\/includes\/Model\/TopicListEntry.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Index\/BoardHistoryIndex.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":51,"column":12}]},"\/src\/repo\/includes\/Formatter\/PostViewQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Parsoid\/Fixer\/WikiLinkFixerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Block\/TopicListBlockTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Reference.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":153,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":157,"column":12}]},"\/src\/repo\/tests\/phpunit\/Mock\/MockImportRevision.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Model\/PostRevisionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Pager\/Pager.php":{"errors":0,"warnings":1,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":233,"column":8}]},"\/src\/repo\/includes\/Collection\/CollectionCache.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":65,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":71,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":77,"column":12}]},"\/src\/repo\/includes\/Data\/Storage\/PostRevisionBoardHistoryStorage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/TopicRow.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiTestCase.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $session = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":33,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Authority $performer = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":35,"column":9}]},"\/src\/repo\/includes\/Notifications\/SummaryEditedPresentationModel.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":61,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":83,"column":15}]},"\/src\/repo\/tests\/phpunit\/SpamFilter\/SpamRegexTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/.phan\/config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Repository\/UserName\/OneStepUserNameQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/Fixer\/WikiLinkFixer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowViewTopicSummary.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":20,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/maintenance\/FlowUpdateBetaFeaturePreference.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Pager\/PagerPage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Collection\/PostCollectionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Mock\/ExternalStoreFlowMock.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":17,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/includes\/Repository\/UserName\/UserNameQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/DbStorage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/HistoricalUIDGenerator.php":{"errors":1,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":20,"column":39},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":22,"column":19}]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/ArchiveNameHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Iterators\/TopicIterator.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $revId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":50,"column":30},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $revId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":74,"column":28}]},"\/src\/repo\/tests\/phpunit\/Data\/UserNameListenerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/Wikitext\/ImportSource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/AbstractQuery.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?FormatterRow $row = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":205,"column":78}]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowModeratePostTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/SpamFilter\/ConfirmEdit.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/convertAllLqtPages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Collection\/PostSummaryCollection.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":18,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":29,"column":12}]},"\/src\/repo\/tests\/phpunit\/integration\/TalkpageManagerTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":42,"column":95},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":46,"column":96}]},"\/src\/repo\/tests\/phpunit\/Mock\/MockImportSource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/TalkpageImportOperation.php":{"errors":1,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":251,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":373,"column":53}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ImportRevision.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":53,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":57,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":65,"column":12}]},"\/src\/repo\/includes\/Data\/ObjectMapper.php":{"errors":0,"warnings":4,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":13,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":23,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintReturn","severity":5,"fixable":false,"type":"WARNING","line":24,"column":16},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintReturn","severity":5,"fixable":false,"type":"WARNING","line":33,"column":16}]},"\/src\/repo\/includes\/Utils\/PagesWithPropertyIterator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowViewTopicList.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":22,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":26,"column":12}]},"\/src\/repo\/includes\/Content\/BoardContentHandler.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":30,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":38,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":12}]},"\/src\/repo\/includes\/Data\/Utils\/Merger.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Iterators\/HeaderIterator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowUpdateRevisionContentLength.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":66,"column":12},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?AbstractRevision $previous = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":158,"column":68},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":171,"column":15}]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowEditPostTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/FlowAddModulesHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Repository\/TreeRepositoryDbTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowRemoveOldTopics.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":82,"column":15}]},"\/src\/repo\/includes\/Log\/ActionFormatter.php":{"errors":0,"warnings":3,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":135,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":136,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":142,"column":68}]},"\/src\/repo\/includes\/Parsoid\/Fixer\/ExtLinkFixer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/FlowTermsOfUseMessagesHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Listener\/ReferenceRecorder.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":66,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":70,"column":12},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?PostRevision $root = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":110,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":164,"column":22},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?PostRevision $root = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":216,"column":9}]},"\/src\/repo\/includes\/Formatter\/SinglePostQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Collection\/PostCollection.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":16,"column":19}]},"\/src\/repo\/includes\/Notifications\/FlowEnabledOnTalkpagePresentationModel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowEditTopicSummary.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":13,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":17,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/includes\/Data\/Listener\/RecentChangesListener.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":98,"column":28}]},"\/src\/repo\/includes\/Model\/UserTuple.php":{"errors":3,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":66,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":74,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":91,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":108,"column":50}]},"\/src\/repo\/includes\/Hooks\/APIFlowAfterExecuteHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/TemplatingTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/UserLocator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/IConversionStrategy.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Title $movedFrom = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":44,"column":57}]},"\/src\/repo\/includes\/SpamFilter\/Controller.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":23,"column":57}]},"\/src\/repo\/includes\/Log\/LogQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/FlowObjectCache.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/TalkpageManager.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":176,"column":50},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":178,"column":16}]},"\/src\/repo\/includes\/Data\/Listener\/TopicPageCreationListener.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":29,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":33,"column":12}]},"\/src\/repo\/tests\/phpunit\/Repository\/UserName\/OneStepUserNameQueryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/Flow.namespaces.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/ArchiveNameHelper.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?TitleRepository $titleRepo = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":29,"column":72},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?TitleRepository $titleRepo = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":43,"column":76},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?TitleRepository $titleRepo = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":54,"column":78}]},"\/src\/repo\/includes\/Content\/BoardContent.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":13,"column":12},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $workflowId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":13,"column":76}]},"\/src\/repo\/tests\/phpunit\/Parsoid\/ReferenceExtractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/IImportObject.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/convertLqtPageFromRemoteApiForTesting.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowUpdateResolvedNotifTitles.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":12}]},"\/src\/repo\/includes\/Data\/ObjectLocator.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":64,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":68,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":177,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":181,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":313,"column":15}]},"\/src\/repo\/includes\/Formatter\/ChangesListQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Listener\/EditCountListener.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":20,"column":12}]},"\/src\/repo\/includes\/Data\/Index.php":{"errors":0,"warnings":1,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":81,"column":8}]},"\/src\/repo\/includes\/Log\/LqtImportFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":10,"column":12}]},"\/src\/repo\/includes\/Notifications\/MentionPresentationModel.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":67,"column":15}]},"\/src\/repo\/includes\/Formatter\/ContributionsQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowLockTopic.php":{"errors":5,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":10,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":14,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":29,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":35,"column":39}]},"\/src\/repo\/includes\/Data\/Utils\/ResultDuplicator.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":97,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":101,"column":12}]},"\/src\/repo\/includes\/SpamFilter\/SpamBlacklist.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/BaseTopicListFormatter.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":41,"column":23}]},"\/src\/repo\/tests\/phpunit\/integration\/HookTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/LiquidThreadsApi\/ConversionStrategyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/View.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":52,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":125,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":162,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":182,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":291,"column":15}]},"\/src\/repo\/includes\/Repository\/UserNameBatch.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/TopicListFormatter.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":27,"column":12},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $revisionId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":27,"column":55},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":31,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":41,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":130,"column":15}]},"\/src\/repo\/includes\/Notifications\/PostEditedPresentationModel.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":92,"column":15}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ImportSource.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":178,"column":35}]},"\/src\/repo\/includes\/Import\/TopicImportState.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":48,"column":12}]},"\/src\/repo\/includes\/OccupationController.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Listener\/ImmediateWatchTopicListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Dump\/Importer.php":{"errors":0,"warnings":1,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":96,"column":8}]},"\/src\/repo\/includes\/Formatter\/CheckUserQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/RecentChangesRow.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Compactor\/FeatureCompactor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/PostSummaryRevisionBoardHistoryStorage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowModerateTopicTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Parsoid\/ReferenceFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/EnableFlow\/EnableFlowWikitextConversionStrategy.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Collection\/LocalCacheAbstractCollection.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Listener\/ModerationLoggingListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowViewTopicListTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Data\/Listener\/RecentChangesListenerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/BasicDbStorage.php":{"errors":3,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":88,"column":26},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":157,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":167,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":219,"column":12}]},"\/src\/repo\/includes\/Formatter\/TopicHistoryQuery.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $offset = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":18,"column":65},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":66,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":78,"column":15}]},"\/src\/repo\/includes\/Data\/Mapper\/CachingObjectMapper.php":{"errors":2,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":64,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":83,"column":12},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintReturn","severity":5,"fixable":false,"type":"WARNING","line":108,"column":16}]},"\/src\/repo\/tests\/phpunit\/integration\/Parsoid\/Fixer\/BaseHrefFixerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Compactor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/RevisionUndoViewFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":61,"column":15}]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/Wikitext\/ConversionStrategyTest.php":{"errors":2,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":150,"column":20},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":169,"column":23},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Parser $parser = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":194,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SourceStoreInterface $sourceStore = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":195,"column":9}]},"\/src\/repo\/includes\/Formatter\/ContributionsRow.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiWatchTopicTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/PostReplyPresentationModel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/UrlGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowPopulateLinksTables.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":32,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":45,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":86,"column":15}]},"\/src\/repo\/tests\/phpunit\/Collection\/RevisionCollectionPermissionsTest.php":{"errors":1,"warnings":2,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?AbstractRevision $parent = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":274,"column":48},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":286,"column":67},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":298,"column":67}]},"\/src\/repo\/includes\/Notifications\/HeaderEditedPresentationModel.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":39,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":71,"column":15}]},"\/src\/repo\/includes\/Data\/Pager\/HistoryPager.php":{"errors":2,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":35,"column":34},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":118,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":122,"column":12}]},"\/src\/repo\/includes\/Data\/Mapper\/BasicObjectMapper.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":26,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":31,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":35,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":39,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":43,"column":12}]},"\/src\/repo\/includes\/Notifications\/MentionStatusPresentationModel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Compactor\/ShallowCompactor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ApiBackend.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowExternalStoreMoveCluster.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/LifecycleHandler.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":10,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":16,"column":12}]},"\/src\/repo\/includes\/Formatter\/FeedItemFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":10,"column":15}]},"\/src\/repo\/maintenance\/FlowUpdateRevContentModelFromOccupyPages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Parsoid\/Fixer\/BadImageRemoverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Listener\/NotificationListener.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":22,"column":12}]},"\/src\/repo\/maintenance\/convertToText.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":251,"column":46}]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowReplyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/TopicFormatter.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":26,"column":12},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $revisionId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":26,"column":55},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":30,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":80,"column":15}]},"\/src\/repo\/tests\/phpunit\/unit\/HooksTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowLockTopicTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/DeletedContributionsRow.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowRestoreLQT.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/Wikitext\/ImportSourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/PermissionsTest.php":{"errors":0,"warnings":9,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":147,"column":63},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":155,"column":67},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":156,"column":69},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":184,"column":65},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":185,"column":67},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":209,"column":61},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":210,"column":63},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":234,"column":64},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":235,"column":66}]},"\/src\/repo\/includes\/Data\/Utils\/MultiDimArray.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":49,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":61,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":75,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":95,"column":12}]},"\/src\/repo\/tests\/phpunit\/Data\/Storage\/RevisionStorageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Parsoid\/Fixer\/EmptyNodeFixerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Import\/TemplateHelperTest.php":{"errors":0,"warnings":5,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":16,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":21,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":26,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":31,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":36,"column":15}]},"\/src\/repo\/includes\/Api\/ApiFlow.php":{"errors":4,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":32,"column":66},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":65,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":129,"column":45},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":139,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":153,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":161,"column":12}]},"\/src\/repo\/includes\/Formatter\/TopicListQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/UUID.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $other = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":368,"column":29}]},"\/src\/repo\/includes\/Data\/Index\/PostRevisionTopicHistoryIndex.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":18,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":100,"column":15}]},"\/src\/repo\/maintenance\/FlowUpdateUserWiki.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/TopicIterator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/PostRevisionTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowEditTitle.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12}]},"\/src\/repo\/includes\/Data\/Index\/FeatureIndex.php":{"errors":0,"warnings":1,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":156,"column":8}]},"\/src\/repo\/tests\/phpunit\/unit\/TemplateHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowCreateTemplates.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":80,"column":15}]},"\/src\/repo\/tests\/phpunit\/unit\/HookRunnerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/FlowPresentationModel.php":{"errors":9,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":98,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":104,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":116,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":120,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":127,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":131,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":136,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":147,"column":15}]},"\/src\/repo\/tests\/phpunit\/Data\/UserNameBatchTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowUndoEditPost.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":12,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":16,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":20,"column":12}]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowEditHeaderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Workflow.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":137,"column":41}]},"\/src\/repo\/maintenance\/FlowAddMissingModerationLogs.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":39,"column":15}]},"\/src\/repo\/maintenance\/FlowFixWorkflowLastUpdateTimestamp.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/OptInController.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/RevisionStorage.php":{"errors":9,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":154,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":161,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":171,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":179,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":222,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":235,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":334,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":355,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":443,"column":15}]},"\/src\/repo\/includes\/Data\/Storage\/PostSummaryRevisionStorage.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/tests\/phpunit\/BlockFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowFixInconsistentBoards.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Data\/NothingTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/bootstrap.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/TopicRenamedPresentationModel.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":65,"column":15}]},"\/src\/repo\/tests\/phpunit\/unit\/Data\/ManagerGroupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowEditTopicSummaryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/benchUuidTimestampConversion.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":86,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":92,"column":12}]},"\/src\/repo\/tests\/phpunit\/Conversion\/ConversionUtilsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/TalkpageImportOperationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/WikiReference.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":119,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":123,"column":12}]},"\/src\/repo\/includes\/Data\/ObjectManager.php":{"errors":0,"warnings":10,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":115,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":126,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":141,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":152,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":180,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":200,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":213,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":243,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":274,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":286,"column":8}]},"\/src\/repo\/includes\/Model\/AbstractSummary.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":17,"column":19}]},"\/src\/repo\/maintenance\/FlowFixLog.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":40,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":107,"column":12}]},"\/src\/repo\/includes\/UrlGenerator.php":{"errors":11,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Title $title = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":44,"column":38},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $workflowId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":44,"column":59},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Title $title = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":69,"column":35},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $workflowId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":69,"column":56},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $oldRevId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":367,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $oldRevId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":397,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $oldRevId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":428,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $oldRevId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":459,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Title $title = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":866,"column":37},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $workflowId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":866,"column":58},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":877,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":879,"column":31}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ConversionStrategy.php":{"errors":7,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":75,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":79,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":83,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":87,"column":12},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Title $movedFrom = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":87,"column":57},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":95,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":138,"column":12}]},"\/src\/repo\/includes\/Repository\/TreeRepository.php":{"errors":5,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $ancestor = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":78,"column":47},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":203,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":374,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":383,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":409,"column":12}]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowViewHeaderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/ObjectStorage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowUpdateRecentChanges.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/FlowActions.php":{"errors":0,"warnings":18,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":349,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":702,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":703,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":714,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":715,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":716,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":764,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":842,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":863,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":864,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":880,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":881,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":882,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":895,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":896,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":908,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":909,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":910,"column":26}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ReplyIterator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/DbFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Index\/TopKIndex.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":22,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":57,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":75,"column":12}]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/PageImportStateTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Index\/PostSummaryRevisionBoardHistoryIndex.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":8,"column":15}]},"\/src\/repo\/includes\/Notifications\/Controller.php":{"errors":2,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":55,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":497,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":660,"column":40}]},"\/src\/repo\/tests\/phpunit\/Model\/UUIDTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Data\/Pager\/PagerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowFixEditCount.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":46,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":75,"column":12}]},"\/src\/repo\/includes\/Dump\/Exporter.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $pages = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":163,"column":42}]},"\/src\/repo\/includes\/Notifications\/TopicResolvedPresentationModel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/Converter.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Title $movedFrom = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":176,"column":52}]},"\/src\/repo\/includes\/Data\/ManagerGroup.php":{"errors":6,"warnings":2,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":53,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":76,"column":8},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":130,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":134,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":138,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":142,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":146,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":150,"column":12}]},"\/src\/repo\/includes\/Block\/TopicBlock.php":{"errors":6,"warnings":5,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":104,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":211,"column":86},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":240,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":321,"column":82},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":402,"column":80},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":504,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":651,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":735,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":766,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":774,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":803,"column":19}]},"\/src\/repo\/maintenance\/FlowUpdateWorkflowPageId.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":81,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":109,"column":12}]},"\/src\/repo\/includes\/LinksTableUpdater.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $references = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":40,"column":83},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":105,"column":12}]},"\/src\/repo\/tests\/phpunit\/LinksTableTest.php":{"errors":0,"warnings":6,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":214,"column":18},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":215,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":216,"column":19},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":217,"column":23},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":302,"column":19},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":346,"column":19}]},"\/src\/repo\/includes\/Specials\/SpecialEnableStructuredDiscussions.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":43,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":56,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":70,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":74,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":177,"column":15}]},"\/src\/repo\/tests\/phpunit\/integration\/Notifications\/ControllerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/ContainerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Formatter\/RevisionFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/PostRevision.php":{"errors":3,"warnings":2,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Title $title = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":98,"column":82},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":106,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":107,"column":36},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":211,"column":12},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $id = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":263,"column":35}]},"\/src\/repo\/tests\/phpunit\/integration\/SpamFilter\/ConfirmEditTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":38,"column":38}]},"\/src\/repo\/includes\/BlockFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/Flow.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/RevisionFormatter.php":{"errors":5,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $revisionId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":195,"column":48},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":467,"column":12},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?FormatterRow $row = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":897,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?FormatterRow $row = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":939,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":1095,"column":15}]},"\/src\/repo\/tests\/phpunit\/integration\/SpamFilter\/ContentLengthFilterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Specials\/SpecialStructuredDiscussions.php":{"errors":2,"warnings":4,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":75,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":104,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":139,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":164,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":182,"column":27},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":206,"column":15}]},"\/src\/repo\/tests\/phpunit\/Notifications\/NotifiedUsersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Formatter\/FormatterTest.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $postId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":58,"column":102},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $postId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":92,"column":62}]},"\/src\/repo\/includes\/Conversion\/Utils.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Language $lang = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":118,"column":81},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?DOMNode $node = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":272,"column":60},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?DOMNode $node = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":286,"column":42}]},"\/src\/repo\/tests\/phpunit\/SpamFilter\/AbuseFilterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Data\/IndexTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":41,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":86,"column":25}]},"\/src\/repo\/tests\/phpunit\/SpamFilter\/SpamBlacklistTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/ServiceWiring.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/AbstractFormatter.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":52,"column":24},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $request = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":117,"column":9}]},"\/src\/repo\/includes\/Formatter\/TocTopicListFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/PostSummaryViewQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/AbstractRevision.php":{"errors":4,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":165,"column":32},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Title $title = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":531,"column":55},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Title $title = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":626,"column":71},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":832,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":849,"column":12}]},"\/src\/repo\/includes\/Model\/Header.php":{"errors":1,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":33,"column":36},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":81,"column":12}]},"\/src\/repo\/includes\/Formatter\/RevisionDiffViewFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/HtmlRenderingInformation.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":53,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":57,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":61,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":65,"column":12}]},"\/src\/repo\/includes\/Model\/PostSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/UUIDBlob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Block\/TopicListBlock.php":{"errors":5,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":178,"column":53},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":179,"column":65},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":199,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":239,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":337,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":341,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":353,"column":15}]},"\/src\/repo\/includes\/Block\/BoardHistoryBlock.php":{"errors":2,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":39,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":57,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":88,"column":12}]},"\/src\/repo\/includes\/Block\/Block.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/container.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":247,"column":22}]},"\/src\/repo\/includes\/RevisionActionPermissions.php":{"errors":1,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?AbstractRevision $revision = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":45,"column":40},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":116,"column":72}]},"\/src\/repo\/defines.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":4,"column":27}]},"\/src\/repo\/includes\/SubmissionHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/TemplateHelper.php":{"errors":1,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":249,"column":33},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":586,"column":19}]},"\/src\/repo\/includes\/WorkflowLoader.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":65,"column":12}]},"\/src\/repo\/includes\/SpamFilter\/AbuseFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Block\/HeaderBlock.php":{"errors":4,"warnings":2,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":66,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":123,"column":88},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":185,"column":72},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":202,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":347,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":367,"column":12}]},"\/src\/repo\/includes\/Block\/TopicSummaryBlock.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":395,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":415,"column":12}]},"\/src\/repo\/includes\/Hooks.php":{"errors":12,"warnings":3,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":194,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":311,"column":26},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":531,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":558,"column":19},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":805,"column":8},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1080,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1132,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1158,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1288,"column":84},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1481,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1491,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1691,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1706,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1878,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":2034,"column":19}]},"\/src\/repo\/includes\/WatchedTopicItems.php":{"errors":0,"warnings":0,"messages":[]}}} --- end --- PHPCS run failed $ vendor/bin/phpcs --report=json --- stdout --- {"totals":{"errors":454,"warnings":143,"fixable":62},"files":{"\/src\/repo\/includes\/Import\/ImportException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/IImportTopic.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Hooks\/AbuseFilterHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/IRevisionableObject.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ApiNotFoundException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/SourceStore\/NullImportSourceStore.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":13,"column":12}]},"\/src\/repo\/includes\/Import\/IImportSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/HeaderViewQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/Plain\/ObjectRevision.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":30,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":34,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":38,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":12}]},"\/src\/repo\/includes\/Exception\/DataModelException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Import\/Postprocessor\/SpecialLogTopic.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/Extractor\/WikiLinkExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/compileLightncandy.php":{"errors":1,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":34,"column":56},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":57,"column":15}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/RemoteApiBackend.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":32,"column":12}]},"\/src\/repo\/includes\/SchemaHooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/InvalidActionException.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":20,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12}]},"\/src\/repo\/includes\/Import\/Plain\/ImportHeader.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12}]},"\/src\/repo\/includes\/Formatter\/RevisionFormatterFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":48,"column":12}]},"\/src\/repo\/includes\/Import\/Importer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/IImportHeader.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/CatchableFatalErrorException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/NoParserException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Parsoid\/Fixer\/BadImageRemover.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/CachedData.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":27,"column":12}]},"\/src\/repo\/includes\/Parsoid\/Fixer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/Extractor\/TransclusionExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowFixLinks.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":36,"column":15}]},"\/src\/repo\/includes\/Parsoid\/ReferenceFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ImportHeader.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":85,"column":12}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/MovedImportTopic.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":13,"column":12}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/CachedThreadData.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":68,"column":15}]},"\/src\/repo\/maintenance\/convertNamespaceFromWikitext.php":{"errors":0,"warnings":4,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":35,"column":20},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":36,"column":19},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":42,"column":20},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":43,"column":19}]},"\/src\/repo\/includes\/Parsoid\/Extractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Repository\/TreeCacheKey.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Collection\/HeaderCollection.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":6,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":10,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":12}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/CachedApiData.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/PageRevisionedObject.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":44,"column":12}]},"\/src\/repo\/includes\/Formatter\/CategoryViewerQuery.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":79,"column":12}]},"\/src\/repo\/includes\/Exception\/InvalidTopicUuidException.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":26,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":30,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":34,"column":12}]},"\/src\/repo\/includes\/Formatter\/BoardHistoryQuery.php":{"errors":4,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $offset = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":18,"column":69},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":59,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":69,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":81,"column":15}]},"\/src\/repo\/includes\/Import\/SourceStore\/FileImportSourceStore.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":38,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":12}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/CachedPageData.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Exception\/FlowException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/FailCommitException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Exception\/NoIndexException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Exception\/PermissionException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/ReferenceClarifier.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":27,"column":12}]},"\/src\/repo\/includes\/Diff\/FlowBoardContentDiffView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowUndoEditHeader.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":20,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/includes\/Import\/Postprocessor\/LqtRedirector.php":{"errors":1,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":42,"column":42},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":52,"column":45},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $toPost = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":71,"column":69}]},"\/src\/repo\/includes\/Api\/ApiFlowBasePost.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/InvalidParameterException.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":16,"column":15}]},"\/src\/repo\/includes\/Api\/ApiFlowViewPostHistory.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":19,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":12}]},"\/src\/repo\/includes\/Formatter\/PostSummaryQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/ContentFixer.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":24,"column":54}]},"\/src\/repo\/includes\/FlowActions.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":35,"column":53},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":69,"column":53}]},"\/src\/repo\/includes\/Formatter\/RevisionViewFormatter.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":34,"column":12},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $revisionId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":34,"column":48}]},"\/src\/repo\/includes\/Hooks\/HookRunner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/FlowCheckHtmlContentXssHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/HeaderRevisionStorage.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Data\/Listener\/AbstractListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ImportTopic.php":{"errors":7,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":30,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":36,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":73,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":77,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":85,"column":12}]},"\/src\/repo\/includes\/Api\/ApiFlowViewTopicHistory.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":19,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":12}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/RevisionIterator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":32,"column":15}]},"\/src\/repo\/includes\/BoardMover.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/FormatterRow.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowMoveBoardsToSubpages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/ReferenceExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/InvalidInputException.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":18,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":26,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":40,"column":12}]},"\/src\/repo\/includes\/Exception\/CrossWikiException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowReserializeRevisionContent.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":58,"column":15}]},"\/src\/repo\/includes\/Data\/Listener\/UserNameListener.php":{"errors":0,"warnings":1,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":46,"column":8}]},"\/src\/repo\/includes\/Api\/ApiFlowModeratePost.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":13,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":17,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/includes\/Parsoid\/Extractor\/ImageExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/Postprocessor\/ProcessorGroup.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":40,"column":15}]},"\/src\/repo\/includes\/Data\/Index\/PostRevisionBoardHistoryIndex.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/DataPersistenceException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Formatter\/ContributionsFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":14,"column":15}]},"\/src\/repo\/Notifications.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Container.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Index\/UniqueFeatureIndex.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":11,"column":12}]},"\/src\/repo\/includes\/Formatter\/CheckUserFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":8,"column":15}]},"\/src\/repo\/includes\/Api\/ApiFlowBaseGet.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/OOUI\/BoardDescriptionWidget.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/RevisionViewQuery.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $prevId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":68,"column":53},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":115,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":149,"column":12}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/LocalApiBackend.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?User $user = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":20,"column":34},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":29,"column":12}]},"\/src\/repo\/includes\/Actions\/ViewAction.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?OutputPage $output = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":25,"column":45},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":36,"column":15}]},"\/src\/repo\/includes\/Exception\/UnknownWorkflowIdException.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":10,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":15,"column":12}]},"\/src\/repo\/includes\/Parsoid\/Extractor\/ExtLinkExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/Fixer\/BaseHrefFixer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Listener\/WorkflowTopicListListener.php":{"errors":1,"warnings":1,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":55,"column":8},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":69,"column":12}]},"\/src\/repo\/includes\/Block\/AbstractBlock.php":{"errors":3,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":110,"column":16},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":210,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":214,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":218,"column":12}]},"\/src\/repo\/includes\/Formatter\/CategoryViewerFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":12}]},"\/src\/repo\/includes\/Data\/Utils\/SortRevisionsByRevisionId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/Postprocessor\/Postprocessor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowEditHeader.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12}]},"\/src\/repo\/includes\/RecoverableErrorHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowPopulateRefId.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":34,"column":15}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ScriptedImportRevision.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":46,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":50,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":54,"column":12}]},"\/src\/repo\/includes\/Exception\/WikitextException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/maintenance\/dumpBackup.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/includes\/Api\/ApiQueryPropFlowInfo.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":10,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":43,"column":12}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/MovedImportPost.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":6,"column":12}]},"\/src\/repo\/includes\/Api\/ApiFlowNewTopic.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12}]},"\/src\/repo\/includes\/Parsoid\/Fixer\/EmptyNodeFixer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/WrongNumberArgumentsException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/WorkflowLoaderFactory.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":122,"column":39}]},"\/src\/repo\/includes\/Parsoid\/Extractor\/CategoryExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/Wikitext\/ConversionStrategy.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Title $movedFrom = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":128,"column":57}]},"\/src\/repo\/includes\/SpamFilter\/SpamFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/PostRevisionStorage.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":37,"column":15}]},"\/src\/repo\/includes\/Exception\/InvalidDataException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Exception\/InvalidReferenceException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowViewHeader.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":20,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/includes\/Data\/Storage\/PostRevisionTopicHistoryStorage.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":34,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":84,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":103,"column":12}]},"\/src\/repo\/includes\/Formatter\/ChangesListFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":16,"column":15}]},"\/src\/repo\/maintenance\/FlowSetUserIp.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":110,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":140,"column":12}]},"\/src\/repo\/includes\/Import\/TemplateHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/MovedImportRevision.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Mock\/MockImportHeader.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/SpamFilter\/ContentLengthFilter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":17,"column":12}]},"\/src\/repo\/includes\/Templating.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":138,"column":12}]},"\/src\/repo\/maintenance\/MaintenanceDebugLogger.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/IImportSource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/SourceStore\/FlowRevisionsDb.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":40,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":44,"column":12}]},"\/src\/repo\/includes\/Model\/URLReference.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":79,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":83,"column":12}]},"\/src\/repo\/includes\/Formatter\/HistoryQuery.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $offset = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":59,"column":56}]},"\/src\/repo\/includes\/Data\/Listener\/AbstractTopicInsertListener.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/includes\/Parsoid\/Extractor\/PlaceholderExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/TopicListStorage.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":10,"column":15}]},"\/src\/repo\/includes\/Api\/ApiParsoidUtilsFlow.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":37,"column":12}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ImportSummary.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/includes\/Formatter\/PostHistoryQuery.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $offset = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":17,"column":60}]},"\/src\/repo\/tests\/phpunit\/Mock\/MockImportPost.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/SpamFilter\/RateLimits.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/NewTopicPresentationModel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowEditPost.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":13,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":17,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/includes\/Import\/PageImportState.php":{"errors":2,"warnings":4,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":82,"column":12},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":115,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":115,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintReturn","severity":5,"fixable":false,"type":"WARNING","line":135,"column":16},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintReturn","severity":5,"fixable":false,"type":"WARNING","line":160,"column":16},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":243,"column":12}]},"\/src\/repo\/includes\/Collection\/AbstractCollection.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":265,"column":12}]},"\/src\/repo\/includes\/Import\/SourceStore\/SourceStoreInterface.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/SourceStore\/Exception.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/IRCLineUrlFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":30,"column":15}]},"\/src\/repo\/includes\/Parsoid\/Fixer\/WikiLinkFixer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/IObjectRevision.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/IImportPost.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Anchor.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":120,"column":58},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":121,"column":47}]},"\/src\/repo\/includes\/Log\/ModerationLogger.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Utils\/NamespaceIterator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowViewTopic.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12}]},"\/src\/repo\/includes\/Formatter\/PostViewQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ImportPost.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":77,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":104,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":165,"column":12}]},"\/src\/repo\/maintenance\/FlowUpdateRevisionTypeId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Mock\/MockImportTopic.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Utils\/UserMerger.php":{"errors":0,"warnings":2,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":133,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":141,"column":8}]},"\/src\/repo\/includes\/Actions\/FlowAction.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?OutputPage $output = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":59,"column":45}]},"\/src\/repo\/includes\/Repository\/RootPostLoader.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":115,"column":44}]},"\/src\/repo\/tests\/phpunit\/Data\/CachingObjectMapperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowEditTitleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Index\/BoardHistoryIndex.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":51,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/Model\/UserTupleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowFixUserIp.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":80,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":124,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/FlowActionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/TopicRow.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/FlowTestCase.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?DbFactory $dbFactory = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":34,"column":34}]},"\/src\/repo\/includes\/Data\/Storage\/BoardHistoryStorage.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":21},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":16,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":12}]},"\/src\/repo\/includes\/Data\/Listener\/DeferredInsertLifecycleHandler.php":{"errors":0,"warnings":4,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":29,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":41,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":51,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":60,"column":8}]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/HistoricalUIDGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowModerateTopic.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":13,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":17,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/includes\/SpamFilter\/SpamRegex.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Actions\/EditAction.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Data\/ObjectLocatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/WatchedTopicItemsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/convertLqtPageOnLocalWiki.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/Postprocessor\/LqtNotifications.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Mock\/MockImportSummary.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":22,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":26,"column":12}]},"\/src\/repo\/includes\/Parsoid\/Fixer\/ExtLinkFixer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Block\/TopicListBlockTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/Wikitext\/ImportSource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/DbStorage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Iterators\/AbstractIterator.php":{"errors":2,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $revId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":91,"column":30},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $revId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":105,"column":28},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":133,"column":26}]},"\/src\/repo\/includes\/Data\/Utils\/SortArrayByKeys.php":{"errors":2,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":18,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":27,"column":19},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":35,"column":18}]},"\/src\/repo\/includes\/Api\/ApiFlowBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowViewPost.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12}]},"\/src\/repo\/tests\/phpunit\/Parsoid\/Fixer\/WikiLinkFixerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Collection\/CollectionCache.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":65,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":71,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":77,"column":12}]},"\/src\/repo\/includes\/Notifications\/SummaryEditedPresentationModel.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":61,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":83,"column":15}]},"\/src\/repo\/includes\/Model\/TopicListEntry.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Mock\/MockImportRevision.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ImportRevision.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":53,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":57,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":65,"column":12}]},"\/src\/repo\/includes\/Data\/Utils\/RecentChangeFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/PostRevisionBoardHistoryStorage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Reference.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":153,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":157,"column":12}]},"\/src\/repo\/tests\/phpunit\/SpamFilter\/SpamRegexTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Content\/BoardContentHandler.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":30,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":38,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":12}]},"\/src\/repo\/.phan\/config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Model\/PostRevisionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Utils\/PagesWithPropertyIterator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowUpdateBetaFeaturePreference.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowViewTopicList.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":22,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":26,"column":12}]},"\/src\/repo\/tests\/phpunit\/Mock\/ExternalStoreFlowMock.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":17,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/includes\/Api\/ApiFlowUndoEditTopicSummary.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":12,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":16,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":12}]},"\/src\/repo\/includes\/Repository\/MultiGetList.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Repository\/TitleRepository.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":12}]},"\/src\/repo\/includes\/Formatter\/AbstractQuery.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?FormatterRow $row = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":205,"column":78}]},"\/src\/repo\/includes\/Collection\/PostSummaryCollection.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":18,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":29,"column":12}]},"\/src\/repo\/tests\/phpunit\/Repository\/TreeRepositoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Data\/UserNameListenerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/FlowAddModulesHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/SpamFilter\/ConfirmEdit.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Collection\/PostCollectionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowUpdateRevisionContentLength.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":66,"column":12},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?AbstractRevision $previous = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":158,"column":68},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":171,"column":15}]},"\/src\/repo\/maintenance\/FlowRemoveOldTopics.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":82,"column":15}]},"\/src\/repo\/includes\/Data\/Pager\/Pager.php":{"errors":0,"warnings":1,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":233,"column":8}]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/ArchiveNameHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowModeratePostTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiTestCase.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $session = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":33,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Authority $performer = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":35,"column":9}]},"\/src\/repo\/includes\/Hooks\/FlowTermsOfUseMessagesHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/APIFlowAfterExecuteHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Pager\/PagerPage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/HistoricalUIDGenerator.php":{"errors":1,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":20,"column":39},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":22,"column":19}]},"\/src\/repo\/tests\/phpunit\/integration\/TalkpageManagerTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":42,"column":95},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":46,"column":96}]},"\/src\/repo\/tests\/phpunit\/Mock\/MockImportSource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/TalkpageImportOperation.php":{"errors":1,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":251,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":373,"column":53}]},"\/src\/repo\/includes\/Data\/Listener\/ReferenceRecorder.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":66,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":70,"column":12},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?PostRevision $root = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":110,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":164,"column":22},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?PostRevision $root = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":216,"column":9}]},"\/src\/repo\/includes\/Import\/IConversionStrategy.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Title $movedFrom = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":44,"column":57}]},"\/src\/repo\/includes\/Api\/ApiFlowEditTopicSummary.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":13,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":17,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/includes\/Formatter\/SinglePostQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowReply.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":20,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/includes\/Search\/Iterators\/TopicIterator.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $revId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":50,"column":30},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $revId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":74,"column":28}]},"\/src\/repo\/includes\/Repository\/UserName\/OneStepUserNameQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Collection\/PostCollection.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":16,"column":19}]},"\/src\/repo\/includes\/Data\/ObjectMapper.php":{"errors":0,"warnings":4,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":13,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":23,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintReturn","severity":5,"fixable":false,"type":"WARNING","line":24,"column":16},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintReturn","severity":5,"fixable":false,"type":"WARNING","line":33,"column":16}]},"\/src\/repo\/maintenance\/convertAllLqtPages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Iterators\/HeaderIterator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Repository\/UserName\/UserNameQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Utils\/Merger.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/SpamFilter\/Controller.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":23,"column":57}]},"\/src\/repo\/includes\/Api\/ApiFlowViewTopicSummary.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":20,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/includes\/Content\/BoardContent.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":13,"column":12},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $workflowId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":13,"column":76}]},"\/src\/repo\/includes\/Notifications\/UserLocator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Log\/ActionFormatter.php":{"errors":0,"warnings":3,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":135,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":136,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":142,"column":68}]},"\/src\/repo\/includes\/Data\/Listener\/TopicPageCreationListener.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":29,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":33,"column":12}]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowEditPostTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/UserTuple.php":{"errors":3,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":66,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":74,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":91,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":108,"column":50}]},"\/src\/repo\/tests\/phpunit\/Repository\/TreeRepositoryDbTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/TemplatingTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/FlowEnabledOnTalkpagePresentationModel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/TopicImportState.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":48,"column":12}]},"\/src\/repo\/includes\/Data\/Listener\/RecentChangesListener.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":98,"column":28}]},"\/src\/repo\/includes\/Import\/ArchiveNameHelper.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?TitleRepository $titleRepo = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":29,"column":72},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?TitleRepository $titleRepo = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":43,"column":76},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?TitleRepository $titleRepo = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":54,"column":78}]},"\/src\/repo\/includes\/Formatter\/ChangesListQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Listener\/EditCountListener.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":20,"column":12}]},"\/src\/repo\/includes\/Import\/EnableFlow\/EnableFlowWikitextConversionStrategy.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Log\/LogQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowUpdateResolvedNotifTitles.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":12}]},"\/src\/repo\/includes\/Data\/FlowObjectCache.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Parsoid\/ReferenceExtractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Index.php":{"errors":0,"warnings":1,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":81,"column":8}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ImportSource.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":178,"column":35}]},"\/src\/repo\/includes\/Formatter\/ContributionsQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/TopicListFormatter.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":27,"column":12},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $revisionId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":27,"column":55},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":31,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":41,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":130,"column":15}]},"\/src\/repo\/includes\/Data\/ObjectLocator.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":64,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":68,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":177,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":181,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":313,"column":15}]},"\/src\/repo\/includes\/Api\/ApiFlowLockTopic.php":{"errors":5,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":10,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":14,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":29,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":35,"column":39}]},"\/src\/repo\/tests\/phpunit\/Repository\/UserName\/OneStepUserNameQueryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/Flow.namespaces.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/SpamFilter\/SpamBlacklist.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/CheckUserQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Listener\/ImmediateWatchTopicListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/RecentChangesRow.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Log\/LqtImportFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":10,"column":12}]},"\/src\/repo\/includes\/Formatter\/BaseTopicListFormatter.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":41,"column":23}]},"\/src\/repo\/includes\/Data\/Utils\/ResultDuplicator.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":97,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":101,"column":12}]},"\/src\/repo\/includes\/TalkpageManager.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":176,"column":50},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":178,"column":16}]},"\/src\/repo\/includes\/Import\/IImportObject.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/MentionPresentationModel.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":67,"column":15}]},"\/src\/repo\/maintenance\/convertLqtPageFromRemoteApiForTesting.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Compactor\/FeatureCompactor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/PostEditedPresentationModel.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":92,"column":15}]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/LiquidThreadsApi\/ConversionStrategyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Collection\/LocalCacheAbstractCollection.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/TopicHistoryQuery.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $offset = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":18,"column":65},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":66,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":78,"column":15}]},"\/src\/repo\/includes\/Data\/Listener\/ModerationLoggingListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/OccupationController.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/PostSummaryRevisionBoardHistoryStorage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Dump\/Importer.php":{"errors":0,"warnings":1,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":96,"column":8}]},"\/src\/repo\/tests\/phpunit\/integration\/HookTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/BasicDbStorage.php":{"errors":3,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":88,"column":26},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":157,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":167,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":219,"column":12}]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowModerateTopicTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Parsoid\/ReferenceFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ApiBackend.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/RevisionUndoViewFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":61,"column":15}]},"\/src\/repo\/includes\/Data\/Mapper\/CachingObjectMapper.php":{"errors":2,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":64,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":83,"column":12},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintReturn","severity":5,"fixable":false,"type":"WARNING","line":108,"column":16}]},"\/src\/repo\/includes\/Data\/Compactor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Repository\/UserNameBatch.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowPopulateLinksTables.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":32,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":45,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":86,"column":15}]},"\/src\/repo\/includes\/Data\/Pager\/HistoryPager.php":{"errors":2,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":35,"column":34},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":118,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":122,"column":12}]},"\/src\/repo\/includes\/Formatter\/ContributionsRow.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowViewTopicListTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Parsoid\/Fixer\/BaseHrefFixerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiWatchTopicTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/PostReplyPresentationModel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Data\/Listener\/RecentChangesListenerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/HeaderEditedPresentationModel.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":39,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":71,"column":15}]},"\/src\/repo\/includes\/Data\/Compactor\/ShallowCompactor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/UrlGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/View.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":52,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":125,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":162,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":182,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":291,"column":15}]},"\/src\/repo\/tests\/phpunit\/Collection\/RevisionCollectionPermissionsTest.php":{"errors":1,"warnings":2,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?AbstractRevision $parent = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":274,"column":48},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":286,"column":67},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":298,"column":67}]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/Wikitext\/ConversionStrategyTest.php":{"errors":2,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":150,"column":20},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":169,"column":23},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Parser $parser = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":194,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SourceStoreInterface $sourceStore = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":195,"column":9}]},"\/src\/repo\/includes\/Formatter\/FeedItemFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":10,"column":15}]},"\/src\/repo\/includes\/Data\/Mapper\/BasicObjectMapper.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":26,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":31,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":35,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":39,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":43,"column":12}]},"\/src\/repo\/includes\/Notifications\/MentionStatusPresentationModel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/LifecycleHandler.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":10,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":16,"column":12}]},"\/src\/repo\/includes\/Api\/ApiFlow.php":{"errors":4,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":32,"column":66},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":65,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":129,"column":45},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":139,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":153,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":161,"column":12}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/TopicIterator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/TopicFormatter.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":26,"column":12},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $revisionId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":26,"column":55},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":30,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":80,"column":15}]},"\/src\/repo\/includes\/Formatter\/DeletedContributionsRow.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowUpdateRevContentModelFromOccupyPages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Listener\/NotificationListener.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":22,"column":12}]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowReplyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowExternalStoreMoveCluster.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowEditTitle.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/HooksTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/TopicListQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowRestoreLQT.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Parsoid\/Fixer\/BadImageRemoverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/convertToText.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":251,"column":46}]},"\/src\/repo\/includes\/Model\/Workflow.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":137,"column":41}]},"\/src\/repo\/includes\/Api\/ApiFlowUndoEditPost.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":12,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":16,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":20,"column":12}]},"\/src\/repo\/includes\/Data\/Index\/FeatureIndex.php":{"errors":0,"warnings":1,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":156,"column":8}]},"\/src\/repo\/tests\/phpunit\/Data\/Storage\/RevisionStorageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Import\/TemplateHelperTest.php":{"errors":0,"warnings":5,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":16,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":21,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":26,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":31,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":36,"column":15}]},"\/src\/repo\/tests\/phpunit\/PermissionsTest.php":{"errors":0,"warnings":9,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":147,"column":63},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":155,"column":67},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":156,"column":69},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":184,"column":65},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":185,"column":67},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":209,"column":61},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":210,"column":63},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":234,"column":64},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":235,"column":66}]},"\/src\/repo\/includes\/Data\/Utils\/MultiDimArray.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":49,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":61,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":75,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":95,"column":12}]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowLockTopicTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/PostRevisionTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Parsoid\/Fixer\/EmptyNodeFixerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/Wikitext\/ImportSourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Index\/PostRevisionTopicHistoryIndex.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":18,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":100,"column":15}]},"\/src\/repo\/tests\/phpunit\/unit\/TemplateHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowUpdateUserWiki.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/HookRunnerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/UUID.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $other = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":368,"column":29}]},"\/src\/repo\/maintenance\/FlowAddMissingModerationLogs.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":39,"column":15}]},"\/src\/repo\/maintenance\/FlowCreateTemplates.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":80,"column":15}]},"\/src\/repo\/includes\/Notifications\/FlowPresentationModel.php":{"errors":9,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":98,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":104,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":116,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":120,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":127,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":131,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":136,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":147,"column":15}]},"\/src\/repo\/includes\/Model\/WikiReference.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":119,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":123,"column":12}]},"\/src\/repo\/tests\/phpunit\/BlockFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Data\/UserNameBatchTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/bootstrap.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ConversionStrategy.php":{"errors":7,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":75,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":79,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":83,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":87,"column":12},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Title $movedFrom = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":87,"column":57},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":95,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":138,"column":12}]},"\/src\/repo\/includes\/Model\/AbstractSummary.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":17,"column":19}]},"\/src\/repo\/includes\/Data\/Storage\/RevisionStorage.php":{"errors":9,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":154,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":161,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":171,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":179,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":222,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":235,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":334,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":355,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":443,"column":15}]},"\/src\/repo\/includes\/Data\/Storage\/PostSummaryRevisionStorage.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowEditHeaderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowFixInconsistentBoards.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Data\/ManagerGroupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Data\/NothingTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/TopicRenamedPresentationModel.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":65,"column":15}]},"\/src\/repo\/maintenance\/FlowFixWorkflowLastUpdateTimestamp.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Conversion\/ConversionUtilsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ReplyIterator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/benchUuidTimestampConversion.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":86,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":92,"column":12}]},"\/src\/repo\/includes\/Data\/ObjectManager.php":{"errors":0,"warnings":10,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":115,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":126,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":141,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":152,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":180,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":200,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":213,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":243,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":274,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":286,"column":8}]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowEditTopicSummaryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/OptInController.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/ObjectStorage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/TalkpageImportOperationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Repository\/TreeRepository.php":{"errors":5,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $ancestor = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":78,"column":47},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":203,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":374,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":383,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":409,"column":12}]},"\/src\/repo\/FlowActions.php":{"errors":0,"warnings":18,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":349,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":702,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":703,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":714,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":715,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":716,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":764,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":842,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":863,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":864,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":880,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":881,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":882,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":895,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":896,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":908,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":909,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":910,"column":26}]},"\/src\/repo\/maintenance\/FlowUpdateRecentChanges.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/UrlGenerator.php":{"errors":11,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Title $title = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":44,"column":38},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $workflowId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":44,"column":59},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Title $title = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":69,"column":35},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $workflowId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":69,"column":56},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $oldRevId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":367,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $oldRevId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":397,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $oldRevId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":428,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $oldRevId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":459,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Title $title = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":866,"column":37},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $workflowId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":866,"column":58},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":877,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":879,"column":31}]},"\/src\/repo\/maintenance\/FlowFixLog.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":40,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":107,"column":12}]},"\/src\/repo\/includes\/Notifications\/Controller.php":{"errors":2,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":55,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":497,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":660,"column":40}]},"\/src\/repo\/includes\/Data\/Index\/TopKIndex.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":22,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":57,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":75,"column":12}]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowViewHeaderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Index\/PostSummaryRevisionBoardHistoryIndex.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":8,"column":15}]},"\/src\/repo\/includes\/Notifications\/TopicResolvedPresentationModel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Data\/Pager\/PagerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowFixEditCount.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":46,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":75,"column":12}]},"\/src\/repo\/tests\/phpunit\/Model\/UUIDTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/DbFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Dump\/Exporter.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $pages = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":163,"column":42}]},"\/src\/repo\/includes\/Data\/ManagerGroup.php":{"errors":6,"warnings":2,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":53,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":76,"column":8},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":130,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":134,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":138,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":142,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":146,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":150,"column":12}]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/PageImportStateTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Specials\/SpecialEnableStructuredDiscussions.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":43,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":56,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":70,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":74,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":177,"column":15}]},"\/src\/repo\/tests\/phpunit\/LinksTableTest.php":{"errors":0,"warnings":6,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":214,"column":18},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":215,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":216,"column":19},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":217,"column":23},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":302,"column":19},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":346,"column":19}]},"\/src\/repo\/tests\/phpunit\/ContainerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/RevisionFormatter.php":{"errors":5,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $revisionId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":195,"column":48},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":467,"column":12},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?FormatterRow $row = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":897,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?FormatterRow $row = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":939,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":1095,"column":15}]},"\/src\/repo\/includes\/Model\/PostRevision.php":{"errors":3,"warnings":2,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Title $title = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":98,"column":82},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":106,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":107,"column":36},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":211,"column":12},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $id = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":263,"column":35}]},"\/src\/repo\/maintenance\/FlowUpdateWorkflowPageId.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":81,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":109,"column":12}]},"\/src\/repo\/includes\/Import\/Converter.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Title $movedFrom = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":176,"column":52}]},"\/src\/repo\/includes\/Block\/TopicBlock.php":{"errors":6,"warnings":5,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":104,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":211,"column":86},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":240,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":321,"column":82},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":402,"column":80},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":504,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":651,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":735,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":766,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":774,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":803,"column":19}]},"\/src\/repo\/tests\/phpunit\/integration\/Notifications\/ControllerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/LinksTableUpdater.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $references = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":40,"column":83},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":105,"column":12}]},"\/src\/repo\/tests\/phpunit\/Formatter\/RevisionFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/Flow.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Notifications\/NotifiedUsersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Specials\/SpecialStructuredDiscussions.php":{"errors":2,"warnings":4,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":75,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":104,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":139,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":164,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":182,"column":27},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":206,"column":15}]},"\/src\/repo\/includes\/BlockFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/SpamFilter\/ConfirmEditTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":38,"column":38}]},"\/src\/repo\/tests\/phpunit\/integration\/SpamFilter\/ContentLengthFilterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/ServiceWiring.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/SpamFilter\/AbuseFilterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Formatter\/FormatterTest.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $postId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":58,"column":102},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UUID $postId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":92,"column":62}]},"\/src\/repo\/includes\/Model\/Header.php":{"errors":1,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":33,"column":36},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":81,"column":12}]},"\/src\/repo\/includes\/Conversion\/Utils.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Language $lang = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":118,"column":81},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?DOMNode $node = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":272,"column":60},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?DOMNode $node = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":286,"column":42}]},"\/src\/repo\/tests\/phpunit\/Data\/IndexTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":41,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":86,"column":25}]},"\/src\/repo\/includes\/Model\/PostSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/AbstractFormatter.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":52,"column":24},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $request = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":117,"column":9}]},"\/src\/repo\/tests\/phpunit\/SpamFilter\/SpamBlacklistTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/AbstractRevision.php":{"errors":4,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":165,"column":32},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Title $title = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":531,"column":55},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Title $title = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":626,"column":71},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":832,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":849,"column":12}]},"\/src\/repo\/includes\/Formatter\/TocTopicListFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/PostSummaryViewQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Block\/TopicListBlock.php":{"errors":5,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":178,"column":53},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":179,"column":65},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":199,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":239,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":337,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":341,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":353,"column":15}]},"\/src\/repo\/includes\/Model\/HtmlRenderingInformation.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":53,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":57,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":61,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":65,"column":12}]},"\/src\/repo\/includes\/Formatter\/RevisionDiffViewFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/UUIDBlob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Block\/BoardHistoryBlock.php":{"errors":2,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":39,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":57,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":88,"column":12}]},"\/src\/repo\/includes\/Block\/Block.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/RevisionActionPermissions.php":{"errors":1,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?AbstractRevision $revision = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":45,"column":40},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":116,"column":72}]},"\/src\/repo\/container.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":247,"column":22}]},"\/src\/repo\/defines.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":4,"column":27}]},"\/src\/repo\/includes\/TemplateHelper.php":{"errors":1,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":249,"column":33},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":586,"column":19}]},"\/src\/repo\/includes\/SubmissionHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/WorkflowLoader.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":65,"column":12}]},"\/src\/repo\/includes\/SpamFilter\/AbuseFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Block\/HeaderBlock.php":{"errors":4,"warnings":2,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":66,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":123,"column":88},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":185,"column":72},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":202,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":347,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":367,"column":12}]},"\/src\/repo\/includes\/Block\/TopicSummaryBlock.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":395,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":415,"column":12}]},"\/src\/repo\/includes\/Hooks.php":{"errors":12,"warnings":3,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":194,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":311,"column":26},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":531,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":558,"column":19},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":805,"column":8},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1080,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1132,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1158,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1288,"column":84},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1481,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1491,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1691,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1706,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1878,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":2034,"column":19}]},"\/src\/repo\/includes\/WatchedTopicItems.php":{"errors":0,"warnings":0,"messages":[]}}} --- end --- * sniff MediaWiki.Usage.NullableType.ExplicitNullableTypes is now failing $ git checkout .phpcs.xml --- stderr --- Updated 1 path from the index --- stdout --- --- end --- $ /usr/bin/composer install --- stderr --- Installing dependencies from lock file (including require-dev) Verifying lock file contents can be installed on current platform. Nothing to install, update or remove Generating autoload files 16 packages you are using are looking for funding. Use the `composer fund` command to find out more! --- stdout --- --- end --- $ /usr/bin/composer test --- stderr --- > parallel-lint . --exclude vendor --exclude node_modules > phpcs -sp --cache > minus-x check . --- stdout --- PHP 8.2.20 | 10 parallel jobs ............................................................ 60/457 ( 13%) ............................................................ 120/457 ( 26%) ............................................................ 180/457 ( 39%) ............................................................ 240/457 ( 52%) ............................................................ 300/457 ( 65%) ............................................................ 360/457 ( 78%) ............................................................ 420/457 ( 91%) ..................................... 457/457 (100%) Checked 457 files in 1.9 seconds No syntax error found ............................................................ 60 / 62 (97%) .. 62 / 62 (100%) Time: 490ms; Memory: 24MB MinusX ====== Processing /src/repo... ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. .......................................................... All good! --- end --- $ /usr/bin/npm audit --json --- stdout --- { "auditReportVersion": 2, "vulnerabilities": {}, "metadata": { "vulnerabilities": { "info": 0, "low": 0, "moderate": 0, "high": 0, "critical": 0, "total": 0 }, "dependencies": { "prod": 1, "dev": 471, "optional": 0, "peer": 1, "peerOptional": 0, "total": 471 } } } --- end --- $ package-lock-lint package-lock.json --- stdout --- Checking package-lock.json --- end --- build: Updating mediawiki/mediawiki-codesniffer to 45.0.0 The following sniffs are failing and were disabled: * MediaWiki.Usage.NullableType.ExplicitNullableTypes $ git add . --- stdout --- --- end --- $ git commit -F /tmp/tmp79uwr2u0 --- stdout --- [REL1_43 6d4cb29] build: Updating mediawiki/mediawiki-codesniffer to 45.0.0 2 files changed, 2 insertions(+), 1 deletion(-) --- end --- $ git format-patch HEAD~1 --stdout --- stdout --- From 6d4cb29dd3491dc1353c55af990e2fa6f4cba0f9 Mon Sep 17 00:00:00 2001 From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org> Date: Sun, 10 Nov 2024 05:14:32 +0000 Subject: [PATCH] build: Updating mediawiki/mediawiki-codesniffer to 45.0.0 The following sniffs are failing and were disabled: * MediaWiki.Usage.NullableType.ExplicitNullableTypes Change-Id: I45b1d1ba0ba64d72d0ec607f4de5e19d902aca00 --- .phpcs.xml | 1 + composer.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.phpcs.xml b/.phpcs.xml index 174e799..04e8319 100644 --- a/.phpcs.xml +++ b/.phpcs.xml @@ -5,6 +5,7 @@ <exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic" /> <exclude name="MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam" /> <exclude name="MediaWiki.Commenting.FunctionComment.ObjectTypeHintReturn" /> + <exclude name="MediaWiki.Usage.NullableType.ExplicitNullableTypes" /> <exclude name="MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment" /> </rule> <rule ref="Generic.Files.LineLength"> diff --git a/composer.json b/composer.json index 7e12f13..807dfcf 100644 --- a/composer.json +++ b/composer.json @@ -7,7 +7,7 @@ "psr/container": "1.* || 2.*" }, "require-dev": { - "mediawiki/mediawiki-codesniffer": "44.0.0", + "mediawiki/mediawiki-codesniffer": "45.0.0", "mediawiki/mediawiki-phan-config": "0.14.0", "mediawiki/minus-x": "1.1.3", "php-parallel-lint/php-console-highlighter": "1.0.0", -- 2.39.2 --- end ---