Index: pkg/analyzer/lib/src/dart/element/element.dart |
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart |
index 2379185a61a6ce8e5960b94b2c6268af82f45187..cc8211f2d89c4dd2a1dc0e203de9793d9ea6fef1 100644 |
--- a/pkg/analyzer/lib/src/dart/element/element.dart |
+++ b/pkg/analyzer/lib/src/dart/element/element.dart |
@@ -1154,13 +1154,16 @@ class ClassElementImpl extends AbstractClassElementImpl |
if (supertype != null) { |
typesToVisit.add(supertype); |
} |
- for (InterfaceType type in currentElement.interfaces) { |
+ for (InterfaceType type in currentType.interfaces) { |
Jennifer Messerly
2017/08/17 21:57:29
oh wow, nice catch!
|
typesToVisit.add(type); |
} |
- for (InterfaceType type in currentElement.mixins) { |
+ for (InterfaceType type in currentType.mixins) { |
ClassElement element = type.element; |
if (!visitedClasses.contains(element)) { |
supertypes.add(type); |
+ for (InterfaceType type in type.interfaces) { |
Jennifer Messerly
2017/08/17 21:57:29
there's also the weird case where a mixin's mixin
Brian Wilkerson
2017/08/17 22:49:25
Is it still the case that classes used as mixins c
Jennifer Messerly
2017/08/17 23:14:39
oh yeah, good call! yeah with super mixins, the su
|
+ typesToVisit.add(type); |
+ } |
} |
} |
} |