Thiemo Mättig (WMDE) has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/261372

Change subject: Replace Iterator with Traversable in method parameters
......................................................................

Replace Iterator with Traversable in method parameters

This is split from I5a2e356. This patch focuses exclusively on @param
tags and does not touch any @return tag.

For all methods that are private I narrowed the interface as much as
possible. In most cases the object passed in is a ResultWrapper object,
but never an array. But neither this nor Iterator are the relevant
interfaces for methods that do nothing but iterating via foreach. The
only relevant interface for this is Traversable.

Change-Id: I15f16da3cedac9b0d9ea7b83cde1914d2ef60d0d
---
M client/includes/Changes/AffectedPagesFinder.php
M client/includes/Usage/Sql/EntityUsageTable.php
M client/tests/phpunit/includes/Changes/AffectedPagesFinderTest.php
M lib/includes/store/sql/TermSqlIndex.php
4 files changed, 16 insertions(+), 12 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/72/261372/1

diff --git a/client/includes/Changes/AffectedPagesFinder.php 
b/client/includes/Changes/AffectedPagesFinder.php
index a6d9aa7..145f82c 100644
--- a/client/includes/Changes/AffectedPagesFinder.php
+++ b/client/includes/Changes/AffectedPagesFinder.php
@@ -11,6 +11,7 @@
 use InvalidArgumentException;
 use Iterator;
 use Title;
+use Traversable;
 use UnexpectedValueException;
 use Wikibase\Change;
 use Wikibase\Client\Store\TitleFactory;
@@ -276,11 +277,11 @@
         * Filters updates based on namespace. This removes duplicates, 
non-existing pages, and pages from
         * namespaces that are not considered "enabled" by the namespace 
checker.
         *
-        * @param PageEntityUsages[]|Iterator $usages An array or iterator of 
PageEntityUsages.
+        * @param Traversable $usages A traversable of PageEntityUsages.
         *
         * @return Iterator of PageEntityUsages
         */
-       private function filterUpdates( $usages ) {
+       private function filterUpdates( Traversable $usages ) {
                $titlesToUpdate = array();
 
                /** @var PageEntityUsages $pageEntityUsages */
diff --git a/client/includes/Usage/Sql/EntityUsageTable.php 
b/client/includes/Usage/Sql/EntityUsageTable.php
index 4304c95..56c19d4 100644
--- a/client/includes/Usage/Sql/EntityUsageTable.php
+++ b/client/includes/Usage/Sql/EntityUsageTable.php
@@ -8,6 +8,7 @@
 use InvalidArgumentException;
 use Iterator;
 use MWException;
+use Traversable;
 use Wikibase\Client\Usage\EntityUsage;
 use Wikibase\Client\Usage\PageEntityUsages;
 use Wikibase\DataModel\Entity\EntityId;
@@ -271,11 +272,11 @@
        }
 
        /**
-        * @param array|Iterator $rows
+        * @param Traversable $rows
         *
         * @return EntityUsage[]
         */
-       private function convertRowsToUsages( $rows ) {
+       private function convertRowsToUsages( Traversable $rows ) {
                $usages = array();
 
                foreach ( $rows as $object ) {
@@ -375,11 +376,11 @@
        }
 
        /**
-        * @param array|Iterator $rows
+        * @param Traversable $rows
         *
         * @return PageEntityUsages[]
         */
-       private function foldRowsIntoPageEntityUsages( $rows ) {
+       private function foldRowsIntoPageEntityUsages( Traversable $rows ) {
                $usagesPerPage = array();
 
                foreach ( $rows as $row ) {
diff --git a/client/tests/phpunit/includes/Changes/AffectedPagesFinderTest.php 
b/client/tests/phpunit/includes/Changes/AffectedPagesFinderTest.php
index f86dce8..12fc164 100644
--- a/client/tests/phpunit/includes/Changes/AffectedPagesFinderTest.php
+++ b/client/tests/phpunit/includes/Changes/AffectedPagesFinderTest.php
@@ -5,8 +5,8 @@
 use ArrayIterator;
 use DataValues\DataValue;
 use DataValues\StringValue;
-use Iterator;
 use Title;
+use Traversable;
 use Wikibase\Client\Changes\AffectedPagesFinder;
 use Wikibase\Client\Store\TitleFactory;
 use Wikibase\Client\Usage\EntityUsage;
@@ -559,7 +559,8 @@
        }
 
        /**
-        * @param PageEntityUsages[]|Iterator $usagesPerPage An array or 
iterator of PageEntityUsages.
+        * @param PageEntityUsages[]|Traversable $usagesPerPage An array or 
traversable of
+        *  PageEntityUsages.
         *
         * @return PageEntityUsages[]
         */
diff --git a/lib/includes/store/sql/TermSqlIndex.php 
b/lib/includes/store/sql/TermSqlIndex.php
index a3a0ade..a50caec 100644
--- a/lib/includes/store/sql/TermSqlIndex.php
+++ b/lib/includes/store/sql/TermSqlIndex.php
@@ -7,6 +7,7 @@
 use InvalidArgumentException;
 use Iterator;
 use MWException;
+use Traversable;
 use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\DataModel\Entity\EntityId;
 use Wikibase\DataModel\Entity\Item;
@@ -591,12 +592,12 @@
        }
 
        /**
-        * @param Iterator $rows
+        * @param Traversable $rows
         * @param int $limit
         *
         * @return Iterator
         */
-       private function getRowsOrderedByWeight( Iterator $rows, $limit = 0 ) {
+       private function getRowsOrderedByWeight( Traversable $rows, $limit = 0 
) {
                $sortData = array();
                $rowMap = array();
 
@@ -732,11 +733,11 @@
         * Modifies the provided terms to use the field names expected by the 
interface
         * rather then the table field names. Also ensures the values are of 
the correct type.
         *
-        * @param array[]|Iterator $obtainedTerms
+        * @param Traversable $obtainedTerms
         *
         * @return TermIndexEntry[]
         */
-       private function buildTermResult( $obtainedTerms ) {
+       private function buildTermResult( Traversable $obtainedTerms ) {
                $matchingTerms = array();
 
                foreach ( $obtainedTerms as $obtainedTerm ) {

-- 
To view, visit https://gerrit.wikimedia.org/r/261372
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I15f16da3cedac9b0d9ea7b83cde1914d2ef60d0d
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Thiemo Mättig (WMDE) <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to