Index: pkg/compiler/lib/src/util/util.dart |
diff --git a/pkg/compiler/lib/src/util/util.dart b/pkg/compiler/lib/src/util/util.dart |
index 102ca9e1a021d5f80383ecd92d206943c61f5c5d..d9cc16c4c2e82df1f2c2d27398da36f3c6111c51 100644 |
--- a/pkg/compiler/lib/src/util/util.dart |
+++ b/pkg/compiler/lib/src/util/util.dart |
@@ -52,6 +52,16 @@ class Hashing { |
return h; |
} |
+ /// Mix the bits of the hash codes of the unordered key/value from [map] with |
+ /// [existing]. |
+ static int unorderedMapHash(Map map, [int existing = 0]) { |
+ int h = 0; |
+ for (var key in map.keys) { |
+ h ^= objectHash(key, objectHash(map[key])); |
+ } |
+ return mixHashCodeBits(h, existing); |
+ } |
+ |
/// Mix the bits of the key/value hash codes from [map] with [existing]. |
static int mapHash(Map map, [int existing = 0]) { |
int h = existing; |