Author: grosser
Date: Mon Aug 20 05:38:16 2012
New Revision: 162200

URL: http://llvm.org/viewvc/llvm-project?rev=162200&view=rev
Log:
[cindex.py] Cache the number of chunks in CompletionString

Without this patch, lib.clang_getNumCompletionChunks is called at
each _iteration_ of a 'for chunk in CompletionString' loop. Now we
call it just once.

Modified:
    cfe/trunk/bindings/python/clang/cindex.py

Modified: cfe/trunk/bindings/python/clang/cindex.py
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/bindings/python/clang/cindex.py?rev=162200&r1=162199&r2=162200&view=diff
==============================================================================
--- cfe/trunk/bindings/python/clang/cindex.py (original)
+++ cfe/trunk/bindings/python/clang/cindex.py Mon Aug 20 05:38:16 2012
@@ -1725,10 +1725,14 @@
             return "<Availability: %s>" % self
 
     def __len__(self):
+        self.num_chunks
+
+    @CachedProperty
+    def num_chunks(self):
         return lib.clang_getNumCompletionChunks(self.obj)
 
     def __getitem__(self, key):
-        if len(self) <= key:
+        if self.num_chunks <= key:
             raise IndexError
         return CompletionChunk(self.obj, key)
 


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

Reply via email to