Index: pkg/compiler/lib/src/common_elements.dart |
diff --git a/pkg/compiler/lib/src/common_elements.dart b/pkg/compiler/lib/src/common_elements.dart |
index 136c482c05b05590ed0dfd6b0743257c59c26258..29a1a004e159508e5e0720b5a5f35944eb140f1e 100644 |
--- a/pkg/compiler/lib/src/common_elements.dart |
+++ b/pkg/compiler/lib/src/common_elements.dart |
@@ -252,16 +252,18 @@ abstract class ElementEnvironment { |
/// Returns the declared superclass of [cls]. |
/// |
- /// Unnamed mixin applications are skipped, for instance for these classes |
+ /// Unnamed mixin applications are included, for instance for these classes |
/// |
/// class S {} |
/// class M {} |
/// class C extends S with M {} |
/// |
- /// the result of `getSuperClass(C)` is `S` and not the unnamed mixin |
- /// application typically named `S+M`. |
+ /// the result of `getSuperClass(C)` is the unnamed mixin application |
+ /// typically named `S+M` and `getSuperClass(S+M)` is `S`. |
ClassEntity getSuperClass(ClassEntity cls); |
+ void forEachSupertype(ClassEntity cls, void f(InterfaceType supertype)); |
+ |
/// Calls [f] for each class that is mixed into [cls] or one of its |
/// superclasses. |
void forEachMixin(ClassEntity cls, void f(ClassEntity mixin)); |