Author: akirtzidis
Date: Mon Oct 31 02:20:19 2011
New Revision: 143342

URL: http://llvm.org/viewvc/llvm-project?rev=143342&view=rev
Log:
Move caching of code-completion results from ASTUnit::Reparse to 
ASTUnit::CodeComplete,
so that it will happen when we are doing code-completion, not reparsing.

Modified:
    cfe/trunk/lib/Frontend/ASTUnit.cpp

Modified: cfe/trunk/lib/Frontend/ASTUnit.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/ASTUnit.cpp?rev=143342&r1=143341&r2=143342&view=diff
==============================================================================
--- cfe/trunk/lib/Frontend/ASTUnit.cpp (original)
+++ cfe/trunk/lib/Frontend/ASTUnit.cpp Mon Oct 31 02:20:19 2011
@@ -1942,12 +1942,6 @@
   
   // Parse the sources
   bool Result = Parse(OverrideMainBuffer);
-  
-  // If we're caching global code-completion results, and the top-level 
-  // declarations have changed, clear out the code-completion cache.
-  if (!Result && ShouldCacheCodeCompletionResults &&
-      CurrentTopLevelHashValue != CompletionCacheTopLevelHashValue)
-    CacheCodeCompletionResults();
 
   // We now need to clear out the completion allocator for
   // clang_getCursorCompletionString; it'll be recreated if necessary.
@@ -2207,6 +2201,12 @@
              SmallVectorImpl<const llvm::MemoryBuffer *> &OwnedBuffers) {
   if (!Invocation)
     return;
+  
+  // If we're caching global code-completion results, and the top-level 
+  // declarations have changed, clear out the code-completion cache.
+  if (ShouldCacheCodeCompletionResults &&
+      CurrentTopLevelHashValue != CompletionCacheTopLevelHashValue)
+    CacheCodeCompletionResults();
 
   SimpleTimer CompletionTimer(WantTiming);
   CompletionTimer.setOutput("Code completion @ " + File + ":" +


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to