OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 analyzer.src.task.driver; | 5 library analyzer.src.task.driver; |
6 | 6 |
7 import 'dart:async'; | 7 import 'dart:async'; |
8 import 'dart:collection'; | 8 import 'dart:collection'; |
9 | 9 |
10 import 'package:analyzer/exception/exception.dart'; | 10 import 'package:analyzer/exception/exception.dart'; |
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
222 return new StreamController<ResultChangedEvent>.broadcast(sync: true); | 222 return new StreamController<ResultChangedEvent>.broadcast(sync: true); |
223 }).stream; | 223 }).stream; |
224 } | 224 } |
225 | 225 |
226 /** | 226 /** |
227 * Perform the next analysis task, and return `true` if there is more work to | 227 * Perform the next analysis task, and return `true` if there is more work to |
228 * be done in order to compute all of the required analysis information. | 228 * be done in order to compute all of the required analysis information. |
229 */ | 229 */ |
230 bool performAnalysisTask() { | 230 bool performAnalysisTask() { |
231 // | 231 // |
232 // TODO(brianwilkerson) This implementaiton does not allow us to prioritize | 232 // TODO(brianwilkerson) This implementation does not allow us to prioritize |
233 // work across contexts. What we need is a way for an external client to ask | 233 // work across contexts. What we need is a way for an external client to ask |
234 // to have all priority files analyzed for each context, then ask for normal | 234 // to have all priority files analyzed for each context, then ask for normal |
235 // files to be analyzed. There are a couple of ways to do this. | 235 // files to be analyzed. There are a couple of ways to do this. |
236 // | 236 // |
237 // First, we could add a "bool priorityOnly" parameter to this method and | 237 // First, we could add a "bool priorityOnly" parameter to this method and |
238 // return null here when it is true. | 238 // return null here when it is true. |
239 // | 239 // |
240 // Second, we could add a concept of a priority order and (externally) run | 240 // Second, we could add a concept of a priority order and (externally) run |
241 // through the priorities from highest to lowest. That would be a nice | 241 // through the priorities from highest to lowest. That would be a nice |
242 // generalization of the previous idea, but it isn't clear that we need the | 242 // generalization of the previous idea, but it isn't clear that we need the |
(...skipping 632 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
875 final TaskManager taskManager; | 875 final TaskManager taskManager; |
876 | 876 |
877 _WorkOrderDependencyWalker(this.taskManager, WorkItem startingNode) | 877 _WorkOrderDependencyWalker(this.taskManager, WorkItem startingNode) |
878 : super(startingNode); | 878 : super(startingNode); |
879 | 879 |
880 @override | 880 @override |
881 WorkItem getNextInput(WorkItem node, List<WorkItem> skipInputs) { | 881 WorkItem getNextInput(WorkItem node, List<WorkItem> skipInputs) { |
882 return node.gatherInputs(taskManager, skipInputs); | 882 return node.gatherInputs(taskManager, skipInputs); |
883 } | 883 } |
884 } | 884 } |
OLD | NEW |