Index: pkg/analyzer/lib/src/generated/resolver.dart |
diff --git a/pkg/analyzer/lib/src/generated/resolver.dart b/pkg/analyzer/lib/src/generated/resolver.dart |
index 2a141a60268d7cb81f04cf573c09c602c66f989c..9054cabe99869f5ada4ffebaf905bd9675017c72 100644 |
--- a/pkg/analyzer/lib/src/generated/resolver.dart |
+++ b/pkg/analyzer/lib/src/generated/resolver.dart |
@@ -982,9 +982,17 @@ class BestPracticesVerifier extends RecursiveAstVisitor<Object> { |
// return false; |
// } |
- bool _hasTypeOrSuperType(ClassElement element, InterfaceType type) => |
- element != null && |
- (element.type == type || element.allSupertypes.contains(type)); |
+ bool _hasTypeOrSuperType(ClassElement element, InterfaceType type) { |
+ if (element == null) { |
+ return false; |
+ } |
+ if (element.type == type) { |
Brian Wilkerson
2016/06/06 20:23:00
I don't understand why this wouldn't be "element =
|
+ return true; |
+ } |
+ ClassElement typeElement = type.element; |
+ return element.allSupertypes |
+ .any((InterfaceType t) => t.element == typeElement); |
+ } |
/** |
* Given a parenthesized expression, this returns the parent (or recursively grand-parent) of the |