Index: pkg/analyzer/lib/src/task/dart_work_manager.dart |
diff --git a/pkg/analyzer/lib/src/task/dart_work_manager.dart b/pkg/analyzer/lib/src/task/dart_work_manager.dart |
index 3d6dc3375e1ee50ab55b63c6de1c55f1212a3d63..6b2a96ecc7c2a8344667bf150b9b92ab4159e2e2 100644 |
--- a/pkg/analyzer/lib/src/task/dart_work_manager.dart |
+++ b/pkg/analyzer/lib/src/task/dart_work_manager.dart |
@@ -117,7 +117,10 @@ class DartWorkManager implements WorkManager { |
void applyChange(List<Source> addedSources, List<Source> changedSources, |
List<Source> removedSources) { |
addedSources = addedSources.where(_isDartSource).toList(); |
- changedSources = changedSources.where(_isDartSource).toList(); |
+ changedSources = changedSources |
+ .where(_isDartSource) |
+ .where((source) => _needsComputing(source, SOURCE_KIND)) |
+ .toList(); |
removedSources = removedSources.where(_isDartSource).toList(); |
// unknown queue |
unknownSourceQueue.addAll(addedSources); |