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

Unified Diff: pkg/compiler/lib/src/universe/class_set.dart

Issue 1859343004: dartfmt pkg/compiler (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 8 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/call_structure.dart ('k') | pkg/compiler/lib/src/universe/function_set.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 bed1d6065a78f0d64acf2b4a55f34764648e497c..038d7578ce4743d1257cfb0322adc470937e287b 100644
--- a/pkg/compiler/lib/src/universe/class_set.dart
+++ b/pkg/compiler/lib/src/universe/class_set.dart
@@ -4,14 +4,10 @@
library dart2js.world.class_set;
-import 'dart:collection' show
- IterableBase;
-import '../elements/elements.dart' show
- ClassElement;
-import '../util/enumset.dart' show
- EnumSet;
-import '../util/util.dart' show
- Link;
+import 'dart:collection' show IterableBase;
+import '../elements/elements.dart' show ClassElement;
+import '../util/enumset.dart' show EnumSet;
+import '../util/util.dart' show Link;
/// Enum for the different kinds of instantiation of a class.
enum Instantiation {
@@ -50,11 +46,10 @@ class ClassHierarchyNode {
/// [ClassHierarchyNode.subclassesByMask],
/// [ClassHierarchyNode.subclassesByMask] and [ClassSet.subtypesByMask].
static final EnumSet<Instantiation> INSTANTIATED =
- new EnumSet<Instantiation>.fromValues(
- const <Instantiation>[
- Instantiation.DIRECTLY_INSTANTIATED,
- Instantiation.INDIRECTLY_INSTANTIATED],
- fixed: true);
+ new EnumSet<Instantiation>.fromValues(const <Instantiation>[
+ Instantiation.DIRECTLY_INSTANTIATED,
+ Instantiation.INDIRECTLY_INSTANTIATED
+ ], fixed: true);
/// Enum set for selecting directly instantiated classes in
/// [ClassHierarchyNode.subclassesByMask],
@@ -68,17 +63,15 @@ class ClassHierarchyNode {
/// [ClassHierarchyNode.subclassesByMask],
/// [ClassHierarchyNode.subclassesByMask] and [ClassSet.subtypesByMask].
static final EnumSet<Instantiation> ALL =
- new EnumSet<Instantiation>.fromValues(
- Instantiation.values,
- fixed: true);
+ new EnumSet<Instantiation>.fromValues(Instantiation.values, fixed: true);
/// Creates an enum set for selecting the returned classes in
/// [ClassHierarchyNode.subclassesByMask],
/// [ClassHierarchyNode.subclassesByMask] and [ClassSet.subtypesByMask].
static EnumSet<Instantiation> createMask(
{bool includeDirectlyInstantiated: true,
- bool includeIndirectlyInstantiated: true,
- bool includeUninstantiated: true}) {
+ bool includeIndirectlyInstantiated: true,
+ bool includeUninstantiated: true}) {
EnumSet<Instantiation> mask = new EnumSet<Instantiation>();
if (includeDirectlyInstantiated) {
mask.add(Instantiation.DIRECTLY_INSTANTIATED);
@@ -94,9 +87,8 @@ class ClassHierarchyNode {
final ClassHierarchyNode parentNode;
final ClassElement cls;
- final EnumSet<Instantiation> _mask =
- new EnumSet<Instantiation>.fromValues(
- const <Instantiation>[Instantiation.UNINSTANTIATED]);
+ final EnumSet<Instantiation> _mask = new EnumSet<Instantiation>.fromValues(
+ const <Instantiation>[Instantiation.UNINSTANTIATED]);
ClassElement _leastUpperInstantiatedSubclass;
int _instantiatedSubclassCount = 0;
@@ -203,11 +195,9 @@ 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<ClassElement> subclassesByMask(EnumSet<Instantiation> mask,
{bool strict: false}) {
- return new ClassHierarchyNodeIterable(
- this, mask, includeRoot: !strict);
+ return new ClassHierarchyNodeIterable(this, mask, includeRoot: !strict);
}
/// Applies [predicate] to each subclass of [cls] matching the criteria
@@ -218,10 +208,8 @@ class ClassHierarchyNode {
/// 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 predicate(ClassElement cls), EnumSet<Instantiation> mask,
{bool strict: false}) {
-
IterationStep wrapper(ClassElement cls) {
return predicate(cls) ? IterationStep.STOP : IterationStep.CONTINUE;
}
@@ -242,9 +230,7 @@ class ClassHierarchyNode {
/// continues. The return value of the function is either [ForEach.STOP], if
/// visitation was stopped, or [ForEach.CONTINUE] if visitation continued to
/// the end.
- IterationStep forEachSubclass(
- ForEachFunction f,
- EnumSet<Instantiation> mask,
+ IterationStep forEachSubclass(ForEachFunction f, EnumSet<Instantiation> mask,
{bool strict: false}) {
IterationStep nextStep;
if (!strict && mask.intersects(_mask)) {
@@ -287,8 +273,8 @@ class ClassHierarchyNode {
}
ClassHierarchyNode subclass;
for (Link<ClassHierarchyNode> link = _directSubclasses;
- !link.isEmpty;
- link = link.tail) {
+ !link.isEmpty;
+ link = link.tail) {
if (link.head.isInstantiated) {
if (subclass == null) {
subclass = link.head;
@@ -304,10 +290,9 @@ class ClassHierarchyNode {
}
void printOn(StringBuffer sb, String indentation,
- {bool instantiatedOnly: false,
- bool sorted: true,
- ClassElement withRespectTo}) {
-
+ {bool instantiatedOnly: false,
+ bool sorted: true,
+ ClassElement withRespectTo}) {
bool isRelatedTo(ClassElement subclass) {
return subclass == withRespectTo ||
subclass.implementsInterface(withRespectTo);
@@ -330,9 +315,10 @@ class ClassHierarchyNode {
} else {
var subclasses = _directSubclasses;
if (sorted) {
- subclasses = _directSubclasses.toList()..sort((a, b) {
- return a.cls.name.compareTo(b.cls.name);
- });
+ subclasses = _directSubclasses.toList()
+ ..sort((a, b) {
+ return a.cls.name.compareTo(b.cls.name);
+ });
}
bool needsComma = false;
for (ClassHierarchyNode child in subclasses) {
@@ -348,9 +334,7 @@ class ClassHierarchyNode {
} else {
sb.write('\n');
}
- child.printOn(
- sb,
- '$indentation ',
+ child.printOn(sb, '$indentation ',
instantiatedOnly: instantiatedOnly,
sorted: sorted,
withRespectTo: withRespectTo);
@@ -365,13 +349,13 @@ class ClassHierarchyNode {
}
}
- String dump({String indentation: '',
- bool instantiatedOnly: false,
- ClassElement withRespectTo}) {
+ String dump(
+ {String indentation: '',
+ bool instantiatedOnly: false,
+ ClassElement withRespectTo}) {
StringBuffer sb = new StringBuffer();
printOn(sb, indentation,
- instantiatedOnly: instantiatedOnly,
- withRespectTo: withRespectTo);
+ instantiatedOnly: instantiatedOnly, withRespectTo: withRespectTo);
return sb.toString();
}
@@ -480,8 +464,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<ClassElement> subclassesByMask(EnumSet<Instantiation> mask,
{bool strict: false}) {
return node.subclassesByMask(mask, strict: strict);
}
@@ -494,12 +477,12 @@ class ClassSet {
/// respectively. If [strict] is `true`, [cls] itself is _not_ returned.
Iterable<ClassElement> subtypes(
{bool includeDirectlyInstantiated: true,
- bool includeIndirectlyInstantiated: true,
- bool includeUninstantiated: true,
- bool strict: false}) {
+ bool includeIndirectlyInstantiated: true,
+ bool includeUninstantiated: true,
+ bool strict: false}) {
EnumSet<Instantiation> mask = ClassHierarchyNode.createMask(
includeDirectlyInstantiated: includeDirectlyInstantiated,
- includeIndirectlyInstantiated:includeIndirectlyInstantiated,
+ includeIndirectlyInstantiated: includeIndirectlyInstantiated,
includeUninstantiated: includeUninstantiated);
return subtypesByMask(mask, strict: strict);
}
@@ -509,17 +492,13 @@ 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<ClassElement> subtypesByMask(EnumSet<Instantiation> mask,
{bool strict: false}) {
if (_subtypes == null) {
- return node.subclassesByMask(
- mask,
- strict: strict);
+ return node.subclassesByMask(mask, strict: strict);
}
- return new SubtypesIterable.SubtypesIterator(this,
- mask,
+ return new SubtypesIterable.SubtypesIterator(this, mask,
includeRoot: !strict);
}
@@ -531,8 +510,7 @@ class ClassSet {
/// 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 predicate(ClassElement cls), EnumSet<Instantiation> mask,
{bool strict: false}) {
return node.anySubclass(predicate, mask, strict: strict);
}
@@ -551,9 +529,7 @@ class ClassSet {
/// continues. The return value of the function is either [ForEach.STOP], if
/// visitation was stopped, or [ForEach.CONTINUE] if visitation continued to
/// the end.
- IterationStep forEachSubclass(
- ForEachFunction f,
- EnumSet<Instantiation> mask,
+ IterationStep forEachSubclass(ForEachFunction f, EnumSet<Instantiation> mask,
{bool strict: false}) {
return node.forEachSubclass(f, mask, strict: strict);
}
@@ -565,11 +541,8 @@ 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(ClassElement cls), EnumSet<Instantiation> mask,
{bool strict: false}) {
-
IterationStep wrapper(ClassElement cls) {
return predicate(cls) ? IterationStep.STOP : IterationStep.CONTINUE;
}
@@ -590,9 +563,7 @@ class ClassSet {
/// continues. The return value of the function is either [ForEach.STOP], if
/// visitation was stopped, or [ForEach.CONTINUE] if visitation continued to
/// the end.
- IterationStep forEachSubtype(
- ForEachFunction f,
- EnumSet<Instantiation> mask,
+ IterationStep forEachSubtype(ForEachFunction f, EnumSet<Instantiation> mask,
{bool strict: false}) {
IterationStep nextStep =
node.forEachSubclass(f, mask, strict: strict) ?? IterationStep.CONTINUE;
@@ -716,10 +687,7 @@ class ClassHierarchyNodeIterable extends IterableBase<ClassElement> {
final EnumSet<Instantiation> mask;
final bool includeRoot;
- ClassHierarchyNodeIterable(
- this.root,
- this.mask,
- {this.includeRoot: true}) {
+ ClassHierarchyNodeIterable(this.root, this.mask, {this.includeRoot: true}) {
if (root == null) throw new StateError("No root for iterable.");
}
@@ -793,8 +761,8 @@ class ClassHierarchyNodeIterator implements Iterator<ClassElement> {
continue;
}
for (Link<ClassHierarchyNode> link = currentNode._directSubclasses;
- !link.isEmpty;
- link = link.tail) {
+ !link.isEmpty;
+ link = link.tail) {
stack = stack.prepend(link.head);
}
if (_isValid(currentNode)) {
@@ -816,9 +784,7 @@ class SubtypesIterable extends IterableBase<ClassElement> {
final EnumSet<Instantiation> mask;
final bool includeRoot;
- SubtypesIterable.SubtypesIterator(
- this.subtypeSet,
- this.mask,
+ SubtypesIterable.SubtypesIterator(this.subtypeSet, this.mask,
{this.includeRoot: true});
@override
@@ -849,9 +815,9 @@ class SubtypesIterator extends Iterator<ClassElement> {
bool moveNext() {
if (elements == null && hierarchyNodes == null) {
// Initial state. Iterate through subclasses.
- elements = iterable.subtypeSet.node.subclassesByMask(
- mask,
- strict: !includeRoot).iterator;
+ elements = iterable.subtypeSet.node
+ .subclassesByMask(mask, strict: !includeRoot)
+ .iterator;
}
if (elements != null && elements.moveNext()) {
return true;
@@ -876,8 +842,10 @@ class SubtypesIterator extends Iterator<ClassElement> {
enum IterationStep {
/// Iteration continues.
CONTINUE,
+
/// Iteration stops immediately.
STOP,
+
/// Iteration skips the subclasses of the current class.
SKIP_SUBCLASSES,
}
« no previous file with comments | « pkg/compiler/lib/src/universe/call_structure.dart ('k') | pkg/compiler/lib/src/universe/function_set.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698