| 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 |