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

Side by Side Diff: packages/barback/lib/src/graph/node_status.dart

Issue 3014633002: Roll to pickup pool changes (Closed)
Patch Set: Created 3 years, 2 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library barback.graph.node_status; 5 library barback.graph.node_status;
6 6
7 /// The status of a node in barback's package graph. 7 /// The status of a node in barback's package graph.
8 /// 8 ///
9 /// A node has three possible statuses: [IDLE], [MATERIALIZING], and [RUNNING]. 9 /// A node has three possible statuses: [IDLE], [MATERIALIZING], and [RUNNING].
10 /// These are ordered from least dirty to most dirty; the [dirtier] and 10 /// These are ordered from least dirty to most dirty; the [dirtier] and
(...skipping 19 matching lines...) Expand all
30 /// 30 ///
31 /// Declaring transformers are only considered dirty until they're finished 31 /// Declaring transformers are only considered dirty until they're finished
32 /// declaring their outputs; past that point, they're always either 32 /// declaring their outputs; past that point, they're always either
33 /// [MATERIALIZING] or [IDLE]. Non-declaring transformers, by contrast, are 33 /// [MATERIALIZING] or [IDLE]. Non-declaring transformers, by contrast, are
34 /// always either [RUNNING] or [IDLE]. 34 /// always either [RUNNING] or [IDLE].
35 static const RUNNING = const NodeStatus("running"); 35 static const RUNNING = const NodeStatus("running");
36 36
37 final String _name; 37 final String _name;
38 38
39 /// Returns the dirtiest status in [statuses]. 39 /// Returns the dirtiest status in [statuses].
40 static NodeStatus dirtiest(Iterable<NodeStatus> statuses) => 40 static NodeStatus dirtiest(Iterable<NodeStatus> statuses) => statuses.fold(
41 statuses.fold(NodeStatus.IDLE, 41 NodeStatus.IDLE, (status1, status2) => status1.dirtier(status2));
42 (status1, status2) => status1.dirtier(status2));
43 42
44 const NodeStatus(this._name); 43 const NodeStatus(this._name);
45 44
46 String toString() => _name; 45 String toString() => _name;
47 46
48 /// Returns [this] or [other], whichever is dirtier. 47 /// Returns [this] or [other], whichever is dirtier.
49 NodeStatus dirtier(NodeStatus other) { 48 NodeStatus dirtier(NodeStatus other) {
50 if (this == RUNNING || other == RUNNING) return RUNNING; 49 if (this == RUNNING || other == RUNNING) return RUNNING;
51 if (this == MATERIALIZING || other == MATERIALIZING) return MATERIALIZING; 50 if (this == MATERIALIZING || other == MATERIALIZING) return MATERIALIZING;
52 return IDLE; 51 return IDLE;
53 } 52 }
54 } 53 }
OLDNEW
« no previous file with comments | « packages/barback/lib/src/graph/asset_cascade.dart ('k') | packages/barback/lib/src/graph/package_graph.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698