Index: pkg/analyzer/lib/src/context/context.dart |
diff --git a/pkg/analyzer/lib/src/context/context.dart b/pkg/analyzer/lib/src/context/context.dart |
index b27fa19e584a61015a01e2805bb5705144285402..2ae9062889e1153e1cb498897b8ba929f8ff86e6 100644 |
--- a/pkg/analyzer/lib/src/context/context.dart |
+++ b/pkg/analyzer/lib/src/context/context.dart |
@@ -1517,7 +1517,9 @@ class AnalysisContextImpl implements InternalAnalysisContext { |
CacheEntry cacheEntry = _cache.get(target); |
List<PendingFuture> pendingFutures = _pendingFutureTargets[target]; |
for (int i = 0; i < pendingFutures.length;) { |
- if (pendingFutures[i].evaluate(cacheEntry)) { |
+ if (cacheEntry == null) { |
+ pendingFutures[i].forciblyComplete(); |
Paul Berry
2015/10/21 17:57:34
After this line, add:
pendingFutures.removeAt(i);
Brian Wilkerson
2015/10/21 18:05:01
Good catch! Done.
Leaf
2015/10/21 18:15:47
This is the same location that I was generally see
|
+ } else if (pendingFutures[i].evaluate(cacheEntry)) { |
pendingFutures.removeAt(i); |
} else { |
i++; |