Index: pkg/kernel/lib/class_hierarchy.dart |
diff --git a/pkg/kernel/lib/class_hierarchy.dart b/pkg/kernel/lib/class_hierarchy.dart |
index c5381277567803b6b1814e11d432f96a5d10a6fa..6771cc4560220bc7865d7eaea80b2189e215927f 100644 |
--- a/pkg/kernel/lib/class_hierarchy.dart |
+++ b/pkg/kernel/lib/class_hierarchy.dart |
@@ -232,6 +232,15 @@ class ClassHierarchy { |
} |
} |
+ /// True if the program contains another class that is a subtype of given one. |
+ bool hasProperSubtypes(Class class_) { |
+ var info = _infoFor[class_]; |
+ var subtypes = info.subtypeIntervalList; |
+ return !(subtypes.length == 2 && |
+ subtypes[0] == info.topDownIndex && |
+ subtypes[1] == info.topDownIndex + 1); |
+ } |
+ |
ClassHierarchy._internal(Program program, int numberOfClasses) |
: classes = new List<Class>(numberOfClasses) { |
// Build the class ordering based on a topological sort. |