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

Unified Diff: pkg/analyzer/lib/src/task/driver.dart

Issue 1417143003: Remove IMPORT_EXPORT_SOURCE_CLOSURE and IS_CLIENT results. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analyzer/lib/src/task/dart.dart ('k') | pkg/analyzer/lib/task/dart.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/lib/src/task/driver.dart
diff --git a/pkg/analyzer/lib/src/task/driver.dart b/pkg/analyzer/lib/src/task/driver.dart
index a4bb5abfe722e63f1cab2dd9904610c12e67370f..c156b2be84716bfccefa856164f34395a8bbd569 100644
--- a/pkg/analyzer/lib/src/task/driver.dart
+++ b/pkg/analyzer/lib/src/task/driver.dart
@@ -17,6 +17,9 @@ import 'package:analyzer/src/task/inputs.dart';
import 'package:analyzer/src/task/manager.dart';
import 'package:analyzer/task/model.dart';
+final PerformanceTag analysisDriverProcessOutputs =
+ new PerformanceTag('AnalysisDriver.processOutputs');
+
final PerformanceTag workOrderMoveNextPerformanceTag =
new PerformanceTag('WorkOrder.moveNext');
@@ -266,34 +269,36 @@ class AnalysisDriver {
AnalysisTask task = item.buildTask();
_onTaskStartedController.add(task);
task.perform();
- AnalysisTarget target = task.target;
- CacheEntry entry = context.getCacheEntry(target);
- if (task.caughtException == null) {
- List<TargetedResult> dependedOn = item.inputTargetedResults.toList();
- Map<ResultDescriptor, dynamic> outputs = task.outputs;
- for (ResultDescriptor result in task.descriptor.results) {
- // TODO(brianwilkerson) We could check here that a value was produced
- // and throw an exception if not (unless we want to allow null values).
- entry.setValue(result, outputs[result], dependedOn);
+ analysisDriverProcessOutputs.makeCurrentWhile(() {
+ AnalysisTarget target = task.target;
+ CacheEntry entry = context.getCacheEntry(target);
+ if (task.caughtException == null) {
+ List<TargetedResult> dependedOn = item.inputTargetedResults.toList();
+ Map<ResultDescriptor, dynamic> outputs = task.outputs;
+ for (ResultDescriptor result in task.descriptor.results) {
+ // TODO(brianwilkerson) We could check here that a value was produced
+ // and throw an exception if not (unless we want to allow null values).
+ entry.setValue(result, outputs[result], dependedOn);
// if (dependedOn.length > 250) {
// print('[${dependedOn.length}] $result or $target dependsOn: $dependedOn');
// }
- }
- outputs.forEach((ResultDescriptor descriptor, value) {
- StreamController<ComputedResult> controller =
- resultComputedControllers[descriptor];
- if (controller != null) {
- ComputedResult event =
- new ComputedResult(context, descriptor, target, value);
- controller.add(event);
}
- });
- for (WorkManager manager in workManagers) {
- manager.resultsComputed(target, outputs);
+ outputs.forEach((ResultDescriptor descriptor, value) {
+ StreamController<ComputedResult> controller =
+ resultComputedControllers[descriptor];
+ if (controller != null) {
+ ComputedResult event =
+ new ComputedResult(context, descriptor, target, value);
+ controller.add(event);
+ }
+ });
+ for (WorkManager manager in workManagers) {
+ manager.resultsComputed(target, outputs);
+ }
+ } else {
+ entry.setErrorState(task.caughtException, item.descriptor.results);
}
- } else {
- entry.setErrorState(task.caughtException, item.descriptor.results);
- }
+ });
_onTaskCompletedController.add(task);
return task;
}
@@ -740,8 +745,6 @@ class WorkOrder implements Iterator<WorkItem> {
*/
final _WorkOrderDependencyWalker _dependencyWalker;
- List<WorkItem> get workItems => _dependencyWalker._path;
-
/**
* The strongly connected component most recently returned by
* [_dependencyWalker], minus any [WorkItem]s that the iterator has already
@@ -767,6 +770,8 @@ class WorkOrder implements Iterator<WorkItem> {
}
}
+ List<WorkItem> get workItems => _dependencyWalker._path;
+
@override
bool moveNext() {
return workOrderMoveNextPerformanceTag.makeCurrentWhile(() {
« no previous file with comments | « pkg/analyzer/lib/src/task/dart.dart ('k') | pkg/analyzer/lib/task/dart.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698