Chromium Code Reviews| Index: pkg/analyzer/lib/src/generated/element.dart |
| diff --git a/pkg/analyzer/lib/src/generated/element.dart b/pkg/analyzer/lib/src/generated/element.dart |
| index 8863d044ae82e70dd7769b4385eafd00a11473c5..a7d8bf36f574b1bf226a6c6dc74941076755f9f9 100644 |
| --- a/pkg/analyzer/lib/src/generated/element.dart |
| +++ b/pkg/analyzer/lib/src/generated/element.dart |
| @@ -6338,8 +6338,12 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { |
| List<TypeParameterElement> get typeParameters => element.typeParameters; |
| @override |
| - bool operator ==(Object object) => |
| - internalEquals(object, new HashSet<ElementPair>()); |
| + bool operator ==(Object object) { |
| + if (identical(object, this)) { |
|
Brian Wilkerson
2015/03/03 14:53:49
I'm not sure why this logic needs to be duplicated
scheglov
2015/03/03 15:02:17
Here we have a chance to check quickly without cre
|
| + return true; |
| + } |
| + return internalEquals(object, new HashSet<ElementPair>()); |
| + } |
| @override |
| void appendTo(StringBuffer buffer, Set<DartType> visitedTypes) { |
| @@ -6432,6 +6436,9 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { |
| @override |
| bool internalEquals(Object object, Set<ElementPair> visitedElementPairs) { |
| + if (identical(object, this)) { |
| + return true; |
| + } |
| if (object is! InterfaceTypeImpl) { |
| return false; |
| } |