| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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.phase_forwarder; | 5 library barback.graph.phase_forwarder; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 | 8 |
| 9 import 'asset_node.dart'; | 9 import '../asset/asset_node.dart'; |
| 10 import 'asset_node_set.dart'; | 10 import '../asset/asset_node_set.dart'; |
| 11 | 11 |
| 12 /// A class that takes care of forwarding assets within a phase. | 12 /// A class that takes care of forwarding assets within a phase. |
| 13 /// | 13 /// |
| 14 /// Each phase contains one or more channels that process its input assets. Each | 14 /// Each phase contains one or more channels that process its input assets. Each |
| 15 /// non-grouped transformer for that phase is a channel, each [TransformerGroup] | 15 /// non-grouped transformer for that phase is a channel, each [TransformerGroup] |
| 16 /// in that phase is another, and the source node is the final channel. For each | 16 /// in that phase is another, and the source node is the final channel. For each |
| 17 /// input asset, each channel individually decides whether to forward that asset | 17 /// input asset, each channel individually decides whether to forward that asset |
| 18 /// based on whether that channel uses it. If a channel does decide to forward | 18 /// based on whether that channel uses it. If a channel does decide to forward |
| 19 /// an asset, we call that forwarded asset an "intermediate forwarded asset" to | 19 /// an asset, we call that forwarded asset an "intermediate forwarded asset" to |
| 20 /// distinguish it from the output of a [PhaseForwarder]. | 20 /// distinguish it from the output of a [PhaseForwarder]. |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 125 | 125 |
| 126 // If we're already forwarding a final asset, set it dirty iff any of the | 126 // If we're already forwarding a final asset, set it dirty iff any of the |
| 127 // intermediate assets are dirty. | 127 // intermediate assets are dirty. |
| 128 if (_intermediateAssets.any((asset) => asset.state.isDirty)) { | 128 if (_intermediateAssets.any((asset) => asset.state.isDirty)) { |
| 129 if (!_outputController.node.state.isDirty) _outputController.setDirty(); | 129 if (!_outputController.node.state.isDirty) _outputController.setDirty(); |
| 130 } else if (!_outputController.node.state.isAvailable) { | 130 } else if (!_outputController.node.state.isAvailable) { |
| 131 _outputController.setAvailable(_intermediateAssets.first.asset); | 131 _outputController.setAvailable(_intermediateAssets.first.asset); |
| 132 } | 132 } |
| 133 } | 133 } |
| 134 } | 134 } |
| OLD | NEW |