Index: pkg/compiler/lib/src/universe/class_set.dart |
diff --git a/pkg/compiler/lib/src/universe/class_set.dart b/pkg/compiler/lib/src/universe/class_set.dart |
index dd7f0636901c51b4c12300e95600044fe7bc9634..3eaf8cbe0af8f0420e320a777876f78110b583dc 100644 |
--- a/pkg/compiler/lib/src/universe/class_set.dart |
+++ b/pkg/compiler/lib/src/universe/class_set.dart |
@@ -19,7 +19,7 @@ enum Instantiation { |
ABSTRACTLY_INSTANTIATED, |
} |
-/// Node for [cls] in a tree forming the subclass relation of [ClassElement]s. |
+/// Node for [cls] in a tree forming the subclass relation of [ClassEntity]s. |
/// |
/// This is used by the [ClosedWorld] to perform queries on subclass and subtype |
/// relations. |
@@ -101,7 +101,7 @@ class ClassHierarchyNode { |
final int hierarchyDepth; |
- ClassElement _leastUpperInstantiatedSubclass; |
+ ClassEntity _leastUpperInstantiatedSubclass; |
int _instantiatedSubclassCount = 0; |
/// `true` if [cls] has been directly instantiated. |
@@ -237,7 +237,7 @@ class ClassHierarchyNode { |
/// Subclasses are included if their instantiation properties intersect with |
/// their corresponding [Instantiation] values in [mask]. If [strict] is |
/// `true`, [cls] itself is _not_ returned. |
- Iterable<ClassElement> subclassesByMask(EnumSet<Instantiation> mask, |
+ Iterable<ClassEntity> subclassesByMask(EnumSet<Instantiation> mask, |
{bool strict: false}) { |
return new ClassHierarchyNodeIterable(this, mask, includeRoot: !strict); |
} |
@@ -249,10 +249,9 @@ class ClassHierarchyNode { |
/// [predicate] is applied to subclasses if their instantiation properties |
/// intersect with their corresponding [Instantiation] values in [mask]. If |
/// [strict] is `true`, [predicate] is _not_ called on [cls] itself. |
- bool anySubclass( |
- bool predicate(ClassElement cls), EnumSet<Instantiation> mask, |
+ bool anySubclass(bool predicate(ClassEntity cls), EnumSet<Instantiation> mask, |
{bool strict: false}) { |
- IterationStep wrapper(ClassElement cls) { |
+ IterationStep wrapper(ClassEntity cls) { |
return predicate(cls) ? IterationStep.STOP : IterationStep.CONTINUE; |
} |
@@ -301,7 +300,7 @@ class ClassHierarchyNode { |
/// Returns the most specific subclass of [cls] (including [cls]) that is |
/// directly instantiated or a superclass of all directly instantiated |
/// subclasses. If [cls] is not instantiated, `null` is returned. |
- ClassElement getLubOfInstantiatedSubclasses() { |
+ ClassEntity getLubOfInstantiatedSubclasses() { |
if (!isInstantiated) return null; |
if (_leastUpperInstantiatedSubclass == null) { |
_leastUpperInstantiatedSubclass = |
@@ -310,7 +309,7 @@ class ClassHierarchyNode { |
return _leastUpperInstantiatedSubclass; |
} |
- ClassElement _computeLeastUpperInstantiatedSubclass() { |
+ ClassEntity _computeLeastUpperInstantiatedSubclass() { |
if (isExplicitlyInstantiated) { |
return cls; |
} |
@@ -412,7 +411,7 @@ class ClassHierarchyNode { |
} |
/// Object holding the subclass and subtype relation for a single |
-/// [ClassElement]. |
+/// [ClassEntity]. |
/// |
/// The subclass relation for a class `C` is modelled through a reference to |
/// the [ClassHierarchyNode] for `C` in the global [ClassHierarchyNode] tree |
@@ -457,7 +456,7 @@ class ClassHierarchyNode { |
/// |
class ClassSet { |
final ClassHierarchyNode node; |
- ClassElement _leastUpperInstantiatedSubtype; |
+ ClassEntity _leastUpperInstantiatedSubtype; |
/// A list of the class hierarchy nodes for the subtypes that declare a |
/// subtype relationship to [cls] either directly or indirectly. |
@@ -479,7 +478,7 @@ class ClassSet { |
ClassSet(this.node); |
- ClassElement get cls => node.cls; |
+ ClassEntity get cls => node.cls; |
/// Returns the number of directly instantiated subtypes of [cls]. |
int get instantiatedSubtypeCount { |
@@ -517,7 +516,7 @@ class ClassSet { |
/// Subclasses are included if their instantiation properties intersect with |
/// their corresponding [Instantiation] values in [mask]. If [strict] is |
/// `true`, [cls] itself is _not_ returned. |
- Iterable<ClassElement> subclassesByMask(EnumSet<Instantiation> mask, |
+ Iterable<ClassEntity> subclassesByMask(EnumSet<Instantiation> mask, |
{bool strict: false}) { |
return node.subclassesByMask(mask, strict: strict); |
} |
@@ -528,7 +527,7 @@ class ClassSet { |
/// subtypes of [cls] are returned if [includeDirectlyInstantiated], |
/// [includeIndirectlyInstantiated], and [includeUninstantiated] are `true`, |
/// respectively. If [strict] is `true`, [cls] itself is _not_ returned. |
- Iterable<ClassElement> subtypes( |
+ Iterable<ClassEntity> subtypes( |
{bool includeDirectlyInstantiated: true, |
bool includeIndirectlyInstantiated: true, |
bool includeUninstantiated: true, |
@@ -545,7 +544,7 @@ class ClassSet { |
/// Subtypes are included if their instantiation properties intersect with |
/// their corresponding [Instantiation] values in [mask]. If [strict] is |
/// `true`, [cls] itself is _not_ returned. |
- Iterable<ClassElement> subtypesByMask(EnumSet<Instantiation> mask, |
+ Iterable<ClassEntity> subtypesByMask(EnumSet<Instantiation> mask, |
{bool strict: false}) { |
if (_subtypes == null) { |
return node.subclassesByMask(mask, strict: strict); |
@@ -562,8 +561,7 @@ class ClassSet { |
/// [predicate] is applied to subclasses if their instantiation properties |
/// intersect with their corresponding [Instantiation] values in [mask]. If |
/// [strict] is `true`, [predicate] is _not_ called on [cls] itself. |
- bool anySubclass( |
- bool predicate(ClassElement cls), EnumSet<Instantiation> mask, |
+ bool anySubclass(bool predicate(ClassEntity cls), EnumSet<Instantiation> mask, |
{bool strict: false}) { |
return node.anySubclass(predicate, mask, strict: strict); |
} |
@@ -594,9 +592,9 @@ class ClassSet { |
/// [predicate] is applied to subtypes if their instantiation properties |
/// intersect with their corresponding [Instantiation] values in [mask]. If |
/// [strict] is `true`, [predicate] is _not_ called on [cls] itself. |
- bool anySubtype(bool predicate(ClassElement cls), EnumSet<Instantiation> mask, |
+ bool anySubtype(bool predicate(ClassEntity cls), EnumSet<Instantiation> mask, |
{bool strict: false}) { |
- IterationStep wrapper(ClassElement cls) { |
+ IterationStep wrapper(ClassEntity cls) { |
return predicate(cls) ? IterationStep.STOP : IterationStep.CONTINUE; |
} |
@@ -686,14 +684,14 @@ class ClassSet { |
/// Returns the most specific subtype of [cls] (including [cls]) that is |
/// directly instantiated or a superclass of all directly instantiated |
/// subtypes. If no subtypes of [cls] are instantiated, `null` is returned. |
- ClassElement getLubOfInstantiatedSubtypes() { |
+ ClassEntity getLubOfInstantiatedSubtypes() { |
if (_leastUpperInstantiatedSubtype == null) { |
_leastUpperInstantiatedSubtype = _computeLeastUpperInstantiatedSubtype(); |
} |
return _leastUpperInstantiatedSubtype; |
} |
- ClassElement _computeLeastUpperInstantiatedSubtype() { |
+ ClassEntity _computeLeastUpperInstantiatedSubtype() { |
if (node.isExplicitlyInstantiated) { |
return cls; |
} |
@@ -736,7 +734,7 @@ class ClassSet { |
} |
/// Iterable for subclasses of a [ClassHierarchyNode]. |
-class ClassHierarchyNodeIterable extends IterableBase<ClassElement> { |
+class ClassHierarchyNodeIterable extends IterableBase<ClassEntity> { |
final ClassHierarchyNode root; |
final EnumSet<Instantiation> mask; |
final bool includeRoot; |
@@ -746,7 +744,7 @@ class ClassHierarchyNodeIterable extends IterableBase<ClassElement> { |
} |
@override |
- Iterator<ClassElement> get iterator { |
+ Iterator<ClassEntity> get iterator { |
return new ClassHierarchyNodeIterator(this); |
} |
} |
@@ -754,7 +752,7 @@ class ClassHierarchyNodeIterable extends IterableBase<ClassElement> { |
/// Iterator for subclasses of a [ClassHierarchyNode]. |
/// |
/// Classes are returned in pre-order DFS fashion. |
-class ClassHierarchyNodeIterator implements Iterator<ClassElement> { |
+class ClassHierarchyNodeIterator implements Iterator<ClassEntity> { |
final ClassHierarchyNodeIterable iterable; |
/// The class node holding the [current] class. |
@@ -781,7 +779,7 @@ class ClassHierarchyNodeIterator implements Iterator<ClassElement> { |
} |
@override |
- ClassElement get current { |
+ ClassEntity get current { |
return currentNode != null ? currentNode.cls : null; |
} |
@@ -833,7 +831,7 @@ class ClassHierarchyNodeIterator implements Iterator<ClassElement> { |
} |
/// Iterable for the subtypes in a [ClassSet]. |
-class SubtypesIterable extends IterableBase<ClassElement> { |
+class SubtypesIterable extends IterableBase<ClassEntity> { |
final ClassSet subtypeSet; |
final EnumSet<Instantiation> mask; |
final bool includeRoot; |
@@ -842,13 +840,13 @@ class SubtypesIterable extends IterableBase<ClassElement> { |
{this.includeRoot: true}); |
@override |
- Iterator<ClassElement> get iterator => new SubtypesIterator(this); |
+ Iterator<ClassEntity> get iterator => new SubtypesIterator(this); |
} |
/// Iterator for the subtypes in a [ClassSet]. |
-class SubtypesIterator extends Iterator<ClassElement> { |
+class SubtypesIterator extends Iterator<ClassEntity> { |
final SubtypesIterable iterable; |
- Iterator<ClassElement> elements; |
+ Iterator<ClassEntity> elements; |
Iterator<ClassHierarchyNode> hierarchyNodes; |
SubtypesIterator(this.iterable); |
@@ -858,7 +856,7 @@ class SubtypesIterator extends Iterator<ClassElement> { |
EnumSet<Instantiation> get mask => iterable.mask; |
@override |
- ClassElement get current { |
+ ClassEntity get current { |
if (elements != null) { |
return elements.current; |
} |
@@ -907,4 +905,4 @@ enum IterationStep { |
/// Visiting function used for the `forEachX` functions of [ClassHierarchyNode] |
/// and [ClassSet]. The return value controls the continued iteration. If `null` |
/// is returned, iteration continues to the end. |
-typedef IterationStep ForEachFunction(ClassElement cls); |
+typedef IterationStep ForEachFunction(ClassEntity cls); |