Index: frog/member.dart |
diff --git a/frog/member.dart b/frog/member.dart |
index 8697f56ecef9a18aa6a8ebd020ddd4392bfd57eb..3f05171ce2c9709bc8c4acaa48db7f3524f802d6 100644 |
--- a/frog/member.dart |
+++ b/frog/member.dart |
@@ -197,7 +197,17 @@ class Member extends Element { |
} |
} |
- int hashCode() => (declaringType.hashCode() << 4) ^ name.hashCode(); |
+ int hashCode() { |
+ final typeCode = declaringType == null ? 1 : declaringType.hashCode(); |
+ final nameCode = isConstructor ? constructorName.hashCode() : name.hashCode(); |
+ return (typeCode << 4) ^ nameCode; |
+ } |
+ |
+ bool operator ==(other) { |
+ return other is Member && isConstructor == other.isConstructor && |
+ declaringType == other.declaringType && (isConstructor ? |
+ constructorName == other.constructorName : name == other.name); |
+ } |
} |