summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Grosser <grosser@fim.uni-passau.de>2013-01-19 11:03:40 +0000
committerTobias Grosser <grosser@fim.uni-passau.de>2013-01-19 11:03:40 +0000
commit055f4b4d00047cfd2a2fb360e8ea7874002de026 (patch)
treeaceaf8a8f4e4b04bac414d62e655149b8289e569
parentb5f3bd956c74243bed74b198ccd7481545da1859 (diff)
downloadbcm5719-llvm-055f4b4d00047cfd2a2fb360e8ea7874002de026.tar.gz
bcm5719-llvm-055f4b4d00047cfd2a2fb360e8ea7874002de026.zip
[cindex.py]: Speed up lookup of the completion kind
We can directly the number of the kind instead of going through the completionChunkKindMap. Formatting time changes from 0.84 to 0.72 seconds. llvm-svn: 172899
-rw-r--r--clang/bindings/python/clang/cindex.py18
1 files changed, 11 insertions, 7 deletions
diff --git a/clang/bindings/python/clang/cindex.py b/clang/bindings/python/clang/cindex.py
index 581f5e6fef8..474e10b4346 100644
--- a/clang/bindings/python/clang/cindex.py
+++ b/clang/bindings/python/clang/cindex.py
@@ -1668,9 +1668,13 @@ class CompletionChunk:
return conf.lib.clang_getCompletionChunkText(self.cs, self.key).spelling
@CachedProperty
- def kind(self):
+ def __kindNumber(self):
res = conf.lib.clang_getCompletionChunkKind(self.cs, self.key)
- return completionChunkKindMap[res]
+ return res
+
+ @CachedProperty
+ def kind(self):
+ return completionChunkKindMap[self.__kindNumber]
@CachedProperty
def string(self):
@@ -1683,19 +1687,19 @@ class CompletionChunk:
None
def isKindOptional(self):
- return self.kind == completionChunkKindMap[0]
+ return self.__kindNumber == 0
def isKindTypedText(self):
- return self.kind == completionChunkKindMap[1]
+ return self.__kindNumber == 1
def isKindPlaceHolder(self):
- return self.kind == completionChunkKindMap[3]
+ return self.__kindNumber == 3
def isKindInformative(self):
- return self.kind == completionChunkKindMap[4]
+ return self.__kindNumber == 4
def isKindResultType(self):
- return self.kind == completionChunkKindMap[15]
+ return self.__kindNumber == 15
completionChunkKindMap = {
0: CompletionChunk.Kind("Optional"),
OpenPOWER on IntegriCloud