Merge "Fixes LocalFile isMissing always returning true"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Fri, 5 Apr 2019 23:02:04 +0000 (23:02 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Fri, 5 Apr 2019 23:02:04 +0000 (23:02 +0000)
.phan/config.php
includes/Revision/RevisionStore.php
includes/api/ApiContinuationManager.php
includes/block/BlockRestriction.php
includes/filerepo/file/ForeignAPIFile.php
includes/libs/rdbms/ChronologyProtector.php
includes/libs/rdbms/encasing/MssqlBlob.php
includes/page/WikiPage.php

index e4ba47f..2c0035e 100644 (file)
@@ -115,38 +115,28 @@ $cfg['suppress_issue_types'] = array_merge( $cfg['suppress_issue_types'], [
        "PhanTypeComparisonFromArray",
        // approximate error count: 2
        "PhanTypeComparisonToArray",
-       // approximate error count: 1
-       "PhanTypeConversionFromArray",
        // approximate error count: 2
        "PhanTypeExpectedObjectOrClassName",
        // approximate error count: 7
        "PhanTypeExpectedObjectPropAccess",
        // approximate error count: 3
        "PhanTypeInstantiateAbstract",
-       // approximate error count: 1
-       "PhanTypeInvalidCallableArraySize",
        // approximate error count: 62
        "PhanTypeInvalidDimOffset",
        // approximate error count: 10
        "PhanTypeInvalidExpressionArrayDestructuring",
-       // approximate error count: 1
-       "PhanTypeInvalidLeftOperand",
        // approximate error count: 7
        "PhanTypeInvalidLeftOperandOfIntegerOp",
        // approximate error count: 2
        "PhanTypeInvalidRightOperand",
        // approximate error count: 2
        "PhanTypeInvalidRightOperandOfIntegerOp",
-       // approximate error count: 1
-       "PhanTypeMagicVoidWithReturn",
        // approximate error count: 152
        "PhanTypeMismatchArgument",
        // approximate error count: 28
        "PhanTypeMismatchArgumentInternal",
        // approximate error count: 1
        "PhanTypeMismatchBitwiseBinaryOperands",
-       // approximate error count: 1
-       "PhanTypeMismatchDeclaredParam",
        // approximate error count: 2
        "PhanTypeMismatchDimEmpty",
        // approximate error count: 29
@@ -177,10 +167,6 @@ $cfg['suppress_issue_types'] = array_merge( $cfg['suppress_issue_types'], [
        "PhanUndeclaredMethod",
        // approximate error count: 847
        "PhanUndeclaredProperty",
-       // approximate error count: 1
-       "PhanUndeclaredTypeReturnType",
-       // approximate error count: 3
-       "PhanUndeclaredTypeThrowsType",
        // approximate error count: 2
        "PhanUndeclaredVariableAssignOp",
        // approximate error count: 55
index 2a54a9b..0329bd1 100644 (file)
@@ -1670,6 +1670,7 @@ class RevisionStore
        ) {
                if ( !$this->hasMcrSchemaFlags( SCHEMA_COMPAT_READ_NEW ) ) {
                        $mainSlot = $this->emulateMainSlot_1_29( $revisionRow, $queryFlags, $title );
+                       // @phan-suppress-next-line PhanTypeInvalidCallableArraySize false positive
                        $slots = new RevisionSlots( [ SlotRecord::MAIN => $mainSlot ] );
                } else {
                        // XXX: do we need the same kind of caching here
index 7da8ed9..e4c52dd 100644 (file)
@@ -217,6 +217,8 @@ class ApiContinuationManager {
                        // Some modules are unfinished: include those params, and copy
                        // the generator params.
                        foreach ( $continuationData as $module => $kvp ) {
+                               // XXX: Not sure why phan is complaining here...
+                               // @phan-suppress-next-line PhanTypeInvalidLeftOperand
                                $data += $kvp;
                        }
                        $generatorParams = [];
index cbd30c2..2e8752e 100644 (file)
@@ -25,6 +25,7 @@ namespace MediaWiki\Block;
 use MediaWiki\Block\Restriction\NamespaceRestriction;
 use MediaWiki\Block\Restriction\PageRestriction;
 use MediaWiki\Block\Restriction\Restriction;
+use MWException;
 use Wikimedia\Rdbms\IResultWrapper;
 use Wikimedia\Rdbms\IDatabase;
 
index 3a75720..ab8ef2f 100644 (file)
@@ -154,7 +154,7 @@ class ForeignAPIFile extends File {
 
        /**
         * @param int $page
-        * @return int|number
+        * @return int
         */
        public function getWidth( $page = 1 ) {
                return isset( $this->mInfo['width'] ) ? intval( $this->mInfo['width'] ) : 0;
index 3e71e36..62a2968 100644 (file)
@@ -72,7 +72,7 @@ class ChronologyProtector implements LoggerAwareInterface {
 
        /**
         * @param BagOStuff $store
-        * @param array[] $client Map of (ip: <IP>, agent: <user-agent> [, clientId: <hash>] )
+        * @param array $client Map of (ip: <IP>, agent: <user-agent> [, clientId: <hash>] )
         * @param int|null $posIndex Write counter index [optional]
         * @since 1.27
         */
index 8e68aba..6ad934a 100644 (file)
@@ -7,6 +7,7 @@ class MssqlBlob extends Blob {
 
        /**
         * @param string $data
+        * @suppress PhanTypeMagicVoidWithReturn
         */
        public function __construct( $data ) {
                if ( $data instanceof MssqlBlob ) {
index 4b0e503..655fa27 100644 (file)
@@ -2997,7 +2997,7 @@ class WikiPage implements Page, IDBAccessObject {
         * @param Content|null $content Page content to be used when determining
         *   the required updates. This may be needed because $this->getContent()
         *   may already return null when the page proper was deleted.
-        * @param RevisionRecord|Revision|null $revision The current page revision at the time of
+        * @param Revision|null $revision The current page revision at the time of
         *   deletion, used when determining the required updates. This may be needed because
         *   $this->getRevision() may already return null when the page proper was deleted.
         * @param User|null $user The user that caused the deletion