Chromium Code Reviews| 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++; |