Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1752)

Unified Diff: pkg/compiler/lib/src/world.dart

Issue 1224753002: Remove ClassWorld.subclassesOf and ClassWorld.subtypesOf. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/compiler/lib/src/universe/function_set.dart ('k') | tests/compiler/dart2js/world_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/compiler/lib/src/world.dart
diff --git a/pkg/compiler/lib/src/world.dart b/pkg/compiler/lib/src/world.dart
index 21dc96e25de66de1104ce55edcad97390ff0ca2f..b4d78dd860c647d5ae058451f3deb9e5b93a5f38 100644
--- a/pkg/compiler/lib/src/world.dart
+++ b/pkg/compiler/lib/src/world.dart
@@ -46,31 +46,17 @@ abstract class ClassWorld {
/// instance of [y].
bool isSubtypeOf(ClassElement x, ClassElement y);
- /// Returns an iterable over the live classes that extend [cls] including
- /// [cls] itself.
- Iterable<ClassElement> subclassesOf(ClassElement cls);
-
/// Returns an iterable over the live classes that extend [cls] _not_
/// including [cls] itself.
Iterable<ClassElement> strictSubclassesOf(ClassElement cls);
- /// Returns an iterable over the live classes that implement [cls] including
- /// [cls] if it is live.
- Iterable<ClassElement> subtypesOf(ClassElement cls);
-
/// Returns an iterable over the live classes that implement [cls] _not_
/// including [cls] if it is live.
Iterable<ClassElement> strictSubtypesOf(ClassElement cls);
- /// Returns `true` if any live class extends [cls].
- bool hasAnySubclass(ClassElement cls);
-
/// Returns `true` if any live class other than [cls] extends [cls].
bool hasAnyStrictSubclass(ClassElement cls);
- /// Returns `true` if any live class implements [cls].
- bool hasAnySubtype(ClassElement cls);
-
/// Returns `true` if any live class other than [cls] implements [cls].
bool hasAnyStrictSubtype(ClassElement cls);
@@ -159,9 +145,9 @@ class World implements ClassWorld {
return compiler.resolverWorld.isInstantiated(cls);
}
- /// Returns an iterable over the live classes that extend [cls] including
- /// [cls] itself.
- Iterable<ClassElement> subclassesOf(ClassElement cls) {
+ /// Returns an iterable over the live classes that extend [cls] _not_
+ /// including [cls] itself.
+ Iterable<ClassElement> strictSubclassesOf(ClassElement cls) {
Set<ClassElement> subclasses = _subclasses[cls.declaration];
if (subclasses == null) return const <ClassElement>[];
assert(invariant(cls, isInstantiated(cls.declaration),
@@ -169,28 +155,11 @@ class World implements ClassWorld {
return subclasses;
}
- /// Returns an iterable over the live classes that extend [cls] _not_
- /// including [cls] itself.
- Iterable<ClassElement> strictSubclassesOf(ClassElement cls) {
- return subclassesOf(cls).where((c) => c != cls);
- }
-
- /// Returns an iterable over the live classes that implement [cls] including
- /// [cls] if it is live.
- Iterable<ClassElement> subtypesOf(ClassElement cls) {
- Set<ClassElement> subtypes = _subtypes[cls.declaration];
- return subtypes != null ? subtypes : const <ClassElement>[];
- }
-
/// Returns an iterable over the live classes that implement [cls] _not_
/// including [cls] if it is live.
Iterable<ClassElement> strictSubtypesOf(ClassElement cls) {
- return subtypesOf(cls).where((c) => c != cls);
- }
-
- /// Returns `true` if any live class extends [cls].
- bool hasAnySubclass(ClassElement cls) {
- return !subclassesOf(cls).isEmpty;
+ Set<ClassElement> subtypes = _subtypes[cls.declaration];
+ return subtypes != null ? subtypes : const <ClassElement>[];
}
/// Returns `true` if any live class other than [cls] extends [cls].
@@ -198,11 +167,6 @@ class World implements ClassWorld {
return !strictSubclassesOf(cls).isEmpty;
}
- /// Returns `true` if any live class implements [cls].
- bool hasAnySubtype(ClassElement cls) {
- return !subtypesOf(cls).isEmpty;
- }
-
/// Returns `true` if any live class other than [cls] implements [cls].
bool hasAnyStrictSubtype(ClassElement cls) {
return !strictSubtypesOf(cls).isEmpty;
@@ -210,9 +174,9 @@ class World implements ClassWorld {
/// Returns `true` if all live classes that implement [cls] extend it.
bool hasOnlySubclasses(ClassElement cls) {
- Iterable<ClassElement> subtypes = subtypesOf(cls);
+ Iterable<ClassElement> subtypes = strictSubtypesOf(cls);
if (subtypes == null) return true;
- Iterable<ClassElement> subclasses = subclassesOf(cls);
+ Iterable<ClassElement> subclasses = strictSubclassesOf(cls);
return subclasses != null && (subclasses.length == subtypes.length);
}
« no previous file with comments | « pkg/compiler/lib/src/universe/function_set.dart ('k') | tests/compiler/dart2js/world_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698