Merge "Remove PhanUndeclaredStaticMethod from blacklist"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 28 Aug 2018 06:03:08 +0000 (06:03 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 28 Aug 2018 06:03:08 +0000 (06:03 +0000)
includes/revisiondelete/RevDelArchiveItem.php
includes/revisiondelete/RevDelArchivedFileItem.php
includes/revisiondelete/RevDelArchivedRevisionItem.php
includes/revisiondelete/RevDelFileItem.php
includes/revisiondelete/RevDelRevisionItem.php
tests/phan/config.php

index 679acc6..11f2d13 100644 (file)
  * Item class for a archive table row
  */
 class RevDelArchiveItem extends RevDelRevisionItem {
-       public function __construct( $list, $row ) {
-               RevDelItem::__construct( $list, $row );
-               $this->revision = Revision::newFromArchiveRow( $row,
-                       [ 'page' => $this->list->title->getArticleID() ] );
+       protected static function initRevision( $list, $row ) {
+               return Revision::newFromArchiveRow( $row,
+                       [ 'page' => $list->title->getArticleID() ] );
        }
 
        public function getIdField() {
index d36fac9..00e40a0 100644 (file)
@@ -29,11 +29,14 @@ class RevDelArchivedFileItem extends RevDelFileItem {
        protected $lockFile;
 
        public function __construct( $list, $row ) {
-               RevDelItem::__construct( $list, $row );
-               $this->file = ArchivedFile::newFromRow( $row );
+               parent::__construct( $list, $row );
                $this->lockFile = RepoGroup::singleton()->getLocalRepo()->newFile( $row->fa_name );
        }
 
+       protected static function initFile( $list, $row ) {
+               return ArchivedFile::newFromRow( $row );
+       }
+
        public function getIdField() {
                return 'fa_id';
        }
index d839fcf..fd214e1 100644 (file)
  * used via RevDelRevisionList.
  */
 class RevDelArchivedRevisionItem extends RevDelArchiveItem {
-       public function __construct( $list, $row ) {
-               RevDelItem::__construct( $list, $row );
-
-               $this->revision = Revision::newFromArchiveRow( $row,
-                       [ 'page' => $this->list->title->getArticleID() ] );
-       }
-
        public function getIdField() {
                return 'ar_rev_id';
        }
index 0ca84d7..c7941b7 100644 (file)
@@ -30,7 +30,18 @@ class RevDelFileItem extends RevDelItem {
 
        public function __construct( $list, $row ) {
                parent::__construct( $list, $row );
-               $this->file = RepoGroup::singleton()->getLocalRepo()->newFileFromRow( $row );
+               $this->file = static::initFile( $list, $row );
+       }
+
+       /**
+        * Create file object from $row sourced from $list
+        *
+        * @param RevDelFileList $list
+        * @param mixed $row
+        * @return mixed
+        */
+       protected static function initFile( $list, $row ) {
+               return RepoGroup::singleton()->getLocalRepo()->newFileFromRow( $row );
        }
 
        public function getIdField() {
index 7b5d130..2cfa2ab 100644 (file)
@@ -28,7 +28,18 @@ class RevDelRevisionItem extends RevDelItem {
 
        public function __construct( $list, $row ) {
                parent::__construct( $list, $row );
-               $this->revision = new Revision( $row );
+               $this->revision = static::initRevision( $list, $row );
+       }
+
+       /**
+        * Create revision object from $row sourced from $list
+        *
+        * @param RevisionListBase $list
+        * @param mixed $row
+        * @return Revision
+        */
+       protected static function initRevision( $list, $row ) {
+               return new Revision( $row );
        }
 
        public function getIdField() {
index f76b1e3..585ebb9 100644 (file)
@@ -346,8 +346,6 @@ return [
                "PhanUndeclaredMethod",
                // approximate error count: 1224
                "PhanUndeclaredProperty",
-               // approximate error count: 3
-               "PhanUndeclaredStaticMethod",
                // approximate error count: 58
                "PhanUndeclaredVariableDim",
        ],