Index: lib/pb_list.dart |
diff --git a/lib/pb_list.dart b/lib/pb_list.dart |
index 9b23e48c0d09742b286876c15494b218ae02ef62..943a16c0cb7da17b71197cb1db47798904c53dfd 100644 |
--- a/lib/pb_list.dart |
+++ b/lib/pb_list.dart |
@@ -13,7 +13,18 @@ class PbList<E> extends Object with ListMixin<E> implements List<E> { |
bool operator ==(other) => |
(other is PbList) && _areListsEqual(other, this); |
- int get hashCode => _wrappedList.hashCode; |
+ int get hashCode { |
+ int hash = 0; |
+ _wrappedList.forEach((value) { |
+ hash = (hash + value.hashCode) & 0x3fffffff; |
+ hash = (hash + hash << 10) & 0x3fffffff; |
+ hash = (hash ^ hash >> 6) & 0x3fffffff; |
+ }); |
+ hash = (hash + hash << 3) & 0x3fffffff; |
+ hash = (hash ^ hash >> 11) & 0x3fffffff; |
+ hash = (hash + hash << 15) & 0x3fffffff; |
+ return hash; |
+ } |
/** |
* Returns an [Iterator] for the list. |