Skip to content

Commit c05df4c

Browse files
Merge pull request #832 from wmde/retire-interfaces
Retire interfaces
2 parents 94a38d4 + 3666e04 commit c05df4c

9 files changed

Lines changed: 8 additions & 31 deletions

File tree

RELEASE-NOTES.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
please update your code:
1010
for instance, change `->addNewReference( [ $x, $y ] )` to `->addNewReference( $x, $y )`,
1111
and `->addNewReference( $snaks )` to `->addNewReference( ...$snaks )`.
12+
* `Statement`, `Reference`, `SnakList` and `Snak` no longer implement the `Hashable` and `Immutable` interfaces from `DataValues/DataValues`.
1213

1314
## Version 9.5.1 (2020-06-03)
1415

src/Internal/MapValueHasher.php

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
namespace Wikibase\DataModel\Internal;
44

5-
use Hashable;
65
use InvalidArgumentException;
76
use Traversable;
87

@@ -27,7 +26,7 @@ public function __construct( $holdOrderIntoAccount = false ) {
2726
*
2827
* @since 0.1
2928
*
30-
* @param Traversable|Hashable[] $map
29+
* @param Traversable $map
3130
*
3231
* @return string
3332
* @throws InvalidArgumentException
@@ -39,9 +38,6 @@ public function hash( $map ) {
3938

4039
$hashes = [];
4140

42-
/**
43-
* @var Hashable $hashable
44-
*/
4541
foreach ( $map as $hashable ) {
4642
$hashes[] = $hashable->getHash();
4743
}

src/Reference.php

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44

55
use Comparable;
66
use Countable;
7-
use Hashable;
8-
use Immutable;
97
use InvalidArgumentException;
108
use Wikibase\DataModel\Snak\Snak;
119
use Wikibase\DataModel\Snak\SnakList;
@@ -19,7 +17,7 @@
1917
* @license GPL-2.0-or-later
2018
* @author Jeroen De Dauw < jeroendedauw@gmail.com >
2119
*/
22-
class Reference implements Hashable, Comparable, Immutable, Countable {
20+
class Reference implements Comparable, Countable {
2321

2422
/**
2523
* @var SnakList
@@ -77,8 +75,6 @@ public function isEmpty() {
7775
}
7876

7977
/**
80-
* @see Hashable::getHash
81-
*
8278
* @since 0.1
8379
*
8480
* @return string

src/Snak/Snak.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
namespace Wikibase\DataModel\Snak;
44

55
use Comparable;
6-
use Hashable;
7-
use Immutable;
86
use Serializable;
97
use Wikibase\DataModel\PropertyIdProvider;
108

@@ -17,7 +15,7 @@
1715
* @license GPL-2.0-or-later
1816
* @author Jeroen De Dauw < jeroendedauw@gmail.com >
1917
*/
20-
interface Snak extends Serializable, Hashable, Immutable, Comparable, PropertyIdProvider {
18+
interface Snak extends Serializable, Comparable, PropertyIdProvider {
2119

2220
/**
2321
* Returns a string that can be used to identify the type of snak.

src/Snak/SnakList.php

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
use ArrayObject;
66
use Comparable;
7-
use Hashable;
87
use InvalidArgumentException;
98
use Traversable;
109
use Wikibase\DataModel\Internal\MapValueHasher;
@@ -19,7 +18,7 @@
1918
* @author Jeroen De Dauw < jeroendedauw@gmail.com >
2019
* @author Addshore
2120
*/
22-
class SnakList extends ArrayObject implements Comparable, Hashable {
21+
class SnakList extends ArrayObject implements Comparable {
2322

2423
/**
2524
* Maps snak hashes to their offsets.
@@ -144,8 +143,6 @@ public function equals( $target ) {
144143
}
145144

146145
/**
147-
* @see Hashable::getHash
148-
*
149146
* The hash is purely value based. Order of the elements in the array is not held into account.
150147
*
151148
* @since 0.1
@@ -212,7 +209,7 @@ private function getNewOffset() {
212209
public function offsetUnset( $index ) {
213210
if ( $this->offsetExists( $index ) ) {
214211
/**
215-
* @var Hashable $element
212+
* @var Snak $element
216213
*/
217214
$element = $this->offsetGet( $index );
218215
$hash = $element->getHash();

src/Snak/SnakObject.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,6 @@ public function getPropertyId() {
6767
}
6868

6969
/**
70-
* @see Hashable::getHash
71-
*
7270
* @return string
7371
*/
7472
public function getHash() {

src/Statement/Statement.php

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
namespace Wikibase\DataModel\Statement;
44

55
use Comparable;
6-
use Hashable;
76
use InvalidArgumentException;
87
use Wikibase\DataModel\Entity\PropertyId;
98
use Wikibase\DataModel\PropertyIdProvider;
@@ -22,7 +21,7 @@
2221
* @author Jeroen De Dauw < jeroendedauw@gmail.com >
2322
* @author Bene* < benestar.wikimedia@gmail.com >
2423
*/
25-
class Statement implements Hashable, Comparable, PropertyIdProvider {
24+
class Statement implements Comparable, PropertyIdProvider {
2625

2726
/**
2827
* Rank enum. Higher values are more preferred.
@@ -218,8 +217,6 @@ public function getRank() {
218217
}
219218

220219
/**
221-
* @see Hashable::getHash
222-
*
223220
* @since 0.1
224221
*
225222
* @return string

tests/unit/ReferenceListTest.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
namespace Wikibase\DataModel\Tests;
44

5-
use Hashable;
65
use InvalidArgumentException;
76
use Traversable;
87
use Wikibase\DataModel\Entity\PropertyId;
@@ -369,7 +368,7 @@ public function testHasReferenceHash( ReferenceList $references ) {
369368
$this->assertFalse( $references->hasReferenceHash( '~=[,,_,,]:3' ) );
370369

371370
/**
372-
* @var Hashable $reference
371+
* @var Reference $reference
373372
*/
374373
foreach ( $references as $reference ) {
375374
$this->assertTrue( $references->hasReferenceHash( $reference->getHash() ) );

tests/unit/Snak/SnakListTest.php

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
use Comparable;
66
use DataValues\StringValue;
7-
use Hashable;
87
use InvalidArgumentException;
98
use Wikibase\DataModel\Entity\PropertyId;
109
use Wikibase\DataModel\Snak\PropertyNoValueSnak;
@@ -347,10 +346,6 @@ public function equalsProvider() {
347346
];
348347
}
349348

350-
public function testHashableInterface() {
351-
$this->assertInstanceOf( Hashable::class, new SnakList() );
352-
}
353-
354349
public function testGetHash() {
355350
$snakList = new SnakList( [ new PropertyNoValueSnak( 1 ) ] );
356351
$hash = $snakList->getHash();

0 commit comments

Comments
 (0)