Index: pkg/analyzer/lib/src/generated/package.dart |
diff --git a/pkg/analyzer/lib/src/generated/package.dart b/pkg/analyzer/lib/src/generated/package.dart |
index b715e3bd13efcd32cbcaa37476f1f1ce224bd3a6..dddce5a037b4d96b0089fb15ec24b04de6a29720 100644 |
--- a/pkg/analyzer/lib/src/generated/package.dart |
+++ b/pkg/analyzer/lib/src/generated/package.dart |
@@ -157,7 +157,10 @@ class PackageDescription { |
@override |
int get hashCode { |
- int hashCode = options.encodeCrossContextOptions(); |
+ int hashCode = 0; |
+ for (int value in options.encodeCrossContextOptions()) { |
+ hashCode = JenkinsSmiHash.combine(hashCode, value); |
+ } |
hashCode = JenkinsSmiHash.combine(hashCode, id.hashCode); |
hashCode = JenkinsSmiHash.combine(hashCode, sdk.hashCode); |
return JenkinsSmiHash.finish(hashCode); |
@@ -167,8 +170,9 @@ class PackageDescription { |
bool operator ==(Object other) { |
return other is PackageDescription && |
other.sdk == sdk && |
- other.options.encodeCrossContextOptions() == |
- options.encodeCrossContextOptions() && |
+ AnalysisOptions.crossContextOptionsEqual( |
+ other.options.encodeCrossContextOptions(), |
+ options.encodeCrossContextOptions()) && |
other.id == id; |
} |
} |