From: Kunal Mehta Date: Fri, 22 Mar 2019 03:04:43 +0000 (-0700) Subject: Fix/suppress misc phan errors (#4) X-Git-Tag: 1.34.0-rc.0~2140^2 X-Git-Url: http://git.cyclocoop.org/?a=commitdiff_plain;h=e844daa4f3a09fc234a2c73421e17fa485ca37d4;p=lhc%2Fweb%2Fwiklou.git Fix/suppress misc phan errors (#4) * RevisionStore: phan is confused by the array not being the callable * ApiContinuationManger: phan false positive * ChronologyProtector: fix doc block * MssqlBlob: phan doesn't like __construct returning things * WikiPage: Remove Revision typehint that doesn't match doc block Change-Id: I0661d97424d0ad6f7a3357542e79aceb6a4f6c64 --- diff --git a/.phan/config.php b/.phan/config.php index 27ba0c9457..2c0035ea04 100644 --- a/.phan/config.php +++ b/.phan/config.php @@ -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 diff --git a/includes/Revision/RevisionStore.php b/includes/Revision/RevisionStore.php index 7dd4eead17..148ef1ff5b 100644 --- a/includes/Revision/RevisionStore.php +++ b/includes/Revision/RevisionStore.php @@ -1668,6 +1668,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 diff --git a/includes/api/ApiContinuationManager.php b/includes/api/ApiContinuationManager.php index 7da8ed9a5b..e4c52dd381 100644 --- a/includes/api/ApiContinuationManager.php +++ b/includes/api/ApiContinuationManager.php @@ -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 = []; diff --git a/includes/libs/rdbms/ChronologyProtector.php b/includes/libs/rdbms/ChronologyProtector.php index 3e71e3626b..62a296827d 100644 --- a/includes/libs/rdbms/ChronologyProtector.php +++ b/includes/libs/rdbms/ChronologyProtector.php @@ -72,7 +72,7 @@ class ChronologyProtector implements LoggerAwareInterface { /** * @param BagOStuff $store - * @param array[] $client Map of (ip: , agent: [, clientId: ] ) + * @param array $client Map of (ip: , agent: [, clientId: ] ) * @param int|null $posIndex Write counter index [optional] * @since 1.27 */ diff --git a/includes/libs/rdbms/encasing/MssqlBlob.php b/includes/libs/rdbms/encasing/MssqlBlob.php index 8e68aba0d7..6ad934acc4 100644 --- a/includes/libs/rdbms/encasing/MssqlBlob.php +++ b/includes/libs/rdbms/encasing/MssqlBlob.php @@ -7,6 +7,7 @@ class MssqlBlob extends Blob { /** * @param string $data + * @suppress PhanTypeMagicVoidWithReturn */ public function __construct( $data ) { if ( $data instanceof MssqlBlob ) { diff --git a/includes/page/WikiPage.php b/includes/page/WikiPage.php index 4b0e503ec4..655fa2711f 100644 --- a/includes/page/WikiPage.php +++ b/includes/page/WikiPage.php @@ -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