Index: pkg/analysis_server/lib/src/operation/operation_analysis.dart |
diff --git a/pkg/analysis_server/lib/src/operation/operation_analysis.dart b/pkg/analysis_server/lib/src/operation/operation_analysis.dart |
index 918deb8f710dd72d834a28b258eacc6f6d3f7705..1e716834fd81de2113e1c1a77a98a0959ac51243 100644 |
--- a/pkg/analysis_server/lib/src/operation/operation_analysis.dart |
+++ b/pkg/analysis_server/lib/src/operation/operation_analysis.dart |
@@ -240,7 +240,14 @@ class PerformAnalysisOperation extends ServerOperation { |
// prepare results |
AnalysisResult result = context.performAnalysisTask(); |
List<ChangeNotice> notices = result.changeNotices; |
+ // nothing to analyze |
if (notices == null) { |
+ bool cacheInconsistencyFixed = context.validateCacheConsistency(); |
+ if (cacheInconsistencyFixed) { |
+ server.addOperation(new PerformAnalysisOperation(context, true)); |
+ return; |
+ } |
+ // analysis is done |
setCacheSize(context, IDLE_CACHE_SIZE); |
server.sendContextAnalysisDoneNotifications( |
context, AnalysisDoneReason.COMPLETE); |